Úvod do programování
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ů: