460-2001/02 – Algoritmy I (ALG I)
Garantující katedra | Katedra informatiky | Kredity | 5 |
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í | 2013/2014 | Rok zrušení | 2020/2021 |
Určeno pro fakulty | FEI, USP | 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 technikami řešení problémů pomocí algoritmů. Po absolvování předmětu bude student schopen:
definovat a popsat vybrané techniky řešení problémů pomocí algoritmů,
demonstrovat tyto techniky na ukázkových problémech
využívat tyto techniky pro řešení jiných problémů,
pracovat s kombinacemi několika technik dohromady.
Vyučovací metody
Přednášky
Cvičení (v učebně)
Anotace
Tento předmět je jedním z úvodních kurzů programování. Předmět si klade za cíl seznámit studenty s technikami, strategiemi, řešení problémů pomocí algoritmů. Probírané algoritmy a datové struktury budou demonstrovány v jazyce C++. Studenti jsou vedeni k analýze algoritmizovaných problémů a k syntéze řešení z menších celků.
Povinná literatura:
Doporučená literatura:
Další studijní materiály
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
U studentů se předpokládá znalost středoškolské matematiky a uživatelská znalost počítačů.
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í algoritmy (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 2015
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