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
Welcome to Object Oriented Programming
Instructor : Asif Uz Zaman Asif (AUZA) Office : Level 5, CSE Building, Daffodil Tower Extension Office Hour: Sunday (14:00/16:00), Thursday (14:00/16:00) or by appointment Cell Phone : +8801611202829 Email: asifuzzaman.cse@diu.edu.bd Appointment in Google Calendar: Click Here
|
Welcome Information on Object Oriented Programming CourseWelcome students to the this course where we are going to take a look at the object oriented approach todays programming using JAVA programming language.
Online Java Compiler for OOP
|
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
Course Outcomes (CO’s)
- CO1 Able to identify classes, objects, members of class and relationships among them needed for
solving real-life problem and build software programs
- CO2 Able to develop unified modeling language (UML) model and write computer programs using
OOP principles to solve real-life problem
- CO3 Able to apply knowledge of object oriented programming in software project
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
Week 1: Introduction
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
Lecture Video of Class:
Supporting Materials:
Class Lectures:
Write down a summery for the things that you have learned this week.
- 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
Lecture Video of Class:
Supporting Materials:
Class Lectures:
Solve the following questions using JAVA:
- Write a Java program to convert temperature from Fahrenheit to Celsius degree.
- Write a program to test a year if it is a leap year or not.
- Write a program to evaluate the following series 1^2 +3^2+5^2+............................ Up to n terms
- Write a program to evaluate the following series 1-2+3-4+............................ Up to n terms
- Write a program to find the factorial of a number.
- Write a program to find the power for a given base and exponent.
- Write a program to find the Bangla season from a given month using if/switch.
- Write a program to find the largest number in a list of Array.
- Write a program to sort some numbers in ascending order.
Assignment Submission Form: Click here!
Write down a summery for the things that you have learned this week.
- 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
Expected Learning Outcome
- Create class and using objects
- Selection of project topic by team
Lecture Video of Class:
Supporting Materials:
Class Lectures:
Write down a summery for the things that you have learned this week.
- Week 4: Working with Polymorphism & Abstraction
Week 4: Working with Polymorphism & Abstraction
Topics of Discussion
- Inheritance
in Java; Overriding and Overloading
Expected Learning Outcome
- Understanding on inheritance
- Problem solving using inheritance
Lecture Video of Class:
Supporting Materials:
Class Lectures:
Use a dynamic approach to solve the following problems:
# | Questions |
1 | Make a class named Animal. In that class, animals should have a name, kingdom, height, and a method called to make two or three objects of this animal class into your main class. |
2 | Now your job is to make name, kingdom, and height these three variables private. And try to access those variables from the main class by the getter and setter method. |
3 | Imagine You are a Car designer. A Car has some basic properties such as brand, color, model, num of seats, horsepower, and price. So your task is to make an array of 3 Cars and display their information from a method called displayInformation. |
4 | Make a class called Calculator. On Calculator class initial 2 value through Constructor. And make four methods called ' jogKori ' , 'biyogKori', 'gunKori', 'vagKori' which will perform plus, subtract, multiple, and divide operation. Now your task is to create an object of Calculator class, call that method, and print those methods result from the Main class. |
Google Form Submission Link: Click here!!
Write down a summery for the things that you have learned this week.
- Week 5: Working with Polymorphism & UML
Week 5: Working with Polymorphism & UML
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
Lecture Video of Class:
Supporting Materials:
Class Lectures:
Write down a summery for the things that you have learned this week.
- Week 6: Working with Polymorphism
Week 6: Working with Polymorphism
Topics of Discussion
- Polymorphism in Java
- Problem Solving using Polymorphism
Expected Learning Outcome
- Ability to design using polymorphism in Java
- Problem solving using OOP
Lecture Video of Class:
Class Lectures:
Welcome to your Quiz
You will get 20-minutes(8 questions each having 1.875 marks) for this Quiz.
There is only 1 attempt for this quiz. The time for your quiz is from 7:30 PM to 8:30 PM and within this time period whenever you start you will get 20-minutes to finish your quiz. After 8:30 PM you can't take this quiz anymore.
NO EXTRA TIME will be provided so hurry up and avoid any sort of external communication with your peers.
Good Luck!!
OOP #5 Question Bank |
# | Questions |
| Note that you have always to comment and test your programs appropriately, not just for this exercise on this worksheet. We will not write this to the exercises in future, but still if you fail to do so you cannot gain full marks. |
1 | Write a program to create a room class, the attributes of this class is roomno, roomtype, roomarea and ACmachine. In this class the member functions are setdata and displaydata. |
2 | Define a class ClubMember and a constructor to create it. A club member should be constructed from the three field variables firstName, surname, and yearOfJoining of types String, String, and int, resp. Implement methods public String getFirstName(), public String getSurname(), public String getYearOfJoining(), and public void setSurname(String newSurname), sets the surname to the newSurname. Furthermore write a public String toString() method that is used for printing objects of class ClubMember in a user friendly way. |
3 | Define a class Student. A Student should be represented by the field variables name, gender, studentID, and degreeProgramme, each of type String. Write a constructor Student, and getters public String getName(), public String getGender(), public String getStudentID(), and public String getDegreeProgramme(). Also write a method public String toString() that produces the following format: [John Smith, male, ID: 1111111, ICY]. |
4 | Write a class Employee. Each employee is represented by their name, their hourlySalary, and their numberOfHours of types String, double and int, respectively. Write a class with constructor, getters, setters, and a toString method. Note that the naming of constructors, getters, and setter must follow the strict naming convention. Furthermore write two methods: First the monthly salary, public double monthlySalary(), which computes for an Employee object their monthly salary (as the product of hourly salary and their number of hours). Second, public void increaseSalary(double percentage), which increases the hourly salary by the percent- age in the argument. |
Assignment Submission Form : Click here!
# | Questions |
1 | There will be three classes User, Customer and a main class. User Class is an abstract class. In that class there are three protected variable called name, loginId and password. There is also a abstract method called display. In Customer class there will be two string variable email and cellno. This class will extends the User class. So make this three class, implement as you like and call them form the main class. |
2 | There will be Four classes Animal, Habit and Dinosaur and a main class. Animal Class is a abstract class. In that class there is one string variable called Kingdom and a abstract method called display. Habit class is a interface class. In that class two method are called running and eating. And the last one is Dinosaur. This class will extends the Animal class and implements the Habit class. It has also Two variable called age and size. So make this three class, implement as you like and call them form the main class. |
3 | Create an abstract class 'Bank' with an abstract method 'getUserBalance'. $100, $150 and $200 are deposited in banks A, B and C respectively. 'BankA', 'BankB' and 'BankC' are subclasses of class 'Bank', each having a method named 'getUserBalance'. Call this method by creating an object of each of the three classes. |
Google Form Submission Link :
Click here!!Write down a summery for the things that you have learned this week.
- Week 7: Midterm Exam
Week 7: Midterm Exam
MidTerm Syllabus:
Basic java, class, object, method, constructor, encapsulated, inheritance, polymorphism, abstract, interface, and UML diagram.
Midterm Guidelines for Students. Go through them carefully and try to maintain honesty during your examination.
Midterm Examination Instruction: [Exam time: 9:00AM to 11:30AM]
Students Good luck with your midterm examination.
Click this tile to get access to both your answer script and question paper. Stay calm and avoid plagiarism. Keep your eye on the time to avoid last-second panics. You will be able to submit your answer script once therefore revise before uploading. No request for resubmission will be accepted.
Instructions:
- Take a good look at the question paper, read the questions first, and then start to answer in your answer script that is provided.
- Maintain the proper orientation of your answer script and arrange your answer script properly
- Name your PDF in the following format: CSE134-O1-111-15-2345-mid.pdf (Course Code-Section-Student ID)
- Make sure that you upload your answer script only in PDF format(not in word/jpg/.java format)
- If your pdf size is less than 10MB, upload in the file submission option in BLC.
- If your pdf size is more than 10MB, First upload your file to google drive and then share the PDF's link in the online text submission field in BLC. You can't share the link of the folder as in that case your submission will be invalid.
Good Luck and be very careful with your submission
- Week 8: Working with Exception Handling & Presentations
Week 8: Working with Exception Handling & Presentations
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
Presentation Week:
Presentation: Spring 2021
Presentation is an important skill, and therefore make sure that you are dedicated enough to improve this skill base of yours. From the selected topic of your choice(lab final project) make a presentation of about 2 minutes where you will explain that topic to me. It is recommended to be in formal attire and keep your video feed on. Record your video using google meet or using any other preferable software and upload that video in google drive and share the like of the video in the google form below.
Google form: Click here to submit your presentation!!
Write down a summery for the things that you have learned this week.
- Week 9: Review on Polymorphism
Week 9: Review on Polymorphism
Topics of Discussion
- Polymorphism and application in OOP
- Problem Solving using Polymorphism
Expected Learning Outcome
- Problem solving using Polymorphism
Lecture Video of Class:
Class Lectures:
Write down a summery for the things that you have learned this week.
- Week 10: Review Week
Week 10: Review Week
Lecture Video of Class:
Lab Final Assessment: Summer 2021
Each of you has been assigned to an individual project. Make sure that plagiarism is minimal or else marks from penalized from your lab marks.
Project Submission Link: Click here!!
- Final Assessmnet
Final Assessmnet
Final Examination: Summer 2021
Good luck everyone, try to stay calm during the examination. Keep an eye on the clock and manage your time properly. Last but not the least, READ your question carefully. Submit your answer script in pdf format. Avoid plagiarism.
Instructions:
- Take a good look at the question paper, read the questions first, and then start to answer in your answer script that is provided.
- Maintain the proper orientation of your answer script and arrange your answer script properly.
- Name your PDF in the following format: CSE134-O1-111-15-2345-mid.pdf (Course Code-Section-Student ID).
- Make sure that you upload your answer script only in PDF format(not in word/jpg/.java format).
- Submit your answer script in the Google Form below, since some of you have internet problems.
Final Script Submission Link: Click here!!