Topic outline

  • Welcome to Object Oriented Programming [Theory+Lab]


    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
    Phone             : +8801740071456                                                           

    Google Classroom Code: 

    Google Meet Link: 

    Theory: meet.google.com/fwb-wvez-bpz

    Lab: meet.google.com/bmg-diop-uaq

    Counselling Hour


    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


  • 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

  • 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

  • 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

    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

    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

    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

    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


    Topics to cover in mid exam:

    • Week 1 to Week 7

    • Mid Term Question Paper and Answer Script Assignment
      Restricted Not available unless: You belong to PC-B
  • 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

  • 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

    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

    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


    Topics of the Final:

    • All

    • Final Lab Evaluation Quiz
      Restricted Not available unless: You belong to PC-C
    • View Make a submission
    • Final Question Paper and Answer Script Assignment
      Restricted Not available unless: You belong to PC-B