Hlavní stránka | Seznam oborů/specializací | Seznam všech skupin předmětů | Seznam všech předmětů | Seznam rolí                Návod

Předmět je základní jednotka výuky, jejímž prostřednictvím si student osvojí ucelenou část souboru znalostí a dovedností, potřebnou pro zvládnutí studijního oboru/specializace. Za věcný obsah předmětu zodpovídá garant předmětu. Časovou náročnost předmětu zhruba vyjadřuje atribut předmětu rozsah kontaktní výuky. Například rozsah = 2+2  značí, že předmět bude mít týdně dvě hodiny přednášek a dvě hodiny cvičení týdně. Na závěr semestru musí vyučující provést vyhodnocení, nakolik si ten který student osvojil poznatky a dovednosti, kterých měl během výuky nabýt. Jakým způsobem toto hodnocení vyučující provedou určuje atribut způsob zakončení. U předmětu lze definovat, že předmět je zakončen pouze zápočtem(Z), klasifikovaným zápočtem(KZ), pouze zkouškou(ZK), nebo zápočtem a zkouškou(Z,ZK). Náročnost úspěšného absolvování předmětu je vyjádřena ECTS kreditními body. Výuka předmětu probíhá během semestru. Opakovaně se předmět vyučuje vždy v zimním(Z), nebo v letním(L) semestru každého akademického roku. Výjimečně může předmět být nabízen studentům v obou semestrech(Z,L). Za organizační zajištění výuky zodpovídá přiřazená katedra, která zejména vytvoří časový rozvrh předmětu a zajistí pro předmět vyučující. Někteří přednáší a zkouší, jiní vedou cvičení a udělují zápočty.
Obsahová náplň a další organizační informace, týkající se předmětu je popsána pomocí různých popisných textů(anotace, týdenní osnova, literatura, apod.)
$DODATEK_POPIS
BIE-OOP.21 Object-Oriented Programming Rozsah kontaktní výuky: 2P+2C
Vyučující: Křikava F., Máj P. Způsob zakončení: Z,ZK
Zodpovědná katedra: 18101 ECTS Kredity: 5 Semestr: Z

Anotace:
Object-oriented programming has been used in the last 50 years to solve computational problems by using graphs of objects that collaborate together by message passing. In this course students get acquainted with the main principles of object-oriented programming and design, used in modern programming languages. The emphasis is on practical techniques for developing software, which includes testing, error handing, refactoring, and application of design pattern.

Osnovy přednášek:
1. History and the origin of object-oriented paradigm.
2. Basic principles of object-oriented programming and design: objects, messages, classes, attributes.
3. Hierarchical object-oriented data structures.
4. Inheritance and parametric polymorphism, substitution principle.
5. Testing of an object-oriented design.
6. Pure object-oriented languages.
7. Error handling, exceptions, design by contract.
8. Refactoring of object-oriented design.
9. Object model and reflection.
10. Object-oriented design patterns.
11. Prototype-based inheritance.
12. [2] Implementation of object-oriented programming languages.

Osnovy cvičení:
1. History and the origin of object-oriented paradigm, basic principles of object-oriented programming and design.
2. Composition and inheritance.
3. Polymorphism and the substitution principle.
4. Testing of object-oriented design.
5. Pure object-oriented languages.
6. Error handling, exceptions and design by contract.
7. Refactoring of object-oriented code.
8. Object model and reflection.
9. Object-oriented design patterns.
10. Typeclasses
11. Prototype-based inheritance.
12. [2] Implementation of object-oriented languages.

Literatura:
1. Stevens R. W. et al : Unix Network Programming, Volume 1: The Sockets Networking API (3rd Edition). Addison-Wesley, 2004. ISBN 978-0131411555.
2. Stevens R. W. : Unix Network Programming, Volume 2: Interprocess Communications (2nd Edition). Addison-Wesley, 1998. ISBN 978-0132974295.
3. Raval S. : Decentralized Applications: Harnessing Bitcoin's Blockchain Technology. O ?Reilly, 2016. ISBN 978-1491924549.
4. Colouris G. : Distributed Systems: Concepts and Design (5th Edition). Addison-Wesley, 2011. ISBN 978-0132143011.

Požadavky:
- BI-TJV - BI-PPA - BI-PA2

Předmět je zahrnut do těchto studijních plánů:
Plán Obor Role Dop. semestr
BIE-PV.21 Computer Systems and Virtualization 2021 V 5
BIE-SI.21 Software Engineering 2021 PS 5
BIE-PS.21 Computer Networks and Internet 2021 VO 5
BIE-TI.21 Computer Science 2021 PS 5
BIE-IB.21 Information Security 2021 (Bachelor in English) V 5
BIE-PI.21 Computer Engineering 2021 V 5


Stránka vytvořena 29. 4. 2024, semestry: Z/2023-4, Z/2019-20, L/2021-2, L/2020-1, L/2022-3, Z/2021-2, L/2019-20, Z/2022-3, Z/2020-1, L/2023-4, Z/2024-5, připomínky k informační náplni zasílejte správci studijních plánů Návrh a realizace: J. Novák, I. Halaška