Section outline
-
Dear Students,
Welcome to the 2020 Summer Semester!
Welcome back, Students. I can’t wait to see all your smiling faces again! . I am here to support you every step of the way.
I encourage you to make the most of your time here.
Remember to make it a great year. I will see you soon.
Instructor : Md. Zahid Hasan
Office : Level 4, CSE Building, Daffodil Tower Extension
Office Hour : Sunday (14:00/16:00),Thursday (14:00/16:00) or by appointment
Telephone : 01672580748
Email : zahid.cse@diu.edu.bd
Course RationalePhilosophy 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
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%
TextbookReference Reading Materials
- Introduction to Java Programming
- Fundamentals of OOP and Data Structures
- Unified Modeling Language Distilled
- InfoSys Java Lab Manual
- To be able to identify problems and apply object-oriented programming concept to build information system
-
Topics of Discussion
- Introduction and importance of Object Oriented Programming; Applications
- Basic concepts of OOP: Encapsulation, Inheritance and Polymorphism
Expected Learning Outcome
- Appreciate OOP
- Apply OOP general concept to model real life scenarios
-
-
Topics of Discussion
- OOP Implementation
- Basic on Java programming
- Course Project Team and discussion on presentation and deliverables
- Understand OOP implementation
- Writing basic Java programs
- Team formation for the course project
-
Topics of Discussion
- Class and Objects; Constructors
- UML Modeling notations for class
- Encapsulation applications
- Project Discussion and execution plan
- Class Test#1
Expected Learning Outcome
- Create class and using objects
- Selection of project topic by team
-
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
-
Topics of Discussion
- Inheritance in Java; Overriding and Overloading
- Course Project Presentation 1
Expected Learning Outcome
- Understanding on inheritance
- Problem solving using inheritance
-
Topics of Discussion
- Polymorphism using Java
- Exercise for polymorphism
- Review discussion
- Class Test 2
Expected Learning Outcome
- Problem solving using Java
- Writing code for multiple inheritance in Java
-
Topics to cover in mid exam:
- OOP and Basic of Java
- Class and Object
- Scenario based Question (Case-Study)
- Draw Class Diagram from Scenario
- Implement the diagram or Scenario using Java Programming Language.
-
Topics of Discussion
- Polymorphism in Java
- Problem Solving using Polymorphism
Expected Learning Outcome
- Ability to design using polymorphism in Java
- Problem solving using OOP
-
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
-
Topics of Discussion
- Abstraction and application in OOP
- Problem Solving using Abstraction
Expected Learning Outcome
- Problem solving using Abstraction
-
Topics of Discussion
- Working with Java Projects
- Class Test # 3
Expected Learning Outcome
- Ability to apply OOP and Java in development project
-
Review on different topic and prepare for the final.
-
Topics of the Final:
- Inheritance and Polymorphism
- Abstraction
- Class Diagram in UML