Detail předmětu

Algoritmy a programovací techniky

FSI-VCP Ak. rok: 2024/2025 Zimní semestr

Předmět se zabývá výukou algoritmizace a programování. Pro praktickou výuku jsou používány programovací jazyky C a C++. Jazyk C je v současnosti jedním z nejužívanějších programovacích jazyků. K jeho velkým výhodám patří jeho univerzální použitelnost pro nejrůznější aplikační oblasti a dostupnost pro většinu existujících platforem. Jazyk C++ se vykazuje velmi vysokým stupněm implementace rysů objektově orientovaného programování. Překladač jazyka C++ bývá k dispozici pro různě platformy, samotný jazyk je velmi dobře standardizován. Tyto rysy činí jazyk C++ jedním z nejvhodnějších jazyků pro tvorbu rozsáhlých aplikací v současné době.

Jazyk výuky

čeština

Počet kreditů

4

Garant předmětu

Vstupní znalosti

Kurs předpokládá základní znalost algoritmizace a počítačovou gramotnost.

Pravidla hodnocení a ukončení předmětu

Zápočet: Účast na cvičeních + zpracování zadaných programů v C a C++ (celkem 2 programy). Zkouška: ústní, diskuse nad zpracovanými projekty s možnými doplňujícími otázkami. Klasifikace je plně v kompetenci vyučujícího podle platných směrnic VUT v Brně.
Přítomnost na přednáškách je doporučená, na cvičeních povinná. Výuka probíhá podle rozvrhu. Stanovení formy náhrady zameškaných cvičení je v kompetenci vyučujícícho.

Učební cíle

Cílem kursu je naučit se formulovat algoritmy pro širokou škálu inženýrských úloh, programovat v jazycích C a C++ a pochopit rysy objektově orientovaného programování a metodiku návrhu a tvorby programu s využitím OOP.
Studenti získají základní dovednosti a zkušenosti při psaní a ladění programů středního stupně obtížnosti s využitím programovacího jazyka C a C++. Studenti zvládnou technologii OOP pro návrh a realizaci projektů v jazyce C++.

Použití předmětu ve studijních plánech

Program N-AIŘ-P: Aplikovaná informatika a řízení, magisterský navazující, volitelný

Program N-MAI-P: Matematické inženýrství, magisterský navazující, povinně volitelný

Program B-STR-P: Strojírenství, bakalářský
specializace AIŘ: Aplikovaná informatika a řízení, povinný

Program C-AKR-P: Akreditované předměty v CŽV, celoživotní vzdělávání v akr. stud. programu
specializace CZS: Předměty zimního semestru, volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1. Úvod, základní datové typy, operátory, výrazy.
2. Deklarace, definice. Struktura programu. Řídicí struktury.
3. Pole a směrníky, směrníková aritmetika. Funkce.
4. Struktury, uniony, definice typu. Preprocesor. Práce se soubory.
5. Historie C++. Rozdíly mezi C a C++ v neobjektové oblasti.
6. Základní charakteristika OOP. Datové typy s vlastnostmi objektů. Metody.
7. Přístup k položkám objektů. Konstruktor a destruktor. Static datové položky a metody. Přetěžování operátorů.
8. Dědičnost. Polymorfismus, virtuální metody, ryzí virtuální metody.
9. Proudy dat. Realizace datových struktur v C++.
10. Výjimky. Genericita, šablony.
11. Objektově orientovaná analýza a design.
12. – 13. Návrh a realizace rozsáhlých projektů v C++.

Cvičení s počítačovou podporou

26 hod., povinná

Vyučující / Lektor

Osnova

1. Vývojové prostředí Visual Studio. Jednoduchá konzolová aplikace.
2. Tvorba konzolových aplikací v prostředí MS Visual C++.
3.-5. Realizace základních algoritmů pro práci s poli a ukazateli, dynamické datové struktury.
6. Příklad rozsáhlého projektu v jazyce C.
7. Používání konstruktorů a destruktorů.
8. Dědičnost a polymorfismus.
9. Realizace datových struktur v C++.
10. Používání šablon.
11. Událostmi řízené programování. Příklad Windows aplikace.
12. Ukázky projektů v jazycích Java a C#.
13. Diskuse individuálních projektů.