Professional Documents
Culture Documents
I. Course Details
Credit Hours 4 (3+1)
Pre-requisites Programming Fundamentals
Course Leader
Recommended Textbook(s) 1. JAVA: The Complete Reference Object Oriented
Programming by Herbert Schildt,11th Edition, McGraw-
Hill Osborne Media; (2018)
Recommended Reference 1. Starting Out with C++ from Control Structures to Objects,
(Books/Websites/Articles) 9th Edition, Tony Gaddis, Pearson; 8th edition (2014)
2. C++ How to Program, Deitel & Deitel, Pearson; 10th
edition (2016)
3. Object Oriented Programming in C++ by Robert Lafore, 4 th
edition, ISBN-13: 978-0672323089, Sams; (2001)
4. Java: How to Program by Paul Deitel, Pearson College
Div; 9th edition (2011)
V. Course Contents
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.
VI. Weekly Breakdown
Week Topics Reference
No.
1 Procedural programming Vs object-oriented programming, Chapter
Revision of Programming Fundamental Concepts, 1,2,3
History of Java, Java programming environment,
Fundamental programming structure in java, Lexical issues
(white spaces, identifiers, literals, comments, separators
and java keywords, Data types
2 Structure of Java program, Java Compilation Process Chapter 5,6
Compiling and running a Java program
Methods, Introducing methods, Method signatures,
Arguments, and parameters
3 Introduction to classes and its importance Chapter 6
Types of Classes
Objects creation and handling, Anonymous object
Utilizing methods of classes
4 Controlling access to members, Constructors, Constructor Chapter 6
overloading, Static class members, Static methods
5 Inheritance, Types of Inheritance (Multiple , Multilevel, Chapter 8
Hierarchical and Hybrid )
Superclass and Subclass, Relationship between super class and
subclass, Use of super keyword for using variables, function and
constructor of super class
6 Polymorphism, Abstraction and Encapsulation Chapter 8
Generalization, specialization, Aggregation, Composition
Nested Classes, Run-time Polymorphism, Compile-time
Polymorphism, Late binding and Early Binding.
7 Method overriding, use of super in override functions,
using abstract classes, using final and protected keyword
with inheritance,
Abstract and non-abstract methods. Dynamic and dispatch Chapter 8
methods.
8 Packages Defining package, Package access protection, Importing Chapter 9
packages. Use of Object class.
9 Interfaces, defining an interface, implementing and Chapter 9
applying interfaces, Variables in interfaces,
Interface with Multiple Inheritance
10 Exception Handling Fundamentals, Types of Exceptions, using Chapter 10
exception clauses (try, catch, throw, throws and finally)
11 Graphical User Interface Components, Introduction to Chapter 23,
Swing. Controls Button, Labels, Text Fields, Text Area, 24
Checkbox and Radio buttons
Event Handling, The delegation event model (events, event
sources and event listeners)
Introduction to AWT, AWT classes
12 Creating a window program, Working with graphics. Chapter 25
Layout managers and menus, Control fundamentals
13 Enums, Generics, Boxing, auto Boxing, Collections Chapter 26
File Handling
14 Week For Open Ended Lab, Lab Final Exams, Projects,
Presentations
15 Chapter12,
Event Handling Practice 23
16 Revision Week/Final Paper Discussion