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

Úvod do programování

Předmět není vypsán Nerozvrhuje se
Kód Zakončení Kredity Rozsah Jazyk výuky
17PMCUP KZ 2 1P+1C česky
Přednášející:
Cvičící:
Předmět zajišťuje:
katedra informačních a komunikačních technologií v lékařství
Anotace:

Algoritmus vs. program, způsoby zápisu algoritmu. Etapy řešení algoritmického problému. Základní struktura programů v jazyce C s ukázkami: jednoduché a složené výrazy, přiřazovací příkaz, příkaz vstupu a výstupu, základní struktura programů v jazyce C s ukázkami. Pole, podmíněný příkaz, cykly. Lexikální elementy jazyka C. Výrazy, přiřazení. Data - elementární typy, proměnné, operátory. Deklarace, rozsahy platnosti proměnných. Řídicí struktury - příkazy. Odvozené datové typy (ukazatel, pole, struktura, union). Uživatelem definované typy. Funkce, předávání parametrů hodnotou a odkazem, preprocesor jazyka C, práce se soubory. Dynamické přidělování paměti. Práce se znakovými řetězci v C. Projekt v C - práce s více moduly, hlavičkové soubory. Úvod do 2D grafiky. Přehled vybraných knihoven pro práci s 2D grafikou. Úvod do numerických algoritmů - aproximace metodou nejmenších čtverců. Iterační metody hledání kořenů nelineárních rovnic, Algoritmy numerické derivace a integrace - ukázky řešení. Přehled algoritmů třídění. Úvod do algoritmů vyhledávání. Praktický úvod do posuzování kvality algoritmů. Paměťová náročnost algoritmu. Fce časové složitosti, asymptotická složitost. Měření časové náročnosti algoritmu.

Požadavky:

Povinná účast na cvičeních, realizace průběžných úloh s minimálním ziskem 30 bodů (maximum 60), absolvování 2 testů s celkovým minimálním ziskem 20 bodů (maximum 40). Celkové hodnocení: 50-59 bodů = E (3), 60-69 bodů = D (2.5), 70-79 bodů = C (2), 80-89 bodů = B (1.5), 90-100 bodů = A (1)

Osnova přednášek:

1. Algoritmus vs. program, způsoby zápisu algoritmu. Etapy řešení algoritmického problému.

2. Základní struktura programů v jazyce C s ukázkami: jednoduché a složené výrazy, přiřazovací příkaz, příkaz vstupu a výstupu, základní struktura programů v jazyce C s ukázkami.

3. Pole, podmíněný příkaz, cykly.

4. Lexikální elementy jazyka C. Výrazy, přiřazení. Data - elementární typy, proměnné, operátory,

5. Deklarace, rozsahy platnosti proměnných. Řídicí struktury - příkazy.

6. Odvozené datové typy (ukazatel, pole, struktura, union). Uživatelem definované typy.

7. Funkce, předávání parametrů hodnotou a odkazem, preprocesor jazyka C, práce se soubory.

8. Dynamické přidělování paměti. Práce se znakovými řetězci v C.

9. Projekt v C - práce s více moduly, hlavičkové soubory.

10. Úvod do 2D grafiky. Přehled vybraných knihoven pro práci s 2D grafikou.

11. Úvod do numerických algoritmů - aproximace metodou nejmenších čtverců. Iterační metody hledání kořenů nelineárních rovnic,

12. Algoritmy numerické derivace a integrace - ukázky řešení.

13. Přehled algoritmů třídění. Úvod do algoritmů vyhledávání.

14. Praktický úvod do posuzování kvality algoritmů. Paměťová náročnost algoritmu. Fce časové složitosti, asymptotická složitost. Měření časové náročnosti algoritmu.

Osnova cvičení:

1. Praktické ukázjky různých forem zápisu algoritmu, ukázky řešení algoritmického problému.

2. Úlohy - jednoduché a složené výrazy, přiřazovací příkaz, příkaz vstupu a výstupu, základní struktura programů v jazyce C s ukázkami.

3. Úlohy - pole, podmíněný příkaz, cykly.

4. Úlohy - výrazy, přiřazení, elementární typy, proměnné, operátory,

5. Úlohy - deklarace, rozsahy platnosti proměnných.

6. Úlohy - odvozené datové typy (ukazatel, pole, struktura, union). Uživatelem definované typy.

7. Úlohy - funkce, předávání parametrů hodnotou a odkazem, preprocesor jazyka C, práce se soubory.

8. Úlohy - Dynamické přidělování paměti.

9. Úlohy - Projekt v C - práce s více moduly, hlavičkové soubory.

10. Úlohy - využití 2D grafiky. Přehled vybraných knihoven pro práci s 2D grafikou.

11. Praktická ukázka -aproximace metodou nejmenších čtverců. Iterační metody hledání kořenů nelineárních rovnic,

12. Praktická ukázka - numerická derivace a integrace - ukázky řešení.

13. Praktické využití a srovnání vybraných algoritmů třídění.

14. Praktické ukázky stanovení časové a paměťové náročnosti algoritmů.

Cíle studia:

Osvojení praktických základů (pojmů, postupů a prostředků) programování se zaměřením na oblast biomedicínského inženýrství, nezbytných pro pochopení vnitřního fungování softwarových systémů.Během výuky se student naučí specifikovat algoritmickou úlohu, provést její analýzu, dekompozici, navrhnout, implementovat a odladit jednoduché řešení. Obsah předmětu je strukturován tak, aby byly nabyté znalosti využitelné v navazujících předmětech na FBMI ČVUT, zaměřených na informační technologie.

Studijní materiály:

Výukové materiály pro tento předmět jsou zveřejněny prostřednictvím e-learningového systému na adrese <a href="https://skolicka.fbmi.cvut.cz">https://skolicka.fbmi.cvut.cz</a>

[1] Wroblewski, S.: Algoritmy, Datové struktury a programovací techniky, ComputerPress, Brno 2004

[2] Kadlec: Učíme se programovat v jazyce C, ComputerPress, Praha 2002

[3] Sedgewick, J.: Algoritmy v C, SoftPress, Praha 2005

[4] Herout: Učebnice jazyka C (IV. vydání), KOPP, České Budějovice 2004

[5] Corman et al.: Introduction to Algorithms, The MIT Press, 2nd edition 2001

[6] Goodrich et al: Algorithm Design - Foundations, Analysis, and Internet Examples, John Wiley & Sons, New York 2002

Poznámka:
Další informace:
https://skolicka.fbmi.cvut.cz
Pro tento předmět se rozvrh nepřipravuje
Předmět je součástí následujících studijních plánů:
Platnost dat k 2. 3. 2021
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet3630506.html