ITH 303
Object-Oriented Design and Programming
3 Unit(s) (LH 30)
Course Description
At the end of the course, students should be able to:
1. explain the steps in creating an executable program for a computer, including the
intermediate representations and their purpose;
2. manipulate binary patterns and understand the use of binary to represent numbers;
3. apply good programming style and understand the impact of style on developing
and maintaining programs;
4. effectively use a version control system and the Linux command line tools for
incremental development;
5. explain the benefits of object-oriented design and understand when it is an
appropriate methodology to use;
6. design object -oriented solutions for small systems involving multiple objects;
7. implement, test and debug solutions in C++;
8. identify the relative merits of different algorithmic designs;
9. independently find and interpret discipline related documentation; and
10. explain the relevance of ethics in the context of Software Engineering.
Course Outline
Basic OOP Concepts: Classes, Objects, inheritance, polymorphism, Data Abstraction, Tools for
developing, Compiling, interpreting and debugging, Java Programs, Java Syntax and data objects,
operators. Central flow constructs, objects and classes programming, Arrays, methods.
Exceptions, Applets and the Abstract, OLE, Persistence, Window Toolkit, Laboratory exercises in
an OOP Language.