Maricopa Community Colleges  ELT285   19932-19975 
Official Course Description: MCCCD Approval: 12/15/92
ELT285 19932-19975 LEC
LAB
4 Credit(s)
0 Credit(s)
3 Period(s)
3 Period(s)
Object-Oriented Programming Concepts
Object-oriented programming (OOP) analysis and design concepts using C++ or Pascal, or other appropriate language; programming language constructs including loops and decisions, structures, functions, objects and classes, arrays and pointers, overloading functions and operators, derived classes, memory organization, and inheritance and polymorphism. Prerequisites: ELT281, or ECE105, or departmental approval.
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
ELT285   19932-19975 Object-Oriented Programming Concepts
1. Define object-oriented programming (OOP) and explain its philosophy. (I)
2. Differentiate between procedural-oriented program organization and object-oriented program organization. (I)
3. Identify and explain characteristics of object-oriented program design. (I)
4. Develop programs, using iteration and decision-making constructs alongwith logical operators, to process various numeric data types receivedfrom an input device and which provide reports. (II, III)
5. Use OOP features to design and write programs that use structures to store information. (IV)
6. Use OOP features to design and write functions, including overloaded functions, which take arguments from a requesting function and return arguments to a requesting function. (V)
7. Design and write an object-oriented program that create classes and objects, and which use the classes and objects to process data. (VI)
8. Design and write an object-oriented program that uses constructors and destructors to streamline variable initialization and memory control. (VI)
9. Use OOP features to design and write programs using arrays and pointers. (VII)
10. Use OOP features to initialize, allocate, deallocate, and control program memory areas. (VII)
11. Apply the concept of operator overloading to handle defined objects. (VIII)
12. Define function overloading and use the feature in an object-oriented program. (VIII)
13. Use operator overloading on such operators as unary and bit operators in an object-oriented program. (VIII)
14. Define and apply inheritance on pre-existing code and classes so that their functions and/or constructors are inherited by another derived class/constructor, including multiple classes. (IX)
15. Apply OOP features to hide or protect certain members in a class from the rest of a program. (IX)
16. Use the inheritance feature to enhance an existing class by incorporating it into a new class. (IX)
Go to Description    Go to top of Competencies
 
MCCCD Official Course Outline:
 
ELT285   19932-19975 Object-Oriented Programming Concepts
    I. Object-oriented programming (OOP) concepts
        A. Philosophy of object-oriented programming
        B. Need for OOP
          1. Procedural languages
          2. OOP approach
        C. OOP characteristics
          1. Objects
          2. Classes
          3. Inheritance
          4. Reusability
          5. Polymorphism and overloading
          6. Encapsulation
          7. Data hiding
      II. Programming language basics
          A. Programming language construction
            1. Statements
            2. Comments
            3. Compiler/preprocessor directives
            4. Macros
            5. Functions
          B. Variables
            1. Declarations and definitions
            2. Variable names
            3. Integer variables
            4. Character variables
            5. Floating point variables
            6. Manipulators
            7. Unsigned data types
            8. Type conversion
          C. Arithmetic operators
            1. Remainder
            2. Assignment
            3. Increment and decrement
          D. Library functions
            1. Header files
            2. Library files
          E. Programming examples
        III. Loops and decisions
            A. Relational operators
            B. Iteration
              1. For loop
              2. While loop
              3. Do-While loop
              4. When to use which loop
            C. Decisions
              1. If statement
              2. If...else
              3. Else...if
              4. Switch
            D. Logical operators
              1. And
              2. Or
              3. Not
            E. Programming examples
          IV. Structures
              A. Structure specifiers and definitions
                1. Specifying a structure
                2. Defining a structure variable
                3. Structures within structures
                4. Accessing structure members
                5. Structures and classes
              B. Enumerated data types
              C. Programming examples
            V. Functions
                A. Function definitions and declarations
                B. Arguments and return values
                C. Reference arguments
                D. Overloaded functions
                E. Default arguments
                F. Variables and storage classes
                G. Programming examples
              VI. Objects and classes
                  A. Specifying objects and classes
                  B. Member functions and data
                  C. Constructors and destructors
                  D. Objects as function arguments
                  E. Returning objects from functions
                  F. Classes, objects, and memory
                  G. When to use objects
                  H. Programming examples
                VII. Arrays and pointers
                    A. Array fundamentals
                      1. Definition
                      2. Accessing array elements
                      3. Arrays as class members
                      4. Arrays of objects
                      5. Strings
                      6. Programming examples
                    B. Pointers
                      1. Definition
                      2. Address constants and variables
                      3. Pointers and arrays
                      4. Pointers and functions
                      5. Pointers and strings
                      6. Memory management
                      7. Pointers to objects
                      8. Pointers to pointers
                      9. Linked lists
                      10. Programming examples
                  VIII. Operator overloading
                      A. Overloading definition
                      B. Overloading unary operators
                      C. Overloading binary operators
                      D. Data conversion
                      E. Pitfalls of operator overloading and conversion
                      F. Program examples
                    IX. Inheritance
                        A. Derived class and base class
                        B. Derived class constructors
                        C. Overriding member functions
                        D. Class hierarchies
                        E. Public and private inheritance
                        F. Multiple inheritance
                        G. Inheritance and program development
                        H. Programming examples
                    Go to Description    Go to top of Competencies    Go to top of Outline