Maricopa Community Colleges  ECE141   19956-20086 
Official Course Description: MCCCD Approval: 07/22/08
ECE141 19956-20086 L+L 4 Credit(s) 6 Period(s)
Object-Oriented Programming
Introduction to object-oriented programming and its application to solving engineering and scientific problems. Software design using object-oriented languages based on the C programming language.
Prerequisites: Successful completion of 3 credit course in any standard programming language or permission of Instructor.
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
ECE141   19956-20086 Object-Oriented Programming
1. Use a text editor and compiler to develop a computer program. (I)
2. Use a symbolic debugger to correct a computer program. (I)
3. Explain the theory and techniques of structured programming, and describe how they are embodied in object-oriented programming. (II)
4. Explain the difference between pure object-oriented languages and pseudo-object-oriented languages. (III)
5. Use standard C data types from the C programming language to develop a computer program. (IV)
6. Use functions from the C programming language to develop a computer program. (IV)
7. Use expressions, control flow statements, and conditional statements from the C programming language to develop a computer program. (IV)
8. Use the standard library functions of the C programming language to develop a computer program. (IV)
9. Explain and apply the principles of classes in the development of an object-oriented computer program. (V, VII)
10. Explain and apply the principles of inheritance in the development of an object-oriented computer program. (VIII)
11. Explain the design techniques used in the development of an object-oriented computer program. (IX)
12. Explain and apply the principles of dynamic binding in the development of an object-oriented computer program. (V, X)
13. Explain and apply the principles of user interface design in the development of an object-oriented computer program. (XI)
14. Working with a collaborative team, design, develop, and test a complex software system that incorporates the principles and practices of object-oriented programming. (XII)
Go to Description    Go to top of Competencies
 
MCCCD Official Course Outline:
 
ECE141   19956-20086 Object-Oriented Programming
    I. Program Development Environment
        A. Introduction to operating system
        B. Use of the text editor
        C. Use of the compiler
        D. Use of the symbolic debugger
        E. Programming problems
      II. Introduction to Object-Oriented Programming
          A. Comparison with procedural programming
          B. Structured programming concepts
          C. Relationship of structured programming and object-oriented programming
        III. Evolution of Object-Oriented Languages
            A. Procedural languages
            B. Pure object-oriented languages
            C. Pseudo-object-oriented languages
          IV. Basics of the C Programming Language
              A. Program structure
              B. Data types
              C. Control flow statements
              D. Conditional statements
              E. Functions
              F. Standard library functions
              G. Example programs
              H. Programming problems
            V. Principles of Object-Oriented Programming
                A. Data abstractions and encapsulation
                B. Classes and objects
                C. Messages and polymorphism
                D. Dynamic binding
                E. Example programs
              VI. Use of Existing Classes
                  A. Class specification sheets
                  B. Instances of a class: objects
                  C. Example programs
                  D. Programming problems
                VII. Development of Class Definitions
                    A. Class definition syntax
                    B. Instance variables
                    C. Methods and messaging
                    D. Specification sheets
                    E. Example programs
                    F. Programming problems
                  VIII. Class Inheritance
                      A. Single inheritance
                      B. Multiple inheritance
                      C. Abstract super classes
                      D. Class inheritance hierarchies
                      E. Example programs
                      F. Programming problems
                    IX. Object-Oriented Design Techniques
                        A. Design strategies and documentation
                        B. Taking advantage of inheritance
                        C. Example programs
                        D. Programming problems
                      X. Use of Dynamic Binding
                          A. Static binding
                          B. Partial dynamic binding
                          C. Complete dynamic binding
                          D. Example programs
                          E. Programming problems
                        XI. Development of User Interface
                            A. Event handling
                            B. Windowing systems
                            C. User interface development systems
                            D. Example programs
                            E. Programming problems
                          XII. System Design
                              A. Collaboration
                              B. Object-oriented design of system
                              C. Creation of system
                              D. Testing of system
                          Go to Description    Go to top of Competencies    Go to top of Outline