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 to Object Oriented Programming [Theory+Lab]
![](https://elearn.daffodilvarsity.edu.bd/theme/image.php/remui/core/1716861392/spacer)
Welcome to Object Oriented Programming [Theory+Lab]
![](https://elearn.daffodilvarsity.edu.bd/pluginfile.php/1117039/course/section/222861/Capture.PNG)
Dear Students,
Welcome to the course Object Oriented Programming Theory and Lab course!! Myself Al Amin Biswas. I am looking forward to the opportunity so we will have to learn and grow together in this course. I always believe that your success is most important to me as a teacher. Please don’t hesitate to contact with me in case of having difficulties with the course materials and any others academic problems. To smooth this operation, general questions related to the courses should be posted on the Discussion Forum. If you have any question for which you are not interested to post in Forum, then you can send your query via email for a quick response. My contact information is mentioned below. Success in an online class requires just as much work and effort as success in a traditional classroom. Lastly, I am expecting much cooperation from all of you. Hope we will enjoy this journey joyfully.
Stay safe and healthy. Thanks all of you for joining with this course.
Best Regards,
Al Amin Biswas
Instructor Information
Name
| : Al Amin Biswas |
---|
Designation | : Lecturer |
Office Address | : Room: AB4-505, Dept. of CSE, Ashulia Campus, DIU.
|
Email | : alamin.cse@diu.edu.bd |
Teacher Initial | : AAB |
Google Classroom Code:
Google Meet Link:
Theory: meet.google.com/fwb-wvez-bpz
Lab: meet.google.com/bmg-diop-uaq
Counselling Hour
![](https://elearn.daffodilvarsity.edu.bd/pluginfile.php/1117039/course/section/222861/Capture%20%281%29.PNG)
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 Objectives
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
Student Interest Survey
Grading Scheme
Theory Class |
Lab Class |
Attendance: 7% Class Tests/Quizes: 15% Assignment: 5% Presentation (using video/ppt): 8% Midterm Exam: 25% Final Exam: 40% |
Attendance: 10% Lab Performance: 25% Lab Performance Test: 40% Lab Report: 25% |
[All assessment will be based on onsite/online situation]
Textbook
Reference Reading Materials
Restricted Not available unless: You belong to PC-B
Restricted Not available unless: You belong to PC-B
Restricted Not available unless: You belong to PC-C
- Week 1: Introduction
Week 1: Introduction
Topics of Discussion
- Introduction and importance of Object Oriented
Programming; Applications
- Basic concepts of OOP: Class, Object, and Method
- Installation procedure of Eclipse IDE
Expected Learning Outcome
- Appreciate OOP
- Apply OOP general concept to model real life
scenarios
- IDE installation
Introduction to Java & OOP (Video)
- Week 2: OOP Implementation
Week 2: OOP Implementation
Topics of Discussion
- Basic on Java programming
- Method
- Constructor
- Constructor Overloading
Expected Learning Outcome
- Understand OOP implementation
- Writing basic Java programs
- Understanding Constructor and Constructor Overloading
Class, Method, Constructor and Overloading (Video)
- Week 3: Static Keyword, Static Variable, Static Method, and Static Block
Week 3: Static Keyword, Static Variable, Static Method, and Static Block
Topics of Discussion
- Static Keyword
- Static Variable
- Static Method
- Static Block
- Math Class in Java
- Local, Global, and Static Variable
Expected Learning Outcome
- Understanding the use of the static keyword
- Understanding the use of static variable, method, and block
- Understanding the uses of Math class in Java
- Uses of local, global, and static variable
- Week 4: Method Overloading, Variable Length Arguments, and Encapsulation
Week 4: Method Overloading, Variable Length Arguments, and Encapsulation
Topics of Discussion
- Method Overloading
- Call By Value and Call By Reference
- Variable Length Arguments
- Encapsulation
Expected Learning Outcome
- Implementation of Method Overloading
- Understanding of Call By Value and Call By Reference
- Implementation and importance of Variable Length Arguments
- Understanding the concept of Encapsulation
- Understanding the uses of Getter and Setter Method
- Week 5: Working with Inheritance
Week 5: Working with Inheritance
Topics of Discussion
- Inheritance in Java
- Type of Inheritance
- InstanceOf Operator
- Method Overriding and Method Overloading
- Why Java doesn't Support Multiple Inheritance?
Expected Learning Outcome
- Understanding the concept of inheritance
- Basic difference between method overriding and method overloading
- Uses of InstanceOf operator
- Implementation of Different types of Inheritance
- Week 6: super keyword, this keyword, final keyword, and Polymorphism
Week 6: super keyword, this keyword, final keyword, and Polymorphism
Topics of Discussion
- Use of super Keyword
- Use of this Keyword
- Use of final Keyword
- Polymorphism in Java
- Problem Solving using polymorphism
Expected Learning Outcome
- Implementation of super, this, and final keyword in Java
- Understand why super, this, and final keyword is used in Java
- Advantages and disadvantages of using super, this, and final keyword
- Ability to implement polymorphism in Java
- Week 7: Abstract Class, Interface, and UML
Week 7: Abstract Class, Interface, and UML
Topics of Discussion
- Abstract Class
- Abstraction
- Interface in Java
- Unified Modeling Language (UML)
- Basic notation used in UML class diagram.
- Convert UML to Java code
Expected Learning Outcome
- Conversion of UML class diagram to Java Code.
- Ability to implement abstract class in Java
- Idea of abstraction
- Ability to apply concept Interface in Java
- Week 8: Midterm Exam
Week 8: Midterm Exam
![](https://elearn.daffodilvarsity.edu.bd/pluginfile.php/1117039/course/section/222868/cseuser1.PNG)
Topics to cover in mid exam:
Mid Term Question Paper and Answer Script Assignment
Restricted Not available unless: You belong to PC-B
- Week 9: Working with Exception Handling
Week 9: Working with Exception Handling
Topics of Discussion
- Exception Handling in Java
- Problem Solving using Exception Handling
- Course Project Presentation 2
Expected Learning Outcome
- Ability to apply exception handling in Java
- Problem solving using exception handling
Exception Handling in Java (Video)
- Week 10: Java Thread
Week 10: Java Thread
Topics of Discussion
- Basic concept about thread
- Multithreading in Java
- Making thread using Runnable Interface
- Different operations related to thread
- Making thread using anonymous class
Expected Learning Outcome
- Understand the concept thread in Java
- Ability to implement multithread in Java
- Week 11: Collections Class in Java
Week 11: Collections Class in Java
Topics of Discussion
- Basic about Collections in Java
- ArrayList
- LinkedList
Expected Learning Outcome
- Understanding the importance of Collections in Java
- Implementation of ArrayList
- Implementation of LinkedList
- Week 12: Collections, Map, File, and Package
Week 12: Collections, Map, File, and Package
Topics of Discussion
- HashSet in Java
- HashMap in Java
- Package in Java
- File Processing in Java
Expected Learning Outcome
- Implementation of Collections in Java
- Understanding the concept of the Java package
- File Processing in Java
- Week 13: Final Exam
Week 13: Final Exam
![](https://elearn.daffodilvarsity.edu.bd/pluginfile.php/1117039/course/section/222874/cseuser1.PNG)
Topics of the Final:
Final Lab Evaluation Quiz
Restricted Not available unless: You belong to PC-C
Final Question Paper and Answer Script Assignment
Restricted Not available unless: You belong to PC-B
Before submitting your answer script, you need to mention your roll/id in the file name (Roll_PC-B_CSE221_Final_Answer_Script) and also inside the answer script. Only pdf file is acceptable as an answer script.