638-3012/01 – Programování informačních systémů (-)
Garantující katedra | Katedra automatizace a počítačové techniky v průmyslu | Kredity | 7 |
Garant předmětu | doc. Ing. Ivo Špička, Ph.D. | Garant verze předmětu | doc. Ing. Ivo Špička, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | povinný |
Ročník | 2 | Semestr | zimní |
| | Jazyk výuky | čeština |
Rok zavedení | 2014/2015 | Rok zrušení | |
Určeno pro fakulty | FMT | Určeno pro typy studia | navazující magisterské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Student porozumí:
- principům programování informačních systémů;
- složitým datovým strukturám a jejich použití;
- pokročilým algoritmům, synchronizaci procesů, vícevláknovému programování.
Student bude schopen vytvořit základní programy pro běžné grafické uživatelské rozhraní v prostředí Windows.
Vyučovací metody
Přednášky
Individuální konzultace
Cvičení (v učebně)
Anotace
Předmět přináší základy programování informačních systémů v prostředí
operačního systému Windows. Vysvětluje techniku programu řízeného událostmi,
systém předávání zpráv a základy vícevláknového programování. V druhé části
probírá základní datové struktury a příslušné algoritmy pro práci s nimi.
Povinná literatura:
Doporučená literatura:
Forma způsobu ověření studijních výsledků a další požadavky na studenta
Individuální projekty
E-learning
Další požadavky na studenta
Studium povinné literatury, účast na cvičeních.
Prerekvizity
Předmět nemá žádné prerekvizity.
Korekvizity
Předmět nemá žádné korekvizity.
Osnova předmětu
1. Architektura programů pro Windows, server a klienti, architektura programu ve Windows, zprávy.
2. Widows API, hlavní okno a smyčka zpráv.
3. Objektový program pro Windows, obsluha událostí.
4. Prvky a komponenty, dialogy a prvky Control na úrovni Windows API.
5. Zvláštností programů Win32 , systémový registr, vlákna, výjimky, strukturované výjimky.
6. Princip volání služeb systému, dynamické knihovny, volání dynamické knihovny.
7. Komponentní technologie.
8. Dynamické přidělování paměti.
9. Datové struktury, statické, dynamické, homogenní, heterogenní.
10. Konstruktor, selektor. Dynamické struktury, seznamy - jednosměrný, dvousměrný, kruhový, dvojsměrný seznam. Zásobník. Užití zásobníku: algoritmy s návratem, rekurze.
11. Průchody binárním stromem. Rekurzivní a nerekurzivní zápis průchodových algoritmů. Implementace některých operací nad stromem (ekvivalence struktur, ekvivalence dvou stromů, kopie , destrukce , počet listů , výška , nalezení nejdelší cesty od kořene k listu. Sekvenční vyhledávání v souboru, poli, seznamu. Binární vyhledávání. Binární vyhledávací stromy. Rekurzivní i nerekurzívní verze operací nad BVS.
12. Tabulky s přímým přístupem, princip indexsekvenčního vyhledávání. Tabulky s rozptýlenými položkami. Vlastnosti a konstrukce rozptylovací (hashovací) funkce. Hodnocení metod vyhledávání.
13. Řazení, základní pojmy: stabilita, přirozenost, časová a prostorová složitost algoritmu řazení. Řazení podle více klíčů, řazení bez přesunu položek. Klasifikace principů řazení. Řazení na principu výběru - Bubble-sort a jeho varianty, Heap sort. Řazení polí na principu vkládání.
14. Princip řazení sekvenčních souborů. 3 a 4 pásková metoda řazení sekvenčních souborů - přímá a přirozená. Rekurse, principy typických rekurzivních algoritmů; převod mezi rekurzívním a nerekurzívním zápisem algoritmu; Hanojské věže, 8 dam, cesta koně, rekurse v grafice.
Podmínky absolvování předmětu
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky