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-PA2.21 Programming and Algorithmics 2 Rozsah kontaktní výuky: 2P+1R+2C
Vyučující: Trávníček J. Způsob zakončení: Z,ZK
Zodpovědná katedra: 18101 ECTS Kredity: 7 Semestr: L

Anotace:
Students know the instruments of object-oriented programming and are able to use them for specifying and implementing abstract data types (stack, queue, enlargeable array, list, set, table). They learn these skills using the C++ programming language and are introduced to all C++ features needed in object-oriented programming (e.g., template programming, copying/moving of objects, operator overloading, inheritance, polymorphism).

Osnovy přednášek:
1. From C to C++, non-object-oriented extensions.
2. Programming styles, introduction to object-oriented programming.
3. Classes and objects in the C++ language.
4. Overloaded operators in C++.
5. Copying, copy constructor in C++.
6. Selected STL components.
7. Inheritance, polymorphism in C++.
8. Abstract classes in C++.
9. Class and function templates in C++.
10. Exceptions and exception handling in C++. Abstract data
types stack and queue in C++.
11. Abstract data types enlargeable array, list, set, and table in C++.
12. Associative data structures.
13. C++11 extensions.

Osnovy cvičení:
1. Introduction to C++
2. OOP basics
3. Visibility, constructor, destructor, modules
4. Operator overloading
5. Shallow vs. deep copy
6. STL containers
7. Inheritance
8. Abstract methods
9. Fuction a class template
10. Exceptions and C++11
11. C++11
12. Practice (extra tasks)
12. Reserve

Literatura:
1. Cormen T. H., Leiserson C. E., Rivest R. L., Stein C. : Introduction to Algorithms (3rd Edition). MIT Press, 2016. ISBN 978-0262033848.
2. Brassard G., Bratley P. : Fundamentals of Algorithmics (3rd Edition). Pearson, 2015. ISBN 978-0133350685.
3. Sedgewick R. : Algorithms (4th Edition). Addison Wesley, 2011. ISBN 978-0321573513.
4. Sedgewick R. : Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching (3rd Edition). Addison-Wesley, 1998. ISBN 978-0201350883.
5. Virius M.: Programování v C++ - od základů k profesionálnímu použití, Grada 2018, ISBN978-80-271-0502-1

Požadavky:
Fundamentals of algorithmics and C.

Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BI-PA2/

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


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