Course Gidebook OOP Final

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

BAHIR DAR UNIVERSITY

BAHIR DAR INSTITUTE OF TECHNOLOGY


FACULTY OF ELECETRICAL AND COMPUTER ENGINEERING
Software Systems and Data Science Chair

Course Guide Book for Object Oriented Programming

1. GENERAL INFORMATION OF THE COURSE

Course Name: Object Oriented Programming


Course Code: CoEng3101
Course Credits Points: 5 hrs
Contact Hours: 2 hrs lecture, 3 hrs lab per week
Course Module: Programming and Artificial Intelligence
Course Category: Major
Status of Course: Compulsory
Pre-Requisites: Fundamental of Programming
Students’ Department: Electrical Engineering
Degree Program: B.Sc. in Electrical Engineering
Students’ Admission: Regular
Year of Study: 3
Semester: First Semester
Academic Year: 2024/2025
Course Duration: From November. 2024 to March. 2025
Teaching & Learning Lecture, Lab. work, Group discussion/work, Project works, Class works, Presentation
Methods:
Attendance Requirement: Minimum 85% during lecture hours and 100% on practical work session
Course Chair:
Course Instructors: Atirsaw Awoke, MSc in Computer Engineering
Email: [email protected]
Office: B20/149

Consultation: Tuesday morning 10:00AM -11:00AM


Friday afternoon 2:00PM-3:30PM

2. COURSE DESCRIPTION
This course provides in-depth coverage of object-oriented programming principles and techniques. The course gives
emphasis on the fundamentals of structured design with classes and objects. Topics include classes, objects, overloading,
abstraction, encapsulation, inheritance, and polymorphism. It alsoexamines strings, arrays, methods, constructor methods,
method overloading, method overriding, accessmodifiers and interfaces. The Java programming language will be used as the
teaching vehicle for this course.

Guide Book for OOP Course 2024/2025 1


)
3. OBJECTIVES OF THE COURSE
Specifically, the objectives of the course are:
1. To introduce students to the history of computing, programming paradigms, and the fundamentals of the Object-Oriented (OO)
paradigm.
2. To develop students’ understanding of the essential elements and principles of OOP, including classes, objects, encapsulation,
inheritance, and polymorphism.
3. To familiarize students with advanced OOP concepts, including abstraction, interfaces, exception handling, and event-driven
programming.
4. To provide hands-on experience in OO software development methodologies and design patterns, including the Model-View-
Controller (MVC) architecture.
5. To introduce graphical user interface (GUI) development in Java, enabling students to build interactive applications.
6. To introduce concurrent programming concepts and multithreading in Java, including creating and managing threads for
concurrent execution.

1. COURSE Learning OUTCOMES (CLO)


At the end of the course, students will be able to:
Program
Performance
Student
No Course Learning Outcome (CLO) Indicators
Outcome
(PIs)
(PSO)

1. Describe the history of computing, various programming paradigms, and the A1 1


benefits of the Object-Oriented paradigm.
2. Apply OOP principles such as encapsulation, inheritance, and polymorphism in Java
A1, B1 2
programming.
3. Develop Java applications using classes, objects, constructors, and access control
B1, B2 2
mechanisms
4. Design and implement object-oriented software using inheritance, polymorphism
B2 3
(overloading and overriding), abstract classes, and interfaces
5. Build Java GUI applications, utilizing GUI components and the MVC architecture
B3, B4 4
for user interface design
6. Implement exception handling, event-driven programming, and manage threads to
C1, C3 5
enable concurrent execution in Java applications.

4. THE COURSE TIME SCHEDULE AND TEACHING METHODLOGY


Table 1. Time Schedule and Teaching Methodology of the course

Time Teaching Attaining student


