First Cycle - Faculty of Engineering - Computer Engineering (English)
Y : Year of Study S : Semester
Course Unit Code Course Unit Title Type of Course Y S ECTS
CSE3063 Object-Oriented Software Design Compulsory 3 5 5
Objectives of the Course
Main objective of this course is providing a sound understanding of the fundamental concepts and philosophy of object oriented software design while facilitating a mastery of the notation and process which will be practiced with the realistic applications within a variety of problem domains.
Learning Outcomes
1 Knowledge of MVC architecture and design patterns.
2 Ability to apply theoretical knowledge to problems in a variety of domains.
3 Understanding of class relationships like association, composition, single and multiple inheritance.
4 Knowledge of UML in terms of class, object and sequence diagrams.
5 Treating different object aspects of identity, state and behaviour.
6 Identifying the difference between object oriented decomposition and algorithmic decomposition.
7 Understanding of abstraction, decomposition and hierarchy concepts.
Mode of Delivery
Formal Education
Course Contents
Complexity of the software and structure of complex systems,
Classes and objects,
Notation and UML,
Encapsulation and composition,
Inheritance and interfaces,
MVC architecture,
Design patterns.
Weekly Detailed Course Contents
Week Theoretical Practice Laboratory
1 Introduction to the course.
2 Complexity of the software and structure of complex systems.
3 Classes and objects.
4 Notation and UML.
5 Quiz 1 and solution workshop.
6 Quiz 2 and solution workshop.
7 Encapsulation and composition.
8 Midterm.
9 Midterm solution workshop.
10 Inheritance and interfaces.
11 Quiz 3 and solution workshop.
12 Quiz 4 and solution workshop.
13 MVC architecture.
14 Design patterns.
15 Term wrap-up and course evaluation.
16 Final exam study.
17 Final exam.
Recommended or Required Reading
Object-Oriented Analysis and Design with Applications (Third Edition) by Grady Booch ISBN 0-201-89551-X
UML Distilled (Third Edition) by Martin Fowler ISBN 0-321-19368-7
Design Patterns (Elements of Reusable Object-Oriented Software) by Erich Gamma ISBN 0-201- 63361-2
Planned Learning Activities and Teaching Methods
One of the biggest challenges of this course is to achieve the necessary transformation from procedural thinking to object oriented thinking. This transformation requires the replacement of old habits of algorithmic decomposition with the object oriented decomposition as well as obtaining a new vision based on hierarchy. In order to achieve this transformation, this course contains several quizzes other than midterm and final exams. Each quiz introduces a new problem to the student where the student concentrates on the problem for a certain time to introduce a design solution. Once the quiz is over, there is an immediate solution workshop where the whole class works on the same problem and comes up with a common solution with the instructor’s contribution. These workshops help the students a lot in order to tune their thinking to the new paradigm.
Term (or Year) Learning Activities60
End Of Term (or Year) Learning Activities40
Term (or Year) Learning ActivitiesQuantityWeight
Midterm Exam134
Quiz Exam466
End Of Term (or Year) Learning ActivitiesQuantityWeight
Final Exam1100
Language of Instruction
Work Placement(s)
Workload Calculation
Activities Number Time (hours) Total Work Load (hours)
Theoretical 14 3 42
Midterm Preparation 1 24 24
Final Preparation 1 24 24
Quiz Preparation 4 8 32
Total 20 59 122
Contribution of Learning Outcomes to Programme Outcomes
PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10PO 11PO 12PO 13PO 14PO 15PO 16
LO 10000000000000000
LO 20000000000000000
LO 30000000000000000
LO 40000000000000000
LO 50000000000000000