Summary of Study |
Summary of Branches |
All Subject Groups |
All Subjects |
List of Roles |
Explanatory Notes
Instructions
Web page:
https://cw.fel.cvut.cz/wiki/courses/B0B99PRPA
Anotation:
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í.
Course outlines:
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 |
Exercises outline:
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.
Literature:
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;
Requirements:
Nejsou.
Subject is included into these academic programs:
Page updated 27.9.2023 07:50:34, semester: Z/2024-5, Z/2023-4, Send comments about the content to the Administrators of the Academic Programs |
Proposal and Realization: I. Halaška (K336), J. Novák (K336) |