Základy programování (FSI-SZP)

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ě směrovat programovací návyky studentů na produktivní psaní robustních aplikací pod Windows v C# s použitím jeho základních konstrukci a nástrojů prostředí VS 2019.

Výstupy studia a kompetence:

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

Prerekvizity:

Je očekávána počítačová gramotnost a uživatelská znalost Windows 11(12).

Obsah předmětu (anotace):

V kurzu se zabýváme úvodem do programování konzolových aplikací pro Windows v jazyce C#.
K tomu jsou metodologií shora dolů a na základě jednoduchých úvah o invariantech uplatňovány základní prvky jazyka.
Aplikace vyvíjíme v prostředí VS 2019 s použitím uživatelsky jednoduchých nástrojů psaní kódu zvyšujících produktivitu.

Metody vyučování:

Preferovaným stylem je učení se řešením jednoduchý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. Algoritmus, program a jeho základní prvky, úvod do VS 2019 a C#
2. Deklarace hodnotové proměnné, výraz, příkaz, přiřazovací příkaz, blok
3. Podmíněný příkaz, příkazy cyklu, psaní kódu a nástroje editoru
3. Invariant cyklu, využití k formulaci algoritmu
4. Systematika návrhu shora dolů a bloková struktura programu
5. Statická metoda jako pojmenovaný blok, přetěžování, psaní kódu a nástroje editoru
6. Hodnotový typ n-tice, tipy k organizaci projektu
7. Referenční typ 1D pole, hodnotový vs. referenční typ, zmínka kolekcích
8. 1D pole jako vektor, polynom, formulace jednoduchých algoritmů
9. Referenční typ 1D1D pole (zubaté pole)
10. Referenční typ 2D pole
11. 2D pole jako matice, formulace jednoduchých algoritmů
12. Rekurze, invariant rekurze
13. Proud, textový soubor

    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. Price, M.: C# 11 and .NET 7 – Modern Cross-Platform Development Fundamentals; Packt Publishing; 7th ed. edition (November 8, 2022), ISBN 978-1803237800.  
1. Albahari, J.: C# 10 in a Nutshell: The Definitive Reference, O'Reilly Media; 1st edition (March 15, 2022), ISBN 978-1098121952.
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 4 Povinný 1 1 Z
B-MAI-P prezenční studium --- bez specializace -- kl 4 Povinný 1 1 Z