BC3 Academic Catalog: 2024-2025
|
COMP 238 - Object-Oriented Programming 3 Credits: (3 lecture)
Course Description This second-level course emphasizes the concepts of object-oriented design & programming and includes a thorough conceptual study of encapsulation, inheritance and polymorphism in a primary object-oriented programming language. Various implementations of the object-oriented paradigm in other programming languages are also examined along with operator overloading, templates/generics, exception handling and unit testing.
Note Spring semester only.
Prerequisite COMP 230 or COMP 237 or permission of the instructor.
Text Deitel, P. J. & Deitel, H. (2018). Java: How to program, early objects (11th ed.). New York City, NY: Pearson.
Objectives The student will be able to:
A. Develop (design, implement, and test) classes that demonstrate encapsulation and information hiding.
B. Implement “is-a” relationships in a class hierarchy by using inheritance.
C. Describe the differences between static and dynamic polymorphism.
D. Extend the applicability of functions and classes by using templates / generics.
E. Overload operators when implementing a class.
F. Improve the reliability of programs through appropriate exception handling.
G. Apply unit testing to ensure the reliability of class implementations.
H. Contrast the mechanisms used to implement object-oriented programming in two different object-oriented programming languages.
Content A. Object-oriented design
B. Encapsulation and information-hiding
C. Inheritance and class hierarchies
D. Polymorphism and abstract classes
E. Templates / generics
F. Operator overloading
G. Exception handling
H. Unit testing
I. Object-oriented programming in various languages
Student Evaluation The student’s final grade in the course will be based on a minimum of two exams and a minimum of six projects.
|