Object-Oriented Programming
Course Details
- Course Title: Object Oriented Programming
- Course Code: CS-103
- Credit Hours: 2+1 Theory + Lab
- Pre-requisite: Programming Fundamentals
- Offered To: BS (CS)
- *Level: Undergraduate
- Institution: Indus University, Karachi, Pakistan
- Faculty: Faculty of Engineering, Science, and Technology (FEST)
- Semester Offered: Spring 2015
Objectives
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. By the end of the course, students will be equipped with the skills necessary to develop robust, scalable, and maintainable software using OOP principles.
Learning Outcomes
By completing this course, students can demonstrate a strong command of object-oriented programming concepts and their practical implementations. They will understand how to effectively design and structure programs using classes, methods, constructors, and objects while applying encapsulation, inheritance, and polymorphism. Students will also gain hands-on experience in advanced programming techniques, such as operator overloading, virtual functions, and file processing. Additionally, they will develop the ability to handle exceptions, manage input/output operations, and utilize libraries to enhance the functionality of their programs. This course will foster problem-solving skills, enabling students to tackle complex programming challenges using the OOP paradigm.
Course Outline
Lecture | Topic |
---|---|
1 | Introduction to Computers and Java |
2 | Programming Process and OOP Basics |
3 | Java Fundamentals |
4 | Conversion Between Primitive Data Types |
5 | Programming Style and Scope |
6 | Decision Structures |
7 | Logical Operators and Variable Scope |
8 | Conditional and Switch Statements |
9 | Formatting Output and Input Validation |
10 | Loops |
11 | Nested Loops |
12 | Introduction to Methods |
13 | Passing Arguments to Methods |
14 | Problem-Solving with Methods |
15 | Common Errors to Avoid |
16 | Classes and Objects |
17 | Overloading Methods and Constructors |
18 | Scope of Instance Fields |
19 | Packages and Import Statements |
20 | Focus on OOP Design |
21 | Arrays and the ArrayList Class |
22 | Processing and Passing Arrays |
23 | Useful Array Operations |
24 | Advanced Classes and Objects |
25 | Returning Objects and toString Method |
26 | Inheritance |
27 | Superclass Constructor |
28 | Overriding Methods and Protected Members |
29 | Polymorphism |
30 | Abstract Classes and Methods |
31 | Encapsulation |
32 | Exceptions and File I/O |
Assessment Criteria
Theory
- Quizzes, Assignments, Presentations: 20 Marks
- Mid-term Examination: 30 Marks
- Final Examination: 50 Marks
Lab
- Quizzes, Assignments, Presentations: 20 Marks
- Lab Manual: 12 Marks
- Viva Voice: 18 Marks
- Total: 50 Marks