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

Procedurální programování (pro OI)

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
B0B36PRP Z,ZK 6 2+2c česky
Předmět nesmí být zapsán současně s:
Programování 1 (A0B36PR1)
Předmět je náhradou za:
Programování 1 (A0B36PR1)
Přednášející:
Jan Faigl (gar.)
Cvičící:
Jan Faigl (gar.), Jan Bayer, Martin Bloch, Lukáš Černý, Petr Čížek, Jindřiška Deckerová, Daniel Fišer, Karel Jalovec, Otakar Jašek, Jakub Marek, Martin Mudroch, Ondřej Nentvich, Miloš Prágr, Ladislav Serédi, Martin Svatoš, Rudolf Jakub Szadkowski, Petr Váňa, Tomáš Vintr, Stanislav Vítek
Předmět zajišťuje:
katedra počítačů
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:

Vypracovat 4 domácí úlohy, semestrální práci, test na soustředění a uspět u ústní zkoušky

Osnova přednášek:

1.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.

4. Ukazatele, dynamická alokace paměti

5. Pole a řetězce, vícerozměrná pole;

6. Funkce, volání hodnotou a odkazem - zásobník

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

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

9. Preprocesor, projekt, knihovny, makra a preprocesor a standardní knihovny, moduly, projekty (makefile, podmíněný překlad)

10. Spojové struktury

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

12. Stromové struktury - binární strom

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, P.: Učebnice jazyka C. III. vyd. Kopp, Č.Budějovice, 2016. ISBN: 80-85824-21-9

Herout, P.: Učebnice jazyka C - 2 díl, Kopp, Č.Budějovice, 978-80-7232-367-8, 2002.

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

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/b0b36prp/start
Rozvrh na zimní semestr 2018/2019:
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
místnost T2:H1-131
Szadkowski R.
09:15–10:45
(přednášková par. 2
paralelka 203)

Dejvice haly
AlgDejvice
místnost T2:H1-130
Serédi L.
11:00–12:30
(přednášková par. 2
paralelka 205)

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

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-130
Serédi L.
09:15–10:45
(přednášková par. 2
paralelka 204)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-131
Szadkowski R.
11:00–12:30
(přednášková par. 2
paralelka 206)

Dejvice haly
AlgDejvice
místnost T2:H1-131
Prágr M.
14:30–16:00
(přednášková par. 2
paralelka 208)

Dejvice haly
AlgDejvice
místnost T2:H1-130
Mudroch M.
12:45–14:15
(přednášková par. 2
paralelka 201)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-131
Prágr M.
12:45–14:15
(přednášková par. 2
paralelka 202)

Dejvice haly
AlgDejvice
Út
St
místnost T2:D3-309
Faigl J.
16:15–17:45
(přednášková par. 2)
Dejvice
Posluchárna
Čt
místnost T2:H1-130
Bayer J.
09:15–10:45
(přednášková par. 2
paralelka 210)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-130
Bayer J.
11:00–12:30
(přednášková par. 2
paralelka 209)

Dejvice haly
AlgDejvice - Veřejná

místnost T2:H1-131
Deckerová J.
11:00–12:30
(paralelka 333)
Dejvice haly
AlgDejvice
místnost T2:H1-131
Marek J.
12:45–14:15
(paralelka 334)
Dejvice haly
AlgDejvice
místnost T2:H1-131

14:30–16:00
(přednášková par. 2
paralelka 444)

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