Maricopa Community Colleges  CIS150AB   20036-99999 
Official Course Description: MCCCD Approval: 04/22/03
CIS150AB 20036-99999 L+L 3 Credit(s) 4 Period(s)
Object-Oriented Programming Fundamentals
Structured and Object-Oriented design and logic tools. Use of computer problems to demonstrate and teach concepts using an appropriate programming language. Prerequisites: CIS105 or permission of instructor.
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
CIS150AB   20036-99999 Object-Oriented Programming Fundamentals
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)
Go to Description    Go to top of Competencies
 
MCCCD Official Course Outline:
 
CIS150AB   20036-99999 Object-Oriented Programming Fundamentals
    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. Compliers, 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
              Go to Description    Go to top of Competencies    Go to top of Outline