COURSE INFORMATION
Course Title: ADVANCED OBJECT ORIENTED PROGRAMMING
Code Course Type Regular Semester Theory Practice Lab Credits ECTS
CEN 411 C 1 3 2 0 4 7.5
Academic staff member responsible for the design of the course syllabus (name, surname, academic title/scientific degree, email address and signature) NA
Main Course Lecturer (name, surname, academic title/scientific degree, email address and signature) and Office Hours: Dr. Igli Hakrama ihakrama@epoka.edu.al
Second Course Lecturer(s) (name, surname, academic title/scientific degree, email address and signature) and Office Hours: NA
Teaching Assistant(s) and Office Hours: NA
Language: English
Compulsory/Elective: Elective
Study program: (the study for which this course is offered) Master of Science in Computer Engineering (2 years)
Classroom and Meeting Time:
Code of Ethics: Code of Ethics of EPOKA University
Regulation of EPOKA University "On Student Discipline"
Attendance Requirement:
Course Description: -
Course Objectives: The objective of this course is to give a full knowledge on the object oriented usage on real projects. The goal of this course is to equip students with advanced design and programming techniques in the object-oriented programming paradigms. To increase students’ knowledge of object-oriented design concepts, • To teach the knowledge and skills needed to develop reusable, quality programs, • To instruct students on the use of object-oriented design tools such as UML for modeling problem solutions and complex systems, and to increase students proficiency in programming in object-oriented environments.
BASIC CONCEPTS OF THE COURSE
1 Object Oriented Paradigms
2 Advanced Encapsulation
3 Generics
4 Interfaces, Inner Classes and Lambda Expressions
5 Design Patterns
6 Multithreading
7 Streams
COURSE OUTLINE
Week Topics
1 Introduction
2 Classes, Objects, Inheritance
3 Abstract Classes, Interfaces and Inner Classes
4 Interfaces, Lambda Expressions, and Anonymous Inner Classes
5 Exceptions, Assertions, and Logging
6 Generic Programming
7 Design Patterns I
8 Design Patterns II
9 JavaFX
10 Advanced Thread Synchronization and Concurrency Patterns
11 Accessing Files and networks
12 Working with Streams
13 Spring Framework
14 Other Topics
Prerequisite(s):
Textbook(s): Core Java Volume I–Fundamentals, 11th Edition, Cay S. Horstmann, Pearson 2019 Core Java Volume II–Advanced Features, 11th Edition, Cay S. Horstmann, Pearson 2019
Additional Literature:
Laboratory Work: Yes
Computer Usage: Yes
Others: No
COURSE LEARNING OUTCOMES
1 Knowledge and ability to apply Object-oriented concepts
2 Knowledge and ability to apply Design Patterns
3 Able to properly use Streams and Threads
4 Able to properly use design patterns and OO concepts to build an application
COURSE CONTRIBUTION TO... PROGRAM COMPETENCIES
(Blank : no contribution, 1: least contribution ... 5: highest contribution)
No Program Competencies Cont.
Master of Science in Computer Engineering (2 years) Program
1 Engineering graduates with sufficient theoretical and practical background for a successful profession and with application skills of fundamental scientific knowledge in the engineering practice. 5
2 Engineering graduates with skills and professional background in describing, formulating, modeling and analyzing the engineering problem, with a consideration for appropriate analytical solutions in all necessary situations 5
3 Engineering graduates with the necessary technical, academic and practical knowledge and application confidence in the design and assessment of machines or mechanical systems or industrial processes with considerations of productivity, feasibility and environmental and social aspects. 5
4 Engineering graduates with the practice of selecting and using appropriate technical and engineering tools in engineering problems, and ability of effective usage of information science technologies. 5
5 Ability of designing and conducting experiments, conduction data acquisition and analysis and making conclusions. 4
6 Ability of identifying the potential resources for information or knowledge regarding a given engineering issue. 5
7 The abilities and performance to participate multi-disciplinary groups together with the effective oral and official communication skills and personal confidence. 3
8 Ability for effective oral and official communication skills in foreign language. 3
9 Engineering graduates with motivation to life-long learning and having known significance of continuous education beyond undergraduate studies for science and technology. 4
10 Engineering graduates with well-structured responsibilities in profession and ethics. 4
11 Engineering graduates who are aware of the importance of safety and healthiness in the project management, workshop environment as well as related legal issues. 2
12 Consciousness for the results and effects of engineering solutions on the society and universe, awareness for the developmental considerations with contemporary problems of humanity. 4
COURSE EVALUATION METHOD
Method Quantity Percentage
Project
1
40
Final Exam
1
60
Total Percent: 100%
ECTS (ALLOCATED BASED ON STUDENT WORKLOAD)
Activities Quantity Duration(Hours) Total Workload(Hours)
Course Duration (Including the exam week: 16x Total course hours) 16 5 80
Hours for off-the-classroom study (Pre-study, practice) 16 3 48
Mid-terms 0
Assignments 4 10 40
Final examination 1 19.5 19.5
Other 0
Total Work Load:
187.5
Total Work Load/25(h):
7.5
ECTS Credit of the Course:
7.5
CONCLUDING REMARKS BY THE COURSE LECTURER

-