Object-Oriented Programming

CS-103 Spring 2015 2+1 Credits

Course Information

Institution: Indus University, Karachi, Pakistan
Department: Engineering, Science, and Technology
Level: Undergraduate
Prerequisites: Programming Fundamentals

Course Description

This course introduces students to the foundational principles and paradigms of Object-Oriented Programming (OOP). The primary aim is to provide a deep understanding of the evolution of OOP, its core concepts, and practical applications in solving real-world problems. Students will explore the design process of OOP programs, emphasizing key features such as encapsulation, inheritance, polymorphism, and exception handling.

Learning Outcomes

Upon successful completion of this course, students will be able to:

  • Demonstrate a strong command of object-oriented programming concepts and implementations
  • Design and structure programs using classes, methods, constructors, and objects
  • Apply encapsulation, inheritance, and polymorphism principles effectively
  • Implement advanced programming techniques including operator overloading and virtual functions
  • Handle exceptions and manage input/output operations efficiently
  • Utilize libraries to enhance program functionality
  • Solve complex programming challenges using the OOP paradigm

Course Outline

Lecture Topic
1Introduction to Computers and Java
2Programming Process and OOP Basics
3Java Fundamentals
4Conversion Between Primitive Data Types
5Programming Style and Scope
6Decision Structures
7Logical Operators and Variable Scope
8Conditional and Switch Statements
9Formatting Output and Input Validation
10Loops
11Nested Loops
12Introduction to Methods
13Passing Arguments to Methods
14Problem-Solving with Methods
15Common Errors to Avoid
16Classes and Objects
17Overloading Methods and Constructors
18Scope of Instance Fields
19Packages and Import Statements
20Focus on OOP Design
21Arrays and the ArrayList Class
22Processing and Passing Arrays
23Useful Array Operations
24Advanced Classes and Objects
25Returning Objects and toString Method
26Inheritance
27Superclass Constructor
28Overriding Methods and Protected Members
29Polymorphism
30Abstract Classes and Methods
31Encapsulation
32Exceptions and File I/O
Loading...