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

First Term: 2018 Fall
Lec + Lab   3.0 Credit(s)   4.0 Period(s)   4.0 Load  
Course Type: Occupational
Load Formula: T


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. Design programs using structured and object-oriented design tools. (II)
7. Design and write programs using the various control structures. (IV)
8. Explain structured programming techniques, and describe how they are embodied in object-oriented programming techniques. (I, V, VI)
9. Differentiate between procedural, object-oriented, and event- driven programming. (I)
10. Use OOP features to design and write programs using arrays. (III)
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: 4/22/2003

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.