Subject description - B6B36OMO

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
B6B36OMO Object-oriented design and Modeling Extent of teaching:2+2c
Guarantors:Kadleček D. Roles:PZ,P Language of
teaching:
CS
Teachers:Kadleček D., Kukačka D. Completion:Z,ZK
Responsible Department:13136 Credits:6 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í.

Webpage:

https://cw.fel.cvut.cz/wiki/courses/b6b36omo/start

Subject is included into these academic programs:

Program Branch Role Recommended semester
BPOI3_2018 Software PZ 3
BPSIT Common courses P 3


Page updated 24.6.2019 12:52:41, semester: Z,L/2020-1, L/2018-9, Z,L/2019-20, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)