Advanced Programming 420-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 25h
Preparation for the exam: 10h
Exam duration: 2h
Individual consultation with the teacher: 10h
Student workload:
- that requires direct interaction with the teacher: 87h, 3 ECTS
- that does not require direct interaction with the teacher: 50h, 2 ECTS
Type of course
Mode
Requirements
Prerequisites (description)
Course coordinators
Learning outcomes
Learning outcomes of the course:
He knows and understands basic object-oriented techniques: data abstraction, encapsulation, inheritance, and polymorphism. KA6_WG4, KA6_WG5
He knows advanced programming techniques (using library classes, redefining standard methods from the Java Object class, interfaces, throwing, capturing and handling exceptions, defining and using generalized classes and collections, serialization, unit testing, and generating documentation). KA6_WG4, KA6_WG5
He knows the assumptions and characteristics of basic object-oriented design patterns. KA6_WG3, KA6_WG4, KA6_WG5
He can create an object-oriented mapping of the problem domain with the realization of relationships between conceptual classes (specialization / generalization, aggregation, and composition). KA6_UW6, KA6_UW7, KA6_UW8, KA6_UK3
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). KA6_UW6, KA6_UW7, KA6_UW8, KA6_UK3
He can capture the basic design patterns in the problem domain, design and implement them. KA6_UW6, KA6_UW8, KA6_UW15, KA6_UK3
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. KA6_UU1, KA6_KK1
Assessment criteria
Form of assessment: written 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: