Programovací techniky I (FSI-SPT)

Akademický rok 2022/2023
Garant: prof. RNDr. Ing. Tomáš Březina, CSc.  
Garantující pracoviště: ÚM všechny předměty garantované tímto pracovištěm
Jazyk výuky: čeština
Cíle předmětu:

Vědomostně a dovednostně formovat programovací návyky studentů s ohledem na produktivní psaní robustních objektových aplikací pod Windows v C# s použitím jeho pokročilejších prvků a nástrojů prostředí VS 2019.

Výstupy studia a kompetence:

Rozvoj algoritmického myšlení, strukturovaného přístupu k řešení problémů podporovaného aktuálními objektovými technologiemi a rozvoj kreativity.

Prerekvizity:

Jsou očekávány znalosti a dovednosti splňující podmínky úspěšného absolvování kurzu ZÁKLADY PROGRAMOVÁNÍ (SZP).

Obsah předmětu (anotace):

V kurzu se zabýváme programováním konzolových aplikací pro Windows v jazyce C#. K tomu je použito pokročilejších konstrukcí bepečného objektově orientovaného programování podporujících metodologii návrhu shora dolů a nabalování.
Aplikace vyvíjíme v prostředí VS 2019 s použitím jeho nástrojů zvyšujících produktivitu.

Metody vyučování:

Preferovaným stylem je učení se řešením jednoduchých autentických úloh.

Způsob a kritéria hodnocení:

Získané znalosti a dovednosti studenti doloží samostatným vypracováním semestrálního projektu.
Klasifikovaný zápočet je udělován na základě bodového hodnocení semestrálního projektu s přhlédnutím k bodovému hodnocení tří průběžných projektů zadaných během semestru. Hodnocení je plně v kompetenci vyučujícího podle platných směrnic VUT v Brně.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky:

Výuka probíhá podle týdenních plánů osnovy předmětu. Účast na přednáškách je předpokládána, na cvičeních povinná. Neúčast na cvičení lze nahradit samostatným zpracováním projektů probíraných na daném cvičení nebo zpracováním náhradního projektu s případnou prezentací. Způsob nahrazení zameškaných cvičení je plně v kompetenci vyučujícího.

Typ (způsob) výuky:
    Přednáška  13 × 1 hod. nepovinná                  
    Cvičení s počítačovou podporou  13 × 2 hod. povinná                  
Osnova:
    Přednáška

1. Zapouzdření jako definice systému, třída/struktura, vytvoření/uvolnění objektu
2. Modifikátory přístupu ke členům, vlastnost, automatická vlastnost
3. Indexovaná vlastnost
4. Statické členy, bezpečný kód, výjimky a chráněné bloky
5. Serializace objektů, binární, textová, minimum jazyka XML
6. Dědičnost, kompatibilita typů a návrh shora dolů
7. Virtuální metody a návrh shora dolů
8. Delegát, delegát vs. virtuální metoda
9. Rozhraní, rozhraní vs. třída
10. Delegát a lamda-funkce
11. Minimum o kolekcích a rozšíření Linq
12. Generická třída
13. Událost, řízení událostmi

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

Na každém cvičení je s výkladem vyučujícího a pod jeho vedením napsána nebo rozpracována aspoň jedna aplikace, ve které jsou implementovány konstrukce podle aktuálního tématu prezentovaného na přednášce.

Literatura - základní:
1. Albahari, J.: C# 10 in a Nutshell: The Definitive Reference, O'Reilly Media; 1st edition (March 15, 2022), ISBN 978-1098121952.
2. Price, M.: C# 11 and .NET 7 – Modern Cross-Platform Development Fundamentals; Packt Publishing; 7th ed. edition (November 8, 2022), ISBN 978-1803237800
3. Oficiální online dokumentace jazyka C#: https://learn.microsoft.com/en-us/dotnet/csharp/
Zařazení předmětu ve studijních programech:
Program Forma Obor Spec. Typ ukončení   Kredity     Povinnost     St.     Roč.     Semestr  
CŽV prezenční studium CZV Základy strojního inženýrství -- kl 3 Povinný 1 1 L
B-MAI-P prezenční studium --- bez specializace -- kl 3 Povinný 1 1 L