powered by
Center for Curriculum and Transfer Articulation
Introduction to Computer Science (C++)
Course: CSC100

First Term: 2022 Fall
Lec + Lab   3.0 Credit(s)   3.0 Period(s)   3.0 Load  
Subject Type: Academic
Load Formula: T - Lab Load


Description: 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.



MCCCD Official Course Competencies
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. Explain C++ classes and their use. (II)
7. Present arguments for and against an ethical issue related to computing. (III)
8. Demonstrate a proficiency in using a computer system to enter, test, modify, and execute coded algorithms. (IV)
9. Describe the social and ethical responsibilities of the computing professional and the impact of computing on society. (V)
MCCCD Official Course Competencies must be coordinated with the content outline so that each major point in the outline serves one or more competencies. MCCCD faculty retains authority in determining the pedagogical approach, methodology, content sequencing, and assessment metrics for student work. Please see individual course syllabi for additional information, including specific course requirements.
 
MCCCD Official Course Outline
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
         a. One-dimensional
         b. Multi-dimensional
      4. Structs
   F. Files
   G. Introduction to classes
      1. Definition and syntax
      2. Objects
      3. Inheritance
      4. Encapsulation
   H. User-defined data types
   I. Structured data types
      1. Arrays of multi-dimensions
      2. Records
      3. Sets
      4. Files
   J. Pointer types
   K. Functions
   L. Procedures
   M. Parameters
   N. Recursion
III. Ethics and responsibilities in computing
   A. To employers
   B. To peers
   C. To clients
   D. To the public
IV. Computer system
   A. Timeshared computer
      1. Context editor commands for program entry and modification
      2. System commands for program execution
      3. System commands for management of programs in the library
   B. Demonstration of a microcomputer-based Pascal system
V. Social and ethical responsibilities
   A. Intellectual property
      1. Definition
      2. Copyright and patent protection
   B. Software protection and security
      1. Software ownership and license
      2. Software copy protection and encryption
   C. System security
      1. Access, security passwords
      2. Physical security
      3. Virus detection and protection
 
MCCCD Governing Board Approval Date: October 26, 2021

All information published is subject to change without notice. Every effort has been made to ensure the accuracy of information presented, but based on the dynamic nature of the curricular process, course and program information is subject to change in order to reflect the most current information available.