CS111-Object Oriented Programming
CS111-Object Oriented Programming
Course Details
Code Course Title Crd Hrs. Pre-Requisite
CS111 Object Oriented Programming 4(3+1) CS102(PF)
Course Introduction
The course aims to focus on object-oriented concepts, analysis and software development. The basic
concept of OOP is covered in this course.
Textbooks
1 Paul Deitel, Harvey Deitel. Java How to Program, Early Objects, 11th Edition, Peason, (2017), ISBN:
978-0134743356
2 Nick Samoylov. Learn Java 17 Programming: Learn the fundamentals of Java Programming with this
updated guide with the latest features, 2nd Edition, Packet Publishing, (2022),ISBN: 978-
1803241432
Course Outlines
Introduction to object oriented design, history and advantages of object oriented design, introduction
to object oriented programming concepts, classes, objects, data encapsulation, constructors,
destructors, access modifiers, const vs non-const functions, static data members & functions, function
overloading, operator overloading, identification of classes and their relationships, composition,
aggregation, inheritance, multiple inheritance, polymorphism, abstract classes and interfaces, generic
programming concepts, function & class templates, standard template library, object streams, data and
object serialization using object streams, exception handling.
33
IoC, Board of Studies 2023 Course Descriptions
Course Contents
Week Topics Covered
1 Introduction to object-oriented design, history and advantages of object-oriented design
2 Introduction to object-oriented programming concepts, Basic UML, Primitive vs Reference
Types, Memory Models, Initializing Objects, Encapsulation, Constructors and Method
overloading, Default and no argument constructors.
3 V
4 aObjects and classes, Access modifiers, Data encapsulation, constructors, destructors
5 Static data members & functions, const vs non-const functions
6 Identification of classes and their relationships, memory models, Composition, aggregation
7 Inheritance, class hierarchies, super classes and subclasses
8 inheritance, multiple inheritance, constructors in subclasses, Function overloading, Operator
overloading
9 Exception Handling
10 Polymorphism – abstract and concrete classes
11 Polymorphism - constructor overloading, interfaces. Case Study
12 Strings and string operations
13 Graphical User Interfaces, 2D graphics
14 Databases with GUI
15 File Handling and working with data
16 Collections
Lab Work
Week Tasks
1 IDE installation and running the first program
2 Variable, data types, basic arithmetic and input output operations
3 Object declaration, accessing class members through objects, initialization through constructors
4 Member functions, setters and getters
5 Static data members and functions
6 Composition. User defined data types
7 Inheritance – creating sub classes
8 Inheritance – super and subclass constructors
9 Exception handling
10 Polymorphism – abstract classes
11 Interfaces. OOP based case study
12 String and StringBuilder class
13 Graphical User interface, drawing 2D graphics using built-in classes and functions
14 Reading data from database into objects
15 File Handling
16 Semester Sample Project - Individual
34