Popis předmětu - B0B36PRP

Přehled studia | Přehled oborů | Všechny skupiny předmětů | Všechny předměty | Seznam rolí | Vysvětlivky               Návod
B0B36PRP Procedurální programování (pro OI) Rozsah výuky:2+2c
Garanti:Faigl J. Role:P Jazyk výuky:CS
Vyučující:Faigl J. Zakončení:Z,ZK
Zodpovědná katedra:13136 Kreditů:6 Semestr:Z

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

Osnovy 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

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

Literatura:

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

Požadavky:

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

Webová stránka:

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

Předmět je zahrnut do těchto studijních plánů:

Plán Obor Role Dop. semestr
BPOI1_2016 Informatika a počítačové vědy P 1
BPOI4_2018 Počítačové hry a grafika P 1
BPOI3_2018 Software P 1
BPOI2_2018 Internet věcí P 1
BPOI1_2018 Informatika a počítačové vědy P 1
BPOI_BO_2018 Před zařazením do oboru P 1
BPOI_BO_2016 Před zařazením do oboru P 1
BPOI4_2016 Počítačové hry a grafika P 1
BPOI3_2016 Software P 1
BPOI2_2016 Internet věcí P 1


Stránka vytvořena 22.10.2018 17:48:01, semestry: Z,L/2020-1, L/2017-8, L/2019-20, Z,L/2018-9, Z/2019-20, připomínky k informační náplni zasílejte správci studijních plánů Návrh a realizace: I. Halaška (K336), J. Novák (K336)
Za obsah odpovídá: doc. Ing. Ivan Jelínek, CSc.