EE3131 Object-Oriented Programming Methodology

Course Aims & Objectives: 

The purposes of this course are:

- to introduce object-oriented concepts;

- to explain principles of object-oriented software design;

- to introduce basic UML design diagrams;

- to provide practical skills in object-oriented programming with Java and C++.

Units: 3

Level: B3

Medium of Instruction: English

Syllabus:

Object-Oriented Concepts

Explain object-oriented concepts, such as objects, classes, inheritance, polymorphism, encapsulation, abstraction, etc. The object-oriented concepts will be illustrated using object-oriented programming languages, such as C++ and Java.

Object-Oriented Methodology

Basic introduction of object-oriented software lifecycle and popular object-oriented methodologies, such as RUP, XP, etc.

Object-Oriented Modelling with UML

Introduce students to designing object-oriented software using UML diagrams, such as Class Diagrams, State Diagrams, Collaboration/Sequence Diagrams, Activity Diagrams, etc.

Object-Oriented Programming

Cover details of object-oriented implementation using Java and C++. Includes defining classes and interfaces, inheritance, constructors, instances, data types, methods, data structures, collections, templates, generic algorithms, using polymorphism, recursion, etc.

Teaching pattern:

Duration of course: 1 semester

Suggested lecture/tutorial/laboratory mix: Lecture Hour:             26                                                             Tutorial Hour:             13

                                                             Laboratory Hour:        0

Assessment pattern:Examination duration: 2  hours, at the end of the semester Percentage of coursework, examination, etc.: 30%   CW;    70%     Exam 

For a student to pass the course, at least 30% of the maximum mark for the examination must be obtained.

Pre-requisites:  CS2362 or CS2363

Pre-cursor: Nil

Equivalent Courses: Nil

Equivalent to the Old Course Code and Title: CS3363 Object-Oriented Programming Methodology

Booklist:

Essential Reading

Fowler, Martin and K. Scott, UML Distilled, 2nd Edition, Addison Wesley, 1999. 

Essential C++, by Stanley B. Lippman, Addison-Wesley, 1999. 

David Flanagan, Java in a Nutshell, 4th Edition, O'Reilly & Associates, 2002.

Supplementary Reading

C++ Primer, 3rd ed, by Stanley B. Lippman, Josee Lajoie, Addison-Wesley, 1998. 

Harvey M. Deitel, Paul J. Deitel, Java How to Program, Prentice Hall, 2001. 

Harvey M. Deitel, Paul J. Deitel, C++ How to Program, Prentice Hall, 2000.

Reference

The C++ Programming Language, 3rd ed, by Bjarne Stroustrup, Addison-Wesley, 1997. 

The Annotated C++ Reference Manual, by Margaret A. Ellis, Bjarne Stroustrup, Addison-Wesley, 1990. 

Grady Booch, Ivar Jacobson, James Rumbaugh, Jim Rumbaugh, The Unified Modeling Language User Guide, Addison-Wesley, 1998. 

James Rumbaugh, Ivar Jacobson, Grady Booch, The Unified Modeling Language Reference Manual, Addison-Wesley, 1998.

 

Related Links
Department of Electronic Engineering