Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2018/2019

Object Programming and Modeling

The course is not on the list Without time-table
Code Completion Credits Range Language
A7B36OMO Z,ZK 6 2+2c Czech
Enrollement in the course requires an successful completion of the following courses:
Algorithmics (A7B36ALG)
Lecturer:
Tutor:
Supervisor:
Department of Computer Science and Engineering
Synopsis:

Object-oriented approach to software development prevails in all of its three phases: analysis, design and implementation. The aim of this course is to give the students a firm understanding of basic concepts and notions of object theory and sketch its formal foundations.

Requirements:

Basic knowledge of programming and mathematics.

Syllabus of lectures:

1. Classes and objecst; runtime representation

2. Type system; implementation hiding

3. Subtype polymorphism, subsumption and Liskov substitution principle

4. Static methods and variables; formal semantics

5. Pointers, linked lists, pointer-based structures

6. Correctness, assertions, class/data structure invariant, encapsulation, representation exposure

7. Inheritance; method dispatch

8. Parametric polymorphism (generic classes)

9. Advanced polymorphism; binary methods; creational design patterns

10. Immutability; advanced collections; higher-order functions

11. Metaprogramming

Syllabus of tutorials:
Study Objective:

After completing this course, students will understand basic concepts and notions of object theory and will be able to apply them correctly in moderately difficult situations.

Study materials:

1. B. Eckel: Thinking in Java

2. Er. Gamma et al.: Design Patterns: Elements of Reusable Object-Oriented Software

3. Course webpage: https://cw.fel.cvut.cz/wiki/courses/a7b36omo/start

Note:
Further information:
https://cw.fel.cvut.cz/wiki/courses/a7b36omo/start
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2019-04-26
For updated information see http://bilakniha.cvut.cz/en/predmet1391706.html