UNIVERSITY OF GONDAR
FACULTY OF INFORMATICS
DEPARTMENT OF COMPUTER SCIENCE
COURSE SYLLABUS
Course Information Instructor Information
Module Title: Advanced Programming Instructor Name: Achenef B.
Module Code: CoSc-M2081 Office: PG Bdg, Tewodros Campus
Module ECTS: 23 Phone:
Course Tile: Object Oriented Programming Email: [Link]@[Link]
Course Code: CoSc2051 Academic Year: 2023/2024
Credit hours: 3 ECTS: 5 lecture hrs. : 2 Lab Semester: I, Year: II
hrs. : 3 Tutorial hrs. : 2
Meeting day:
Prerequisites: Fundamentals of
Meeting time:
Programming II
Meeting location:
Course Description:
This programming course emphasizes the methodology of programming from an object-oriented
Perspective and software engineering principles. It allows students to develop the ability to
Analyses programming problems and design and document suitable solutions and to implement
reliable and robust software using contemporary program design methods. Topics to be dealt
with are: classes: data abstraction, information hiding, overloading; inheritance; polymorphism;
exceptions handling.
Course Goals or Learning Outcome:
Upon successful completion of the course, students will be able to:
Explain the basic object oriented concepts
Successfully code, debug and run programs with appropriate development environment
Work on more advanced programs written in Java
Have clear differentiation between structural and object oriented programming paradigms
Schedule: The following is an outline of the order in which syllabus contents will be covered.
The exact dates and due dates for assignments and exams can be found on the class calendar and
are subject to change with notice.
Week Topics Activity
1 Chapter 1: Introduction to Object-Oriented Programming (4 Lecture &
hrs.) discussion
o Types of programming paradigm
o Overview of OO principles
o Overview of Java Programming and types of Java Program
o Definition of Java Application, Java Applets
o Editing, Compiling and Interpreting
2&3 Chapter 2: Objects and Classes (6 hrs.)
Defining a class
Creating an Object
Instantiating and using objects
o Printing to the Console
o Methods and Messages
o Parameter Passing
o Comparing and Identifying Objects
o Destroying Objects
o Enumerated Types
Instance fields
Constructors and Methods
Access Modifiers
Encapsulation
4&5 Chapter 3: Inheritance and Polymorphism (8 hrs.)
Inheritance
Casting
Method Overriding and Overloading
Polymorphism
Super
The Object Class
Abstract Classes
Interfaces
Using Interfaces
4&5 Chapter 4: Exception Handling (4 hrs.)
Exceptions Overview
Catching Exceptions
The finally Block
Exception Methods
Declaring Exceptions
Defining and Throwing Exceptions
Errors and Runtime Exceptions
6&7 Chapter 5: Packages (4 hrs.)
Packages
The import Statement
Static Imports
CLASSPATH and Import
Defining Packages
Package Scope
8-11 Chapter 6: Data structures (6 hrs.)
The Set
Set Implementation Classes
The List
List Implementation Classes
The Queue
Queue Implementation Classes
Map/ dictionary
Summary of Assessment Methods:
Assessment % of Final Grade
Quizzes 10
Assignments 15
Lab Assessment 20
Tests 25
Final Exam 30
Note:-A student is required to attend all classes, laboratory and practical sessions
A student who has missed continuous assessment shall be given a grade of I (incomplete) and
shall be required to provide acceptable reasons for his failure to attend exam/class
Required Texts:
Text book: Deitel & Deitel, Java How to Program. 8th ed.
Prentice Hall Eckel, Bruce. Thinking in Java. 4th Ed. New Jersey: Prentice Hall
Summary of Teaching Learning Methods: The learning–teaching methodology will be
student-centered with appropriate guidance of instructor/s during the students’ activities .There
will be Lecture, Demonstrations, Lab work Tutorials, Reading assignments and Group
Discussions. The course will follow a rigorous schedule of assignments. Each assignment
corresponds to a section of the course content and textbook. Failure to keep up with the
assignments will result in your failing the course. Each session builds on the prior session and is
a required building block for the following section. It is very difficult for you to be successful in
the course if you miss any class sessions.