IS442
Download as PDF
Object Oriented Programming
Course (UG/PG)
Offering Unit/Department
Course Description
This is a compulsory course for IS (Software Development Track) for 2017 intake and onwards.
Upon completion of the course, students will be able to:
1. Practice problem solving skills
2. Read UML sequence and class diagrams
3. Apply basic concepts of Object Orientation to a given scenario/context
4. Apply good programming practices and design concepts to develop software
5. Appreciate the role of algorithms and in problem solving
Course Learning Outcomes
1. Demonstrate understanding of abstraction:
a. Contrast concepts of a class and an object.
b. Write class definitions that represent abstract data types.
c. Write class definitions that properly handle a life-cycle of its instances: objects.
d. Write programs that safely utilizes data members (fields, attributes) and member functions (methods) associated with individual objects, or a class itself (static members).
2. Demonstrate understanding of encapsulation:
a. Write programs that properly use encapsulation to control visibility of public, private and protected members by applying correct access modifiers.
b. Write programs with packages that organize source code definitions.
3. Demonstrate understanding of inheritance:
a. Explain the benefits of inheritance.
b. Write a class which extends a parent class.
c. Contrast inheritance of implementation (extends) and inheritance of interface (implements).
d. Write programs that utilize inheritance to eliminate repetition by reusing member definitions from an existing data type to define new data types.
4. Demonstrate understanding of polymorphism:
a. Write a child class that overloads methods from a parent class (static polymorphism).
b. Write a child class that overrides methods from a parent class (dynamic polymorphism).
c. Write programs that utilize polymorphism to allow for data type generalization, specialization or interface implementation.
5. Demonstrate understanding of object-oriented design:
a. Sketch UML class diagrams and sequence diagrams.
b. Translate UML class diagrams and sequence diagrams into code.
c. Explain concepts of cohesion and coupling.
d. Explain concepts of an exception, and exception propagation.
6. Demonstrate ability to write programs in the Java programming language:
a. Write simple batch scripts to compile and run programs.
b. Explain the workings of CLASSPATH and write programs that use external libraries.
c. Apply fundamental and complex data types (arrays, lists, sets, maps) to solve basic problems.
d. Write programs that properly handle exceptions to safely perform I/O operations.
e. Write class definitions for custom exceptions.