Course Contents
Schedule Methodology and References outcome
1. Why This Course? ▪ Lecture, reading, discussions
1.1 Introduction (Getting started)
1.2 History of computing, Different Programming Paradigms Reference: Deitel, H. M. Java
Why the Object Orientation Paradigm How to Program, 7th Edition
Week 1 Objective: 1
1.3 Object Oriented Principles (2009), p. 28-39
1.4 Why Java? Ref. 1 p15-20,146
1.5 The Java Language Specification, API, JDK, and IDE

2. Object Oriented Programming. Lecture, reading, discussions and


2.1. Fundamental Elements of OOP classwork
Week 2- 2.2. Classes, Objects, Methods and Variables Reference: Deitel, H. M. Java
Objective: 1, 2, 3
5 2.3. OOP Principles, Instantiation, Encapsulation, How to Program, 7th Edition
Specialization, Constructors (2009), p. 64-125
2.4. Encapsulating and Sub Classing Ref. 1 p 19-20, 343-344, 109

Guide Book for OOP Course 2024/2025 2


)
2.5. Controlling Access to Members of a Class Ref. 2 p 6, 74-78, 93-98, 96-102
2.6. Data Abstraction, Sub Classing and Encapsulation
2.7. Inheritance, Polymorphism
2.8. Polymorphism using Overridden Methods
2.9. Polymorphism using Overloading Methods
2.10. Abstract Class and Method
2.11. final and this Keyword Interface

3. Java Applet Lecture, Reading,


2.12. Introduction discussions
2.13. Java Applet and Html Deitel, H. M. "Java How to
Week 6-
2.14. Java Exception and Exception Handling program 7thedition." (2009). Objective: 1, 2, 3
7
2.15. Events, Triggers and Streams p 679-706, 976-982
Ref. 1 p1004-1005, 343-347

Week 8 MID WEEK


4. Object Oriented Software Development ▪ Lecture, Reading, discussions
4.1. Object Oriented Design Methodologies ▪ Reference: Deitel, H. M. Java
Week 9- 4.2. Top-down approach How to Program, 7th Edition
Objective: 2, 3
11 4.3. Decomposition (2009), p. 455-490
4.4. Use Case Object, Relationship, Inheritance, Association Ref. 2 p 246-261
and Aggregation
5. Graphical User Interface ▪ Lecture, Reading, Tutor
5.1. GUI Application Development ▪ Reference: Deitel, H. M. Java
5.2. GUI Packages and Classes How to Program, 7th Edition Objective 3,5
Week
5.3. GUI Component and API (2009), p. 550-563
12-13
5.4. Model View Controller (MVC)MVC Pattern- Model, Ref. p.1004-1005
View and Controller

6. Threads and Concurrent Programming ▪ Lecture, Reading, Tutor


6.1. Introduction to Multithreading ▪ Reference: Deitel, H. M. Java
Week Objective: 6
6.2. Application of Multithreading How to Program, 7th Edition
14-15
6.3. Creating Multithreading Programs using Object (2009), p. 1070- 1080
Oriented Programming Ref. 1 p.829-860
Week 16 Final Exam

5. ASSESSMENT AND EVALUATION


The courses include multiple type of continuous assessment and evaluation modality.
Mark Attaining course learning outcome
No Assessment type Content Coverage Time Schedule
allotted (CLO)
Individual
1 10% Chapter 1 and 2 1 Week 3
Assignment
5 Quiz Exam 1 5% Chapter 2 & 3 3 Week 4
7 Mid exam 25% 1,2,3,4,6 Week 8
8 Mini-Project 10% Chapter 2-5 4 Week 9 -14
13 Final Exam 50% Chapter 2, 4,5&6 1,2,3,4,5,6 16
Total 100%

Guide Book for OOP Course 2024/2025 3


)
6. LABORATORY/WORKSHOP/ SESSION
Summary of laboratory /Work shop/ session content and required material

N Schedul Short Description of laboratory Attaining course outcome


Laboratory Topic
o e
Introducing students to the IDE and creating a Objective 1: Familiarize students
creating a first Java
1 Week 1 first Java program. Includes navigating Eclipse with IDE tools and Java
program.
or NetBeans and creating/running a test project. development basics.
Implementing various control structures, Objective 2: Develop a
Implementing
Instancevariable and a class variable, methods foundational understanding of
2 Week 2 various control
and arrays Java syntax and core
structures,
programming constructs.
Introduction to type Introduction to types of overloading: method Objective 3: Reinforce OOP
of overloading, overloading and constructor overloading. concepts and demonstrate
3 Week 3
constructor method flexibility with
overloading overloading.
Data abstraction and Encapsulation Objective 4: Understand and
Data abstraction apply encapsulation and
4 Week 4
and Encapsulation abstraction, essential OOP
principles.
Objective 5: Explore
Implementing inheritance structures to
5 Week 5 inheritance reinforce reusability and class
hierarchy understanding.
Understanding and implementing Objective 6: Deepen
Understanding polymorphism. understanding of
6 Week 6 and implementing polymorphism, a core OOP
polymorphism. concept, through practical
examples.
Understanding interfaces and appropriate Objective 7: Gain practical
Implementing scenarios for their use. experience in interface usage to
7 Week 7
Interface achieve abstraction and
flexibility.
Objective 8: Apply concepts of
java applet and Implementing Java applets and exception GUI and error-handling,
8 Week 8 java Exception handling. critical in robust application
Handling development.
Implementing association and aggregation. Objective 9: Understand and
association and apply relationships between
9 Week 9
aggregation objects to build structured
applications.
Role of object-oriented programming in GUI Objective 10: Strengthen skills
Week GUI, event design, event handling, and layout management in OOP-based GUI
10 handling and
10 development, focusing on event
layout manager handling and user interfaces
Understanding multithreading in Java and its Objective 11: Gain experience
Week multithreading in practical use. with concurrency concepts to
11
11 Java develop responsive, multi-
threaded applications.

7. COURSE POLICY
All students are expected to abide by the code of conduct of students (article 166 and 166.1.1, of The SenateLegislation of Bahir
Dar University May 20, 2005) throughout this course.
• Academic dishonesty, including cheating, fabrication, and plagiarism will not be tolerated.

Guide Book for OOP Course 2024/2025 4


)
• Class activities will vary day to day, ranging from lectures to discussions. Students will be activeparticipants in the
course.
• 85 % of class attendance is mandatory! Please try to be on time for class. I will not allow you toenter if you are
late more than five minutes.
• Active participation in class is essential and it will have its own value in your grade
• Cell phone be MUST turned off before entering the class

8. GRADING SYSTEM
The grading scale of the course is fixed scale according to senate legislation of Art. 167.
Table 3. Grading scale of the course

Raw Mark Interval Corresponding Letter Corresponding Fixed NumberGrade


(100%) Grade
90 ≤ x ≤ 100 A+ 4.0
85 ≤ x < 90 A 4.0
80 ≤ x < 85 A- 3.75
75 ≤ x < 80 B+ 3.50
70 ≤ x < 75 B 3.00
65 ≤ x < 70 B- 2.75

Guide Book for OOP Course 2024/2025 5


)
60 ≤ x < 65 C+ 2.50
50 ≤ x < 60 C 2.00
45 ≤ x < 50 C- 1.75
40 ≤ x < 45 D 1.00
30 ≤ x < 40 Fx 0.00
<30 F 0.00

9. TEXT BOOKS
Deitel, H. M. "Java How to program 7th edition." (2009).
10. REFERENCES:
➢ Eckel, Bruce. Thinking in JAVA. Prentice Hall Professional, 2003.
➢ Bloch, Joshua. Effective java. Pearson Education India, 2017.

The following bodies confirmed the course guidebook accordingly.

Position Name Signature Date


Course Instructors Atirsaw Awoke
Course Chair Tegegne Kibebew
Chair Holder Yesunhe Getachew

Guide Book for OOP Course 2024/2025 6


)

You might also like