Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2019/2020

Procedurální programování (pro EK a EEM)

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
B0B99PRPA KZ 4 2P+2C česky
Přednášející:
Stanislav Vítek (gar.), Pavel Pačes
Cvičící:
Stanislav Vítek (gar.), Petr Janout, Ján Kučerák, Martin Mudroch, Václav Navrátil, Ondřej Nentvich, Václav Vencovský
Předmět zajišťuje:
katedra radioelektroniky
Anotace:

Náplň předmětu je koncipována s důrazem na osvojení si základních principů a paradigmat strukturovaného procedurálního programování a datové abstrakce tak, aby studenti uvažovali o používání výpočetních prostředků algoritmicky a dovedli tak efektivně využít programových prostředků pro zpracování dat a řešení výpočetních úloh. V předmětu je kladen důraz na osvojení si programovacích návyků pro vytváření čitelných a znovu použitelných programů. Zároveň je snahou vybudovat u studentů nadhled nad fungováním programu, datového modelu, přístupem a správou paměti. Z tohoto důvodu bude při výuce využit programovací jazyk C, který poskytuje přímou vazbou mezi programem a alokovaným paměťovým prostorem programu. Studenti se v předmětu seznámí nejen s překladem zdrojových kódů a linkováním aplikace, ale také s laděním a profilováním programu. Přednášky budou založeny na prezentaci základních programových konstrukcí a demonstraci motivačních programů dávající do souvislosti dílčí konstrukty s praktickým zápisem poukazující na čitelnost a strukturu zdrojových kódů, reálnou výpočetní náročnost a s tím související nástroje pro profilování a ladění. V závěru semestru budou stručně představeny základní vlastnosti objektově orientovaného programování.

Požadavky:

Nejsou.

Osnova přednášek:

1. Základy programovaní v C, charakteristika jazyka, model kompilace, syntax jazyka, struktura programu a struktura funkce

2. Datové typy - reprezentace v paměti, deklarace, operátory, výrazy a řídicí struktury

3. Příkazy, standardní vstup a výstup. Funkce, makra a preprocesor a standardní knihovny

4. Ukazatele, dynamická alokace paměti; Pole a řetězce, vícerozměrná pole; Funkce, volání hodnotou a odkazem - zásobník

5. Struktury a uniony, výčtové typy a jejich vnitřní reprezentace

6. Moduly, projekty, Makefile, podmíněný překlad - ukázka aplikace a její ladění

7. Práce se soubory - binární a textové soubory, sekvenční a přímý přístup do souboru

8. Systémy pro správu verzí

9. Spojové struktury

10. Abstraktní datový typ - fronta, zásobník

11. Stromové struktury - binární strom

12. Halda - prioritní fronta

13. Základní rozdíly C a C++

14. Rezerva

Osnova cvičení:

Praktická cvičení jsou zaměřena na získání a procvičování programovacích návyků tak, aby studenti byli schopni samostatně vytvářet čitelné kód. Odevzdávané úlohy budou automaticky ověřovány a bude testována robustnost ošetření vstupních hodnot. V průběhu semestru studenti získávají body za odevzdané úlohy a programovací písemky. Bodové hodnocení úlohy se skládá z bodů za správnost a efektivitu kódu, dále pak z bodů zohledňující kvalitu zdrojových kódů, jejich čitelnost a znovu použitelnost.

Cíle studia:
Studijní materiály:

Herout: Učebnice jazyka C, 2011, ISBN 978-80-7232-383-3;

Kochan: Programming in C (4th Edition), 2014 ISBN 978-0321776419;

Sedgewick, Wayne: Algorithms (4th Edition), 2011, ISBN 978-0321573513;

Cormen, Leiserson, Rivest, and Stein: Introduction to Algorithms (3rd Edition), 2009, ISBN 978-0262033848;

King: C Programming: A Modern Approach (2nd Edition), 2008, ISBN 860-1406428577;

Poznámka:
Další informace:
https://cw.fel.cvut.cz/wiki/courses/b0b99prpa/start
Rozvrh na zimní semestr 2019/2020:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
Út
místnost T2:D3-209
Vítek S.
11:00–12:30
(přednášková par. 1)
Dejvice
Posluchárna
St
místnost T2:H1-130
Vítek S.
07:30–09:00
(přednášková par. 1
paralelka 112)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-130
Vítek S.
09:15–10:45
(přednášková par. 1
paralelka 111)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-130
Nentvich O.
16:15–17:45
(přednášková par. 1
paralelka 113)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-130
Navrátil V.
11:00–12:30
(přednášková par. 1
paralelka 114)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-130
Navrátil V.
14:30–16:00
(přednášková par. 1
paralelka 115)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-130

12:45–14:15
(přednášková par. 1
paralelka 116)

Dejvice haly
AlgDejvice - Veřejná
Čt
místnost T2:H1-130
Mudroch M.
12:45–14:15
(přednášková par. 1
paralelka 105)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-130
Mudroch M.
16:15–17:45
(přednášková par. 1
paralelka 101)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-130

18:00–19:30
(přednášková par. 1
paralelka 107)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-131

12:45–14:15
(přednášková par. 1
paralelka 106)

Dejvice haly
AlgDejvice
místnost T2:H1-131
Nentvich O.
16:15–17:45
(přednášková par. 1
paralelka 102)

Dejvice haly
AlgDejvice
místnost T2:H1-131

18:00–19:30
(přednášková par. 1
paralelka 108)

Dejvice haly
AlgDejvice
místnost T2:H1-130
Mudroch M.
14:30–16:00
(přednášková par. 1
paralelka 103)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-131
Vencovský V.
14:30–16:00
(přednášková par. 1
paralelka 104)

Dejvice haly
AlgDejvice

Rozvrh na letní semestr 2019/2020:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 18. 9. 2019
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet5593406.html