To operate the Blended Learning Center(BLC) at optimal level, maintenance will be performed every day at 8:30 AM and at 5:00 PM regularly which can take up to 30 minutes. Please consider scheduling your activity in the BLC platform accordingly.
Topic outline
- Welcome Note
Welcome Note
Assalamu 'Alaikum.
I am Afsara Tasneem Misha, welcoming you to Object Oriented Programming Course.
I hope we will learn together to enrich ourselves and together we can make this journey memorable.
May the Almighty grant you peace and happiness always.
.
|
Instructor : Afsara Tasneem Misha (ATM)
Office
Room #111 (1st floor), Daffodil Tower-5, Daffodil International University, 102, Subhanbagh, Dhanmondi, Dhaka-1207
Office Hour : Sunday (14:00/16:00),Thursday (14:00/16:00) or by appointment
Contact Number:
01920905947
Email : misha.cse@diu.edu.bd
|
Course Rationale
Philosophy of Object Oriented Programming (OOP); Advantages of OOP over structured programming; Encapsulation; Classes and objects; Access specifies; Static and non-static members; Constructors, destructors and copy constructors; Array of objects, object pointers, and object references; Inheritance: single and multiple inheritance; Polymorphism: overloading, abstract classes, virtual functions and overriding; Exceptions; Object Oriented I/O; Template functions and classes; Multi-threaded Programming. Memory models, the message based philosophy.
|
Course Objective
- To be able to identify problems and apply object-oriented programming concept to build information system
- To be able to apply UML notations used in object-oriented applications design.
- To be able to implement common I/O operations using Java
- To be able to implement event-driven graphical user interfaces (GUI) in Java
|
Course Outcomes
(CO’s)
CO1
|
Able to identify classes, objects, members of a class and relationships among them needed for a specific engineering problems
|
CO2
|
Able to develop Java application programs using OOP principles and proper program structuring
|
CO3
|
Able to demonstrate the concepts of polymorphism and inheritance
|
CO4
|
Able to apply OOP and Java knowledge in solving problem
|
Grading Scheme
Theory Class
|
Lab Class
|
Attendance: 7%
Class Tests/Quizzes: 15%
Assignment: 5%
Presentation (using video/ppt): 8%
Midterm Exam: 25%
Final Exam: 40%
|
Lab Attendance: 10%
Lab Performance Test: 25%
Assignment + Viva: 10%
Project: 25%
Lab Final: 30%
|
Text Book and Reference Book
- Quiz , Assignments and Project
Quiz , Assignments and Project
Section - A: Project Team Information URL
Restricted Not available unless: You belong to OOP_Section-A
Section - B: Project Team Information URL
Restricted Not available unless: You belong to OOP_Section-B
Section - Retake: Project Team Information URL
Restricted Not available unless: You belong to any group
Section - C: Project Team Information URL
Restricted Not available unless: You belong to OOP_Section-C
Section: A - OOP Assignment
Restricted Not available unless: You belong to OOP_Section-A
Section: B - OOP Assignment
Restricted Not available unless: You belong to OOP_Section-B
Section: C - OOP Assignment
Restricted Not available unless: You belong to OOP_Section-C
OOP Performance test - 1 URL
Restricted Not available unless: You belong to OOP_Section-C
OOP Performance test - 1 URL
Restricted Not available unless: You belong to OOP_Section-B
OOP Performance test - 1 URL
Restricted Not available unless: You belong to OOP_Section-A
Section - A : OOP Quiz - 2
Restricted Not available unless: You belong to OOP_Section-A
Section - B : OOP Quiz - 2
Restricted Not available unless: You belong to OOP_Section-B
Section - C : OOP Quiz - 2
Restricted Not available unless: You belong to OOP_Section-C
- Week 1: Introduction
Week 1: Introduction
Topics of discussion
- Introduction and importance of Object Oriented Programming; Applications
- Basic concepts of OOP: Object, Class, Instance Variables and Methods
Expected Learning Outcome
- Appreciate OOP
- Apply OOP general concept to model real life scenarios
Week-01 Plan
Week plan
|
Topics
|
Materials
|
Week-01: Lecture-01
|
Introduction and importance of Object Oriented Programming; Applications
|
===============
OOP_Lecture-1_Video Part_1 of 3
Video Lecture - Part 2/3
Video Lecture - Part 3/3
|
Week-01: Lecture-02
|
Basic concepts of OOP: Class, Object, Method, Instance variable
Basic Features of OOP: Abstraction. Encapsulation, Ploymorphism and Inheritance
|
==========================
|
Week-01: Lab - 01
|
Basic Java Programming
|
|
Lab -01
Submission of Lab Task - 1 Assignment
Restricted Not available unless: You belong to OOP_Section-A
Submission of Lab Task - 1 Assignment
Restricted Not available unless: You belong to OOP_Section-B
Submission of Lab Task - 1 Assignment
Restricted Not available unless: You belong to OOP_Section-C
Live discussion
Discussion on First Class (16/9/2021) URL
Restricted Not available unless: You belong to OOP_Section-A
Discussion on Lecture -1 (27/9/2021) URL
Restricted Not available unless: You belong to OOP_Section-A
Discussion on Lecture - 2: Basic Concepts and Features of OOP URL
Restricted Not available unless: You belong to OOP_Section-A
Lab-1: Programming with Java (29/9/2021) URL
Restricted Not available unless: You belong to OOP_Section-A
Discussion on First Class (16/9/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Discussion on Lecture -1 (27/9/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Discussion on Lecture - 2: Basic Concepts and Features of OOP URL
Restricted Not available unless: You belong to OOP_Section-B
Lab-1: Programming with Java URL
Restricted Not available unless: You belong to OOP_Section-B
Discussion on First Class (16/9/2021) URL
Restricted Not available unless: You belong to OOP_Section-C
Lecture-1 URL
Restricted Not available unless: You belong to OOP_Section-C
Lab-1: Programming with Java URL
Restricted Not available unless: You belong to OOP_Section-C
Discussion on Lecture - 2: Basic Concepts and Features of OOP URL
Restricted Not available unless: You belong to OOP_Section-C
Some Other Resources
Review of Array in C
Review of Function in C
Discussion About The OOP Course Arrangement in BLC Forum
Restricted Not available unless: You belong to any group
Dear Students, You can write here your suggestion for the arrangement of OOP Course in BLC. So that I can make it more effective for you.
|
Discussion on the topics covered in Week-01 Forum
Restricted Not available unless: You belong to any group
Dear Student, You can Discuss on Week-01 contents that we covered in this week. If you have any problem and confusion or suggestion, feel free to share.
|
- Week 2: OOP Implementation
Week 2: OOP Implementation
Topics of discussion
- OOP Implementation
- Basic on Java programming
- Course Project Team and discussion on presentation and deliverables
Expected Learning Outcome
- Understand OOP implementation
- Writing basic Java programs
- Team formation for the course project
Week-02 Plan
Week plan
|
Topics
|
Materials
|
Week-02: Lecture-03
|
1. Lecture_3.1- Java Introduction, Keywords, data types, identifiers 2. Lecture_3.2- Operators And control statements in Java
3. Lecture_3.3- Java variables, Modifiers
4. Lecture_3.4-Scanner class
|
Slides:1. Lecture_3.1-Java Introduction, Keywords, data types, identifiers 2. Lecture_3.2- Operators And control statements in Java 3. Lecture_3.3- Java variables, Modifiers
4. Lecture_3.4-Scanner class
===================== Recorded Video1. Lecture_3.3- Java variables, Modifiers (Part 1of 3)
2. Lecture_3.3- Java variables, Modifiers (Part 2 of 3) 3. Lecture_3.3- Java variables, Modifiers (Part 3 of 3) |
Week-02: Lecture-04
|
|
|
Week-02: Lab - 02
|
Lab Task-2: Scanner Class, Control Statements,Loops in Java
|
|
Live Discussion
Live discussion on Lecture - 3.1 , 3.2 URL
Restricted Not available unless: You belong to OOP_Section-A
Live discussion on Lecture - 3.4: Scanner Class(6/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-A
Lab Task - 2 (6/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-A
Live discussion on Lecture - 3.3 (11/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-A
Live discussion on Lecture - 3.1 , 3.2 , 3.3 URL
Restricted Not available unless: You belong to OOP_Section-B
Live discussion on Lecture - 3.4: Scanner Class(5/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Lab Task - 2 (5/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Live discussion on Lecture - 3.1 , 3.2 , 3.3 URL
Restricted Not available unless: You belong to OOP_Section-C
Scanner Class and Lab Task - 2 (3/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-C
Live discussion on Lecture - 3.3 (Java Variables + Modifiers) ( 7/10/2021)) URL
Restricted Not available unless: You belong to OOP_Section-C
Lab Task
Submission of Lab Task - 2 Assignment
Restricted Not available unless: You belong to OOP_Section-A
Submission of Lab Task - 2 Assignment
Restricted Not available unless: You belong to OOP_Section-B
Submission of Lab Task - 2 Assignment
Restricted Not available unless: You belong to OOP_Section-C
- Week 3: Working with OOP
Week 3: Working with OOP
Topics of discussion
- Class and Objects; Constructors
- UML Modeling notations for class
- Encapsulation applications
- Project Discussion and execution plan
- Quiz #01
Expected Learning Outcome
- Create class and using objects
- Selection of project topic by team
Week-03 Plan
Week plan
|
Topics
|
Materials
|
Week-03: Lecture-05
|
- Object and Class Creation
|
Slide: ================================
Recorded Video: ********************************** - Video: Array of Objects with Insert and Display Methods
==========================
Source Code: - Box and Student Class
- Code of Person Class
- UML of Person Class
|
Week-03: Lecture-06
|
- Methods in Java
- Method Overloading
|
Slide:==========================
Recorded Video:Topic - 1: Method
Topic - 2: Method Overloading
==========================
Source Code: - Java Method
|
Week-03: Lab - 03
|
Array, Type conversion and Math Class in Java
|
Slide:
==========================
Recorded Video:==========================
Source Code: Click Here
===================================
Lab Task - 3: Click Here
|
Live discussion
Live discussion on Lecture - 4 : UML to Code_Array of Objects with Insert and Display Methods (18/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-A
Live discussion on Lecture - 4 : UML to Code_Array of Objects with Insert and Display Methods (Part - 2) (19/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-A
Live discussion on Lecture - 5 : Method Overloading URL
Restricted Not available unless: You belong to OOP_Section-A
Live discussion on Lecture - 4 : UML to Code_Array of Objects (17/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Live discussion on Lecture - 4 : UML to Code_Array of Objects with Insert and Display Methods (18/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Live discussion on Lab Task - 3 (19/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Live discussion on Lecture - 5 : Method Overloading (25/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Live discussion on Lab -3: Lecture - 3.5 : Array+Type Conversion+Math Class (10/10/2021) (copy) URL
Restricted Not available unless: You belong to OOP_Section-C
Live discussion on Lecture - 4 : Class and Object (11/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-C
Live discussion on Lecture - 4 : UML to Code_Array of Objects (18/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-C
Live discussion on Lecture - 4 : UML to Code_Array of Objects_With_Insert and Display Methods (19/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-C
Live discussion on Lecture - 5 : Method Overloading (25/10/2021) (copy) URL
Restricted Not available unless: You belong to OOP_Section-C
Lab Task
Submission of Lab Task - 3 Assignment
Restricted Not available unless: You belong to OOP_Section-C
Submission of Lab Task - 3 Assignment
Restricted Not available unless: You belong to OOP_Section-A
Submission of Lab Task - 3 Assignment
Restricted Not available unless: You belong to OOP_Section-B
- Week 4: Working with Methods
Week 4: Working with Methods
Topics of discussion
- Basic IO and String classes
- Array in Java
- Define method and working with methods
Expected Learning Outcome
- OOP Programming using java
- Ability to define object with its behavior
Live discussion
Live discussion on Lecture - 6: Constructor and Constructor OverLoading URL
Restricted Not available unless: You belong to OOP_Section-A
Live discussion on Lecture - 6: Constructor and Constructor OverLoading (25/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Live discussion on Lab Task - 4 : UML to Code_Methods_StringClass (17/10/2021) (copy) URL
Restricted Not available unless: You belong to OOP_Section-C
Live discussion on Lecture - 6: Constructor and Constructor OverLoading (25/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-C
Lab Task
Submission of Lab Task - 4 Assignment
Restricted Not available unless: You belong to OOP_Section-A
Submission of Lab Task - 4 Assignment
Restricted Not available unless: You belong to OOP_Section-B
Submission of Lab Task - 4 Assignment
Restricted Not available unless: You belong to OOP_Section-C
- Week 5: Working with Encapsulation and Inheritance
Week 5: Working with Encapsulation and Inheritance
Topics of discussion
- Inheritance in Java
- Overriding and Overloading
Expected Learning Outcome
- Understanding on inheritance
- Problem solving using inheritance
Live discussion
Live discussion on Lab Task - 5 : UML to Code _Search/Delete (27/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-A
Live discussion on Encapsulation (01/11/2021) URL
Restricted Not available unless: You belong to OOP_Section-A
Live discussion on Lab Task - 5 : UML to Code (26/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Live discussion on Encapsulation (01/11/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Live discussion on Lab Task - 5 : UML to Code (24/10/2021) URL
Restricted Not available unless: You belong to OOP_Section-C
Lab Task
Submission of Lab Task - 5 Assignment
Restricted Not available unless: You belong to OOP_Section-A
Submission of Lab Task - 5 Assignment
Restricted Not available unless: You belong to OOP_Section-B
Submission of Lab Task - 5 Assignment
Restricted Not available unless: You belong to OOP_Section-C
Course Survey before Mid term
|
- Week 6: Working with Polymorphism
Week 6: Working with Polymorphism
Topics of discussion
- Polymorphism using Java
- Exercise for polymorphism
- Review discussion
Expected Learning Outcome
- Problem solving using Java
- Writing code for multiple inheritance in Java
Live discussion
Live discussion on Abstraction (29/11/2021) URL
Restricted Not available unless: You belong to OOP_Section-A
Live discussion on Abstraction (30/11/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Live discussion on Lab Final and Project Submission (30/11/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Live discussion on Lab Final and Project Submission (29/11/2021) URL
Restricted Not available unless: You belong to OOP_Section-C
Submission of Lab Task - 6 Assignment
Restricted Not available unless: You belong to OOP_Section-A
Submission of Lab Task - 6 Assignment
Restricted Not available unless: You belong to OOP_Section-B
Submission of Lab Task - 6 Assignment
Restricted Not available unless: You belong to OOP_Section-C
- Week-07 Mid-Term Examination
Week-07 Mid-Term Examination
- Week 8: Working with Exception Handling
Week 8: Working with Exception Handling
Topics of discussion
- Exception Handling in Java
- Problem Solving using Exception Handling
Expected Learning Outcome
- Ability to apply exception handling in Java
- Problem solving using exception handling
Week-08 Plan
Week plan
|
Topics
|
Materials
|
Week-08: Lecture-12 | Exception Handling in Java
|
Slide: Lecture- 12: Exception Handling in Java
================================ Recorded Video:
================================ Exercise: Output Tracing
|
Week-08: Lecture-13 |
|
Slide:
================================ Recorded Video:
==========================
Source Code:
|
Week-08: Lab - 08 |
|
|
Live discussion
Final Question Pattern Discussion (02/12/2021) URL
Restricted Not available unless: You belong to OOP_Section-A
Live discussion on Exception Handling (2/12/2021) URL
Restricted Not available unless: You belong to OOP_Section-A
Final Question Pattern Discussion (02/12/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Live discussion on Exception Handling (2/12/2021) URL
Restricted Not available unless: You belong to OOP_Section-B
Final Question Pattern Discussion (06/12/2021) URL
Restricted Not available unless: You belong to OOP_Section-C
- Week 9: Review on Polymorphism
Week 9: Review on Polymorphism
- Week 11: Course Project Discussion
Week 11: Course Project Discussion
- Week 12: Review Week
- Week-13: Final Presentation and Lab Final
Week-13: Final Presentation and Lab Final
- Week-14: Final Examination
Week-14: Final Examination