5.
2 Semester-II 45
5.2 Semester-II
The courses details offered in Semester-II of BS(Hons) in Computer Science are given
below with each course description, outlines, and some latest reference material & books.
5.2.1 O BJECT O RIENTED P ROGRAMMING
Course Code: CS – 1201 Credit Hours: 3+1
Prerequisite: Programming Fundamentals
C OURSE D ESCRIPTION
This course is an introduction to the concepts of object-oriented paradigm. The combination
of theory and programming will help students to develop their program writing and
application designing skills. Lab work will help the students to analyze the real problem and
solve it into the programming language. Assignments, quizzes, lab tests class participation
and semester projects will be used as assessment tool to ensure and monitor students
learning progress.
C OURSE O UTLINES :
Overview of object-orientation. Overview of quality of software systems. Evolution of
Object Oriented programming, OOP concepts and principles, problem solving in OOP
paradigm, OOP design process, classes, methods, objects, encapsulation, constructors,
operator, method overloading, overriding, inheritance, abstraction, polymorphism, GUI and
error handling. Design and implementation. Object and Classes. Concept of Object and
Classes, Methods, Parameters, Fields. Understand Class definitions, Constructors, Object
Interaction, Creating Cooperating objects, Modularization Abstraction, Encapsulation,
Object Type and Primitive Type, Grouping Objects, Collections, Array List, Array, Loops
Iterator Objects, Class Libraries. Array List, Random, Interface and Implementation, Hash
Map, Hash Set Java Packages and Import, Tokenizing String, Writing Class documentation
Improving structure with inheritance, Inheritance, Sub typing, Sub Type Substitution,
Polymorphic variables, Casting types, wrapper classes and autoboxing. Static and Dynamic
type, Method polymorphism, Overriding inherited methods, Dynamic method lookup
Protected access, Abstract Classes, Multiple Inheritance, Interfaces, Polymorphism with
Interfaces, GUI principle, Components, Event Handling, Inner and Anonymous Classes,
Layout Manager, Handling errors, Exception handling and throwing, Try, Catch, Final
Construct, Error reporting, File handling, Multi Threading.
R EFERENCE B OOKS
1. Deitel and Deitel (2017), C++ How to Program (10th Ed), Pearson.
2. Deitel and Deitel (2015), Java How to Program (10th Ed), Prentice Hall.
46 Chapter 5. C OURSES O UTLINES
3. David J, Barne and, Michael Kolling (2016), Objects First with Java: A Practical
Introduction Using BlueJ (6th Ed), Pearson.