Advanced Programming 0600-IS1-2PZ
Course profile: General Academic
Form of study: Full-time studies
Course type: Obligatory
Year/semester of study: 2 / 3
Prerequisites (sequential system of courses and exams): Items introducing: Introduction to Structural Programming, Introduction to Object-Oriented Programming,
Lecture: 30 Laboratory classes: 45
Teaching methods: Lectures, laboratory classes
ECTS credits: 5
Balance of student workload:
Class attendance:
- lecture 30h
- laboratory classes 45h
Course preparation:
- lecture 15h
- laboratory classes 15h
Literature study: 5h
Reports, homeworks: 10h
Preparation for tests: 6h
Preparation for the exam: 10h
Exam duration: 2h
Individual consultation with the teacher: 3h
Student workload:
Direct interaction with the teacher: 80, 2 ECTS
Practical exercises: 70, 2 ECTS
Type of course
Mode
Requirements
Prerequisites (description)
Learning outcomes
Learning outcomes of the course:
He knows and understands basic object-oriented techniques: data abstraction, encapsulation, inheritance, polymorphism. K_W04, K_W05
He knows advanced programming techniques (using library classes, redefining standard methods from the Java Object class, using interfaces, throwing, capturing and handling exceptions, defining and using generalized classes and collections, serialization, unit testing, generating documentation). K_W04, K_W05
He knows the assumptions and characteristics of basic object-oriented design patterns. K_W03, K_W04, K_W05
He can create object-oriented mapping of the problem domain with the realization of relationships between conceptual classes (specialization / generalization, aggregation and composition). K_U06, K_U07, K_U08, K_U24
He can use in practice (to implement structurally correct, easy-to-maintain and effective object-oriented programming) advanced object-oriented programming (using library classes, redefining standard methods from the Java Object class, using interfaces, throwing, defining and handling exceptions, defining and using generalized classes and collections, serialization, unit testing, generating documentation). K_U06, K_U07, K_U08, K_U24
He can capture the basic design patterns in the problem domain, design and implement them. K_U06, K_U08, K_U15, K_U24
It is able to define the competencies of the developer-class designer and client-programmer and use programming techniques to enable and facilitate the cooperation of many developers at different levels of interaction. K_K02, K_K03
Assessment criteria
Form of assessment: exam
Bibliography
Bibliography:
Bruce Eckel - Thinking in Java, 3rd Edition
On-line documentation
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: