Maricopa Community Colleges  CSC100AB   19996-20015 
Official Course Description: MCCCD Approval: 06/22/99
CSC100AB 19996-20015 L+L 4 Credit(s) 4 Period(s)
Introduction to Computer Science for Non-Computer Majors
Concepts of problem solving, structured programming in C++, fundamental algorithms and techniques, and computer system concepts. Social and ethical responsibilities. Intended for majors other than Computer Science. Prerequisites: MAT120, or MAT121, or MAT122.
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
CSC100AB   19996-20015 Introduction to Computer Science for Non-Computer Majors
1. Describe computer hardware and an operating system. (I)
2. Use a compiler and associated utility programs to create and run programs in C++. (I, II)
3. Develop and implement algorithms using top-down design with stepwise refinement. (I, II)
4. Develop and implement well-structured programs. (I, II)
5. Develop and implement C++ programs using control structures, functions, various data types, arrays, and structures. (II)
6. Develop C++ programs using classes.(II)
7. Develop and implement C++ programs using dynamic memory allocation and linked lists.(II)
8. Present arguments for and against an ethical issue related to computing. (III)
Go to Description    Go to top of Competencies
 
MCCCD Official Course Outline:
 
CSC100AB   19996-20015 Introduction to Computer Science for Non-Computer Majors
    I. Problem solving
        A. Problem-solving processes
        B. Requirements
        C. Specifications
        D. Algorithms
        E. Top-down design
        F. Software engineering
      II. C++ programming
          A. Overall program structure and creation
            1. Required program syntax
            2. Program entry and execution
            3. Use of computer hardware and operating system
          B. Branching control structures
            1. If-then-else
            2. Switch
          C. Loops
            1. While
            2. Do while
            3. For
          D. Functions
            1. Void functions
            2. Value-returning functions
          E. Data types
            1. Simple data types and their limits
            2. Enumerated data types
            3. Arrays: One-dimensional/two dimensional
            4. Structs: Dynamic memory allocation/linked lists
          F. Files
            1. Reading
            2. Writing
            3. Appending
          G. Introduction to classes
            1. Definition and syntax
            2. Objects
            3. Inheritance
            4. Encapsulation
        III. Ethics and responsibilities in computing
            A. To employers
            B. To peers
            C. To clients
            D. To the public
        Go to Description    Go to top of Competencies    Go to top of Outline