Course Plan OOP_A (1)
Course Plan OOP_A (1)
Current Catalog
Description
Textbooks For C++:
● Object Oriented Programming in C++by
th
Robert Lafore (4 edition)
LAB 01:
● Structures, Data and Functions.
● Member functions
● Calling functions in main
● Structure arrays
2. 1. Introduction to OOP K,C,A,S a, b, c
2. Basic OOP Principles
3. Identifying Objects and Methods
4. Access Modifiers (Public, protected, private, default)
5. Constructors/ Destructors
6. Importance of constructor/destructor
7. Data members, Member functions, Accessor
Functions
8. This Keyword
1
9. Encapsulation
LAB 02:
● Simple Class and object creation in C++
● Data members, Member functions
● Access Modifiers (Public, protected, private,
default)
● Constructors/ Destructors
3. 1. Introduction to Java K,C,A a, b, c, f
2. Development Environment
3. Advantages of java
3.1. Portability
3.2. Memory Management (Garbage Collector)
3.2.1. No pointers in java
4. Java classes and basic programming constructs
3.1. Data Types, Iteration and Selection in java
3.2. Java Arrays
3.2.1. Enhanced For loops
3.3. Object Instantiation and Method calling in Main
LAB 03:
● Basic Java program
o Basic Class and object Creation
● Java Language constructs
o Java Arrays
o Data types
o Conditional statements
o Loops(While, Do-While, For, Enhanced for
loop)
4. 1. Simplistic Introduction to IO Streams in Java K,C,A a, c
1.1. java.util package
1.1.1. Basic I/O through Scanner
2. String Class and String methods
LAB 04:
● Simple Console IO in Java
● String processing
5. 1. Relationships in OOP K,C,A a, b
1.1. Associations
1.1.1. Compositions Vs. Aggregation
1.1.2. UML representations of Composition
1.1.3. Instance Visibility
1.1.4. Composition Practice Problems
LAB 05:
● Associations
o Object Interactions
o Compositions
6. 1. Relationhips in OOP (Continue)
1.1. Introduction to Collection API
1.2. java.util.ArrayList collection
1.3. Aggregation through ArrayList
1.4. Practice Problems
Lab 06
1. Aggregation of Objects
2. Manipulation of collections
7. 1. Inheritance K,C,A b, c, e
1.1. Single level, Multilevel inheritance
1.2. Great grandparent java.lang.Object
1.2.1. Significance of Object class
1.3. Multiple inheritance, Diamond Problem
1.4. Access Modifiers behavior in Inheritance
1.5. UML representation of Inheritance
2. This and Super Keywords
LAB 07:
3. Inheritance
3.1. Single level inheritance
3.2. Multi-level inheritance
LAB 08:
● Working in packages
● Complete application involving multilevel
inheritance
● This, Super and Final Keyword in practice
9. Project Proposals Discussion
Course Revision
MID Term
Paper Checking + Mid Term Solution in Discussion
3
10. 1. Polymorphism K,C,A,S b, c, d, g
1.1. Compile-time (Static) Binding, Overloading
1.2. Runtime (Dynamic) Binding, Overriding
1.3. toString and equals Method overriding
Lab 09:
● Method Overriding
● Static vs. Runtime binding example
● Polymorphism in action
Project Proposals Submissions and Discussion
4
11. 1. Abstraction K,C,A b, c, f
1.1. Abstract methods
1.2. Abstract classes
1.3. Pure Abstract classes
1.4. Interfaces
1.4.1. Uses of Interfaces
1.4.1.1. Multiple inheritance
1.4.1.2. Constant interfaces
1.4.1.3. Loose coupling
2. Practice Problems with Abstraction
Lab 10:
● Abstraction
● Using Interfaces
12. 1. Introduction to Graphical User Interface (GUI) K,C,A a, b, i
1.1. Java Graphical User Interface
1.2. AWT vs Swing
1.3. Container, Frame, Panel and Dialog
1.4. GUI Components: i.e., Label, Button, TextFeild,
RadioButton, TextArea, DropDown Menu
1.5. Event Handling
1.5.1. EventListerners and Adaptors
1.6. Hand-coding GUI and interaction
Lab 11:
● Hand-coding GUI and interaction
13. 1. GUI design using Drag and Drop feature of IDE a, d, e, f
(Netbeans), An Example
2. The Separation of Concerns Principle
2.1. User Interface and Business Logic layers
3. File IO
3.1. Character Streams
3.1.1. FileReader, FileWriter
3.2. Byte Streams
3.2.1. FileInputStream, FileOutputStream
3.3. Character vs Byte Streams
3.4. Gentle introduction to Exception handling
Lab 12:
1. GUI Design using Drag and Drop
a. Working with lists and combo boxes
2. File IO (with separation of concerns)
Week Assessment
2, 4, 8, 10, 11, 13, 14 Quiz
1, 2, 3, 4, 5, 7, 8, 9 10, 13 Assignment
8 Midterm
17 Practical Exam
6 ,10, 12, 16 Project Deliverables
k) Implement OOP basic Paper Quiz , Assignment 70% of the students score > 65%
concepts with C++ and
Java.
l) Write, test and debug Practical, Assignment, Exam 70% of the students score > 80%
computer programs with
OOP paradigm written in
C++ and java
m) Understand the concept Practical, Assignment, Quiz, 60% of the students score > 70%
of polymorphism Exam
n) Understand the concept Practical, Quiz 55% of the students score > 70%
of inheritance
o) Design and implement a Lab Demo (8), Project (6), 55% of the students score > 70%
class library as an Exam (8), activities
abstraction, using the
facilities of Java
environment
p) Implement exception Practical , Project, Exam 55% of the students score > 70%
handling mechanisms in
user-defined classes
q) Stream data between Practical, Project, Assignment 60% of the students score > 65%
objects and devices, files
and memory