Subject description - B4B36ONM

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
B4B36ONM Object-oriented design and Modeling
Roles:PO Extent of teaching:2P+2C
Department:13136 Language of teaching:CS
Guarantors:  Completion:Z,ZK
Lecturers:  Credits:6
Tutors:  Semester:Z

Anotation:

Objektově-orientovaný přístup dnes drtivě převažuje ve všech aspektech vývoje softwaru: analýze, návrhu i implementaci. Cílem tohoto kurzu je dovést studenty k solidnímu porozumění základním pojmům objektové teorie a nastínit jejich formální základy.

Study targets:

Porozumění základním principům objektového přístupu, schopnost jejich správné aplikace ve středně složitých situacích.

Course outlines:

1. Objekty, Třídy, instance a atributy
2. Paměť v objektově-orientovaných jazycích
3. Polymorfismus a dědičnost
4. Modularita a zapouzdření
5. Návrhové vzory 1
6. Návrhové vzory 2
7. Návrhové vzory 3
8. Ukázky použití návrhových vzorů 1
9. Ukázky použití návrhových vzorů 2
10. Zápočtový test
11. SOLID, DRY, GRASP
12. GRASP - Příklady
13. Imutabilita a funkcionální programování
14. Ukázky funkcionálního programování

Exercises outline:

1. Úvod
2. Jak v Java na Objekty, Třídy, instance a atributy
3. Paměť v objektově-orientovaných jazycích
4. Polymorfismus a dědičnost v Java
5. Modularita a zapouzdření v Java
6. Návrhový vzor Adapter
7. Návrhový vzor Visitor
8. Návrhový vzor Interpreter
9. Návrhový vzor Command
10. Opakování
11. Principy SOLID, DRY
12. Ukázka principů GRASP
13. Imutabilita v jazyku Java
14. Ukázky funkcionálního programování ve Scala

Literature:

[1] R. Pecinovský: Myslíme objektově v jazyku Java.
[2] R. Pecinovský: Návrhové vzory - 33 vzorových postupů pro objektové programování.
[3] B. Eckel: Thinking in Java
[4] Er. Gamma et al.: Design Patterns: Elements of Reusable Object-Oriented Software.

Requirements:

Základní znalost programování, základní znalosti matematiky, schopnost exaktního myšlení.

Subject is included into these academic programs:

Program Branch Role Recommended semester
BPOI3_2016 Software PO 3


Page updated 14.4.2021 05:52:57, semester: Z/2020-1, L/2021-2, L/2020-1, Z,L/2022-3, Z/2021-2, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)