powered by
Center for Curriculum and Transfer Articulation
Object-Oriented Programming Fundamentals
Course: CIS150AB

First Term: 2020 Fall
Lec + Lab   3.0 Credit(s)   4.0 Period(s)   4.0 Load  
Subject Type: Occupational
Load Formula: T - Lab Load

Description: Structured and Object-Oriented design and logic tools. Use of computer problems to demonstrate and teach concepts using an appropriate programming language.

MCCCD Official Course Competencies
1. Identify and explain computer components and operations. (I)
2. Explain the software development life cycle (SDLC). (I)
3. Use the American Standard Code for Information Interchange (ASCII) and Unicode Consortium code. (I)
4. Perform computations using decimal, binary, octal, and hexadecimal number systems. (I)
5. Design console and graphical user interfaces and reports. (I)
6. Differentiate between procedural, object-oriented, and event-driven programming. (I)
7. Design programs using structured and object-oriented design tools. (II)
8. Use Object-Oriented Programming (OOP) features to design and write programs using arrays. (III)
9. Design and write programs using the various control structures. (IV)
10. Explain structured programming techniques, and describe how they are embodied in object-oriented programming techniques. (I, V, VI)
11. Use OOP features to design and write classes that have public and private properties and behaviors including constructors and destructors. (VI)
12. Use OOP features to design and write programs that create and manipulate objects. (VI)
13. Explain method overloading and overriding. (VI)
14. Explain the principles of single and multiple inheritances in object oriented programming. (VI)
MCCCD Official Course Outline
I. General Programming Concepts
   A. Computer components and operations
   B. Character codes
      1. ASCII (American Standard Code for Information Interchange)
      2. Unicode
   C. Number Systems
      1. Binary
      2. Octal
      3. Decimal
      4. Hexadecimal
   D. Software development life cycle (SDLC)
      1. Problem definition
      2. Algorithm design
      3. Development
      4. Testing
      5. Implementation
      6. Maintenance
   E. Programming variations
      1. Procedural
      2. Object-oriented
      3. Event-driven
II. Program Design and Development
   A. Design console and graphical user interfaces
   B. Design record and report layouts
   C. Design tools
      1. Flowcharts
      2. Structure charts
      3. Input Processing Output (IPO) charts
      4. Decision tables
      5. Unified Modeling Language (UML)
   D. Documentation
   E. Pseudocode
   F. Compilers, interpreters, and bytecode
III. Data Manipulations
   A. Data types
   B. Variables
   C. Constants
   D. Arrays
      1. Declaration
      2. Dimensions
      3. Parallel
      4. Sort
      5. Search
      6. Merge
   E. Operators, operands and expressions
   F. External data sources
IV. Control Structures
   A. Sequence control
   B. Selection control (branching)
   C. Repetition control (loops)
   D. Case control
V. Structured Programming
   A. Modules (subroutines, functions, methods)
   B. Parameters and returned values
   C. Variable scope
VI. Object-Oriented Programming (OOP)
   A. Classes
      1. Properties (attributes)
      2. Behaviors (methods)
      3. Public and private
      4. Scope
      5. Constructors and destructors
   B. Objects
   C. Encapsulation
   D. Polymorphism
   E. Inheritance
   F. Abstraction
MCCCD Governing Board Approval Date: February 25, 2020

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.