456-0549/01 – Algoritmy I (ALG I)
Garantující katedra | Katedra informatiky | Kredity | 6 |
Garant předmětu | doc. Mgr. Jiří Dvorský, Ph.D. | Garant verze předmětu | doc. Mgr. Jiří Dvorský, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | povinný |
Ročník | 1 | Semestr | zimní |
| | Jazyk výuky | čeština |
Rok zavedení | 2009/2010 | Rok zrušení | 2009/2010 |
Určeno pro fakulty | FEI | Určeno pro typy studia | bakalářské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Seznámit studenty se základy strukturovaného programování, se základy jazyka C++. Po absolvování předmětu bude student schopen:
pracovat s integrovaným vývojovým prostředím pro jazyk C++,
vytvořit a odladit jednoduchý program C++,
využívat datové struktury jako je například. pole, seznam atd.,
napsat rekurzívní funkci,
využívat třídící a vyhledávací algoritmy ve svých programech.
Vyučovací metody
Přednášky
Cvičení (v učebně)
Anotace
Tento předmět je úvodním kurzem programování. U studentů se předpokládá obecná orientace ve výpočetní technice a středoškolské matematice. Probírané algoritmy a datové struktury budou demonstrovány v jazyce C++. Nemalý důraz je kladen na praktickou implementaci probíraných algoritmů a datových struktur. Studenti jsou vedeni analýze algoritmizovaných problémů a k syntéze řešení z menších celků.
Povinná literatura:
Doporučená literatura:
Forma způsobu ověření studijních výsledků a další požadavky na studenta
Podmínky udělení zápočtu
Realizace a obhajoba projektu.
Programování jednoduchých aplikací na cvičeních
E-learning
Další požadavky na studenta
Prerekvizity
Předmět nemá žádné prerekvizity.
Korekvizity
Předmět nemá žádné korekvizity.
Osnova předmětu
Náplň přednášek
Úvodní přednáška, organizační záležitosti
První program v C++, algoritmus, program, překlad, procesor, proces
Proměnné, konstanty, datové typy
Řídící konstrukce jazyka (sekvence, větvení, cyklus)
Strukturované programování v C++, funkce a jejich parametry, volání funkcí
Pole
Vyhledávání v poli (sekvenční, půlením intervalu)
Seznam, fronta, zásobník
Rekurze, vymezení pojmu, příklady, jednoduchý backtracking
Třídění, vymezení problému, adresní třídění
Základní třídící algortimy (třídění vkládáním, výběrem, bublinové)
Pokročilé třídící algoritmy (QuickSort, HeapSort, MergeSort)
Náplň počítačových cvičení
Seznámení se s vývojovým prostředím, plánováno Visual Studio 2008
Implementace a ladění triviálních programů - Hello world
Implementace a ladění programů se základními konstrukcemi např. výpočet největšího společného dělitele
Práce s funkcemi, parametry volané hodnotou, odkazem, konstantní parametry
Práce s polem
Implementace algoritmů vyhledávání v poli
Implementace zásobníku, ukázky využití
Rekurzivní funkce
Rekurzivní funkce
Třídící algoritmy
Náplň projektů
Zadání projektů budou směřována k využití třídících a vyhledávacích algoritmů, práci s poli a podobně.
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