CMPS 242 - Object Oriented Programming

Object Oriented Programming -  CMPS 242

Class Meeting: Wednesday 10:00 - 12:00

Catalog Description

Object oriented concepts and techniques for analysis, design, and implementation. Topics include methods and parameters passing, recursive methods, objects and classes, UML representation of classes, abstraction, encapsulation and information hiding, message passing, methods overloading and overriding, classes relationships (aggregation, composition), inheritance, polymorphism, abstract classes, interfaces, Exception handling, Files.

Textbook

An Introduction to Object-Oriented Programming With JAVA: Fifth Edition McGraw-Hill. C. Thomas WU.

Course Objectives


Students who successfully pass this course will be able to

    1. Justify the philosophy of object-oriented design and the concepts of encapsulation, abstraction, inheritance, and polymorphism;

    2. Design, implement, test, and debug programs in an object-oriented programming language, Java;

    3. Describe how the class mechanism supports encapsulation and information hiding;

    4. Design, implement, and test the implementation of "is-a" relationships among objects using a class hierarchy and inheritance;

    5. Compare and contrast the notions of overloading and overriding methods in an objectoriented language;

    6. Explain the relationship between the static structure of the class and the dynamic structure of the instances of the class;

    7. Design and implement programs using input/output files; exception handling

Course Outcomes

    1. Students will be able to understand and implement methods in classes.

    2. Student will be able to analyze a problem, and identify and define the computing requirements appropriate to its solution.
    
    3. Student will be able to learn the basic concepts of designing and implementing programs using javaprogramming language.

    4. Student will be able to understand the different relationship between classes: aggregation, association, composition.

    5. Student will be able to learn some basic concepts of object oriented programming such as late binding, inheritance, polymorphism, abstract classes and interfaces and using these concepts to design and implement object oriented applications.

    6. Student will be able to implement object oriented programs using different tools and techniques such as Predefined methods, IDE (eclipse or NetBeans) 

Download course syllabus as PDF