B_UPg Úvod do programování

Vysoká škola finanční a správní
zima 2024
Rozsah
2/2/0. 16 hodin KS/semestr. 6 kr. Ukončení: zk.
Garance
doc. RNDr. Jan Lánský, Ph.D.
Katedra informatiky a matematiky (FES, KIM) – Katedry – Vysoká škola finanční a správní
Kontaktní osoba: Ivana Plačková
Předpoklady
Nejsou vyžadovány žádné předpoklady.
Omezení zápisu do předmětu
Předmět je otevřen studentům libovolného oboru.
Cíle předmětu
Tento předmět je základním kurzem programování pro posluchače prvního ročníku bakalářského studia Aplikované informatiky. Na konci tohoto kurzu bude student schopen:
- řešit jednoduché algoritmické úlohy
- používat základní konstrukce programovacích jazyků
- vytvářet a ladit programy v integrovaném vývojovém prostředí.
Výstupy z učení
Po splnění náležitostí tohoto kurzu bude student schopen:
- naučit se řešit jednoduché algoritmické úlohy
- korektně používat a implementovat běžné výrazy ve vztahu k programování (proměnná, logické operátory, datové typy, vybrané cykly, větvení, apod.) - viz osnova
- seznámit se se základními konstrukcemi programovacích jazyků
- prakticky zvládnout vytváření a ladění programů ve vývojovém prostředí
Osnova
  • 1. Problém, algoritmus. Proměnná, přiřazení, aritmetické operátory, podmíněný příkaz.
  • 2. Složený příkaz, logické operátory, cykly while a for. Ciferný součet, Euklidův algoritmus, prvočíselný rozklad, test prvočíselnosti. Časová složitost algoritmů.
  • 3. Funkce, datové typy, priorita a asociativita operátorů, náhodná čísla, výčtové typy, vícenásobně větvení, struktury. Matematické funkce. Testování správnosti programů.
  • 4. Předávání parametrů funkce pomocí reference. Pole, nalezení hodnoty a počtu výskytů, nejdelší posloupnost. Eratostenovo síto. Ladění programů.
  • 5. Třídící algoritmy, Selection sort, Insertion sort, Bubble sort, Counting sort, binární vyhledávání v setříděném poli. Globální proměnné. Měření počtu operací a doby běhu programu.
  • 6. Znaky, textové řetězce. Lexikografické uspořádání, zřetězení, podřetězec, hledání indexu výskytu znaku či řetězce. Vymazání, vložení a nahrazení znaku či řetězce.
  • 7. Hornerovo schéma, převod mezi číselnými soustavami. Dlouhá celá čísla, součet, rozdíl, součin, podíl. Dlouhá reálná čísla, zlomky. Konstanty.
  • 8. Soubory textové a binární, čtení a zápis. Správa souborového systému.
  • 9. Dvojrozměrné pole, pole polí. Matice, násobení řádku konstantou, prohození dvou řádků matice, součet matic, součin matic. ASCII Art.
  • 10. Rekurze, faktoriál, převod z desítkové do dvojkové soustavy, Fibonacciho čísla (+ verze s dynamickým programováním). Binární vyhledávání. Hanojské věže. Kochova vločka.
  • 11. Zásobník, fronta (cyklická, s posunem, prioritní). Backtracking: N-ciferná čísla, doplnění znamének.
  • 12. Backtracking: problém N dam, normální magické čtverce, jezdcova procházka, ořezávání, heuristiky. Vlna: nejkratší cesta koněm po šachovnici.
Literatura
    povinná literatura
  • MAREŠ, Martin, VALLA, Tomáš. Průvodce labyrintem algoritmů, e-book, 2. vyd. Praha: CZ.NIC, z.s.p.o. 2022. dostupné z https://knihy.nic.cz/. ISBN 978-80-88168-66-9 (ve formátu PDF).
  • LÁNSKÝ, Jan. Úvod do programování. Slajdy k předmětu, dostupné z informačního systému, Praha: VŠFS, 2022.
  • VIRIUS, Miroslav. Programování v C#: od základů k profesionálnímu použití. Praha: Grada Publishing, 2021. ISBN 978-80-271-1216-6.
    doporučená literatura
  • Töpfer, Pavel. Úvod do programování. Studijní text k předmětu, dostupné z ISu, Praha: VŠFS, 2014.
Výukové metody
Výuka probíhá formou přednášek a cvičení v prezenčním studiu a řízených skupinových konzultací v kombinovaném studiu. Minimální povinná účast na cvičeních v prezenčním studiu je 75%, na řízených skupinových konzultacích v kombinovaném studiu 50%.
Metody hodnocení
Předmět je zakončen zápočtem a písemnou zkouškou. Podmínkou pro udělení zápočtu je naprogramování úkolů zadaných na cvičeních vyučujícím (návrh a odladění menších programů). Zadání úkolů a pokyny jsou uvedeny v souboru IS -> studijní materiály -> UPg_cviceni.doc.
V písemné zkoušce je úkolem vyřešení zadaných úkolů a ústní diskuze. Hodnotí se správnost, efektivita a výběr odpovídajících prostředků programovacího jazyka.
Navazující předměty
Informace učitele
https://is.vsfs.cz/go/x8aen4
Webová stránka předmětu (výše) představuje LINK na tým (předmět) v MS Teams (pak vyberte kanál Vašeho vyučujícího).

Studijní materiály (přednášky, videozáznamy, ...) předmětu najdete v IS VŠFS: https://is.vsfs.cz/auth/el/vsfs/zima2023/B_UPg

KONTAKTY na vyučující: garant doc. RNDr. Jan Lánský, Ph.D. - lansky@mail.vsfs.cz; Ing. Renata Janošcová, Ph.D - 37037@mail.vsfs.cz.

KONZULTACE: informace najdete na osobních stránkách vyučujících v IS VŠFS (Výuka).

ISP a OPAKUJÍCÍ studenti: Hned na začátku semestru (první - druhý týden) kontaktujte Vašeho vyučujícího a dohodněte se na konkrétních podmínkách docházky a hodnocení.

DOPORUČUJEME podat žádost o zařazení do rozvrhové (seminární) skupiny ke konkrétnímu vyučujícímudle pokynů ze studijního oddělení.
Další komentáře
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je vyučován každoročně.
Výuka probíhá každý týden.
Předmět je zařazen také v obdobích zima 2007, léto 2008, zima 2008, léto 2009, zima 2009, léto 2010, zima 2010, léto 2011, zima 2011, léto 2012, zima 2012, zima 2013, zima 2014, zima 2015, zima 2016, zima 2017, zima 2018, zima 2019, zima 2020, zima 2021, zima 2022, zima 2023.
  • Statistika zápisu (nejnovější)
  • Permalink: https://is.vsfs.cz/predmet/vsfs/zima2024/B_UPg