MC302: Object Oriented Programming

Since 2010.

Prerequisite: MC202 


Basic and advanced concepts on object-oriented programming. Concepts applications using an object-oriented language.


1.     UML - Unified Modeling Language

2.     Data abstraction, objetcs, classes and types

3.     States and messaging

4.     Simple and Multiple Inheritance

5.     Generalization/specialization hierarchies

6.     Aggregation/decomposition hierarchies

7.     Polymorphism and Dynamic Coupling

8.     Abstract classes

9.     Interfaces

10.  Inner classes

11.  Modularization

12.  Visibilities

13.  Exception Handling

14.  Metaclasses

15.  Delegations

16.  Collections

17.  Threads

18.  Object Persistence

19.  Distributed Persistence

20.  Design Patterns

Recommended Literature:

      I.        The Java Programming Language, Ken Arnold, James Gosling, & David Holmes; Prentice Hall, 4th edition (2005)

     II.        Java in a Nutshell, David Flanagan; O'Reilly & Associates, 5th edition (2005)

    III.        Thinking in Java, Bruce Eckel; Prentice Hall, 4th edition (2006)

   IV.        Head First Java, Kathy Sierra & Bert Bates; O'Reilly Media, 2nd edition (2005)

    V.        Java How to Program, Harvey M. Deitel & Paul J. Deitel; Prentice Hall, 7th edition (2007)

   VI.        Object-Oriented Programming with Java: An Introduction, David J. Barnes; Prentice Hall (2000)