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