BAHIR DAR UNIVERSITY
BAHIR DAR INSTITUTE OF TECHNOLOGY
FACULTY OF ELECETRICAL AND COMPUTER ENGINEERING
Software Systems and Data Science Chair
Course Guide Book for Advanced programming
1. GENERAL INFORMATION OF THE COURSE
Course Name: Advanced programming
Course Code: CoEng 4111
Course Credits Points: 5
Contact Hours: 2 hrs lecture, 3 hrs tutorial, 3 hrs lab per week
Course Module: Programming
Course Category: Major
Status of Course: Compulsory
Pre-Requisites: Intermediate Computer Programming
Students’ Department: Computer Engineering
Degree Program: B.Sc. in Computer Engineering
Students’ Admission: Regular
Year of Study: 4
Semester: First Semester
Academic Year: 2023/2024
Course Duration: From Feb. 2024 to May. 2024
Teaching & Learning Lecture, , Group discussion/work, Project works, Class works,
Methods: Presentation
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 introduces object-oriented programming using the Java programming language. Students will learn how to
program in Java and use some of its most important APIs. Special importance will be assigned to the object-oriented nature
of Java and its use of polymorphism. Hands-on labs and exercises will enable students toward becoming highly skilled Java
Application developers.
1
3. OBJECTIVES OF THE COURSE
At the end of this course, the course is aimed:
• Get to know Java programming language and development environment
• To enable students to work with pure Object-Oriented Programming Language
• To enable students to understand and use file Input/Output in Java
• To enable students to understand and use advanced programming principles of most modern programming
languages through Java programming language
2
4. THE COURSE TIME SCHEDULE AND TEACHING METHODLOGY
The following topics will be covered in this course within this semester.
Table 1. Time Schedule and Teaching Methodology of the course
Teaching
Time Attaining
Course Contents Methodology and
Schedule Objective
References
Chapter 1: Introduction (Getting started) ▪ Lecture, reading, class
work, discussions
1.1. Programming language paradigms, Compiled and
interpreted languages Java how to 1
Week 1 1.2. Introduction to Java and the Eclipse Development program. Late
Environment objects version by
1.3. Fundamental Programming Structures in Java Deitel, Harvey M.
Deitel, Paul J
Chapter 2: Object Oriented Programming
2.1 Object Oriented Programming in Java
2.2 Classes and Objects-property abstraction, ▪ Lecture, Reading,
encapsulation, access modifier discussions
2.3 Inheritance and class relationships Polymorphism Java how to
and Interfaces-including abstract class and method program. Late
objects version by 1,2,3
Object declaration and Dependency injection
Deitel, Harvey M.
Deitel, Paul J
Week 2-4
Chapter 3: Java Collections Lecture, Reading,
discussions
3.1 Array, Linked-list and array-lists, Set, HashSet, Map, Java how to
Week 5-7 HashMap, Queue and stack program. Late 1,2,3
objects version by
Deitel, Harvey M.
Deitel, Paul J
Week 8 Mid Exam
Guide Book for Advanced Programming 3
Chapter 4: Streams API and Generic Programming Lecture, Reading,
discussions
4.1 Streams API
Java how to
4.2 Generic Method, Generic Class, Row Types, Generic
Week 9- program. Late 1,2,3
10 Collections objects version by
Deitel, Harvey M.
Deitel, Paul J
Chapter 5: Multithreading and Exception Handling: Lecture, Reading,
discussions
5.1 Thread state and life cycle
Java how to
5.2 Creating executing thread and Thread
program. Late
Week 11- synchronization, objects version by 4
12 Deitel, Harvey M.
5.3 Introduction to Exception and Exception Handing Deitel, Paul J
When to use exception handling
• Java Exception Hierarchy • Precondition, Postcondition,
5.4
Chapter 6: Java Database Programming and Network Java how to
Programming program. Late
objects version by
Week 13 6.1 Introduction database connectivity, JDBC Drivers, Deitel, Harvey M. 4
Database connection, Database Manipulation with JDBC, Deitel, Paul J
Object Relational Mapping (ORM) and Hibernate ORM
6.2 Interlocution to Network Layers and OSI model, Client
Server Program, Sockets, TCP Sockets, UDP Sockets,
Multicast Sockets, Java Mail API
Week 14 Chapter 7: Java Graphical User Interface Design Lecture, Reading,
(GUI)-using AWT and Swing: Java how to 4
program. Late
7.1 AWT class Hierarchy, Creating Container, Adding objects version by
Component, Layout, Panel, and components like dialog box, Deitel, Harvey M.
scrollbar, menu, Event Handling, Swing (J components like Deitel, Paul J
JTextField, JTable,)
Week 15 Final Exam
5. ASSESSMENT AND EVALUATION
The courses include multiple type of continuous assessment and evaluation modality.
Table 2. Summary of Assessments
S.No Assessment type Mark allotted in %
1 Individual Assignment (chapter 1, 2 & 3) 15
2 Lab Report and/or Exam 15
3 Mid Exam 20
Guide Book for Advanced Programming 4
4 Final Exam 50
Total 100
6. COURSE POLICY
All students are expected to abide by the code of conduct of students (article 166 and 166.1.1, of The Senate
Legislation of Bahir Dar University May 20, 2005) throughout this course.
• Academic dishonesty, including cheating, fabrication, and plagiarism will not be tolerated.
• Class activities will vary day to day, ranging from lectures to discussions. Students will be active
participants in the course.
• 85 % of class attendance is mandatory! Please try to be on time for class. I will not allow you to
enter if you are late more than five minutes.
7. 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 Number
(100%) Grade 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
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
8. TEXT BOOKS
➢ Java how to program. Late objects version by Deitel, Harvey M. Deitel, Paul J
9. REFERENCES:
➢ Advanced Java programming by Uttam Kumar Roy:
➢ Any Java books and Online Java documentations
The following bodies confirmed the course guidebook accordingly.
Position Name Signature Date
Course Instructor Atirsaw Awoke
Course Chair Tegegne Kibebew
Chair Holder Yesunhe Getachew
Guide Book for Advanced Programming 5