PLIN048 Základy programování pro humanitní obory

Filozofická fakulta
podzim 2020
Rozsah
2/1/0. 4 kr. Ukončení: z.
Vyučující
Mgr. Richard Holaj, Ph.D. (přednášející)
RNDr. Vojtěch Kovář, Ph.D. (přednášející)
Garance
RNDr. Vojtěch Kovář, Ph.D.
Ústav českého jazyka – Filozofická fakulta
Kontaktní osoba: Jaroslava Vybíralová
Dodavatelské pracoviště: Ústav českého jazyka – Filozofická fakulta
Rozvrh
Út 14:00–15:40 G13
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 20 stud.
Momentální stav registrace a zápisu: zapsáno: 1/20, pouze zareg.: 0/20, pouze zareg. s předností (mateřské obory): 0/20
Mateřské obory/plány
předmět má 11 mateřských oborů, zobrazit
Cíle předmětu
Cílem kurzu je naučit studenty základům programování a algoritmického uvažování, a to bez nutnosti předchozích speciálních znalostí. Kurz nezabíhá do přílišných detailů a jeho účelem je spíše studentům usnadnit pochopení nejzákladnějších principů programování, které si následně mohou rozvinout v dalších kurzech. Problematika bude ilustrována na řadě příkladů, v první fázi bez vazby na konkrétní programovací jazyk, později s využitím jazyků Python a Javascript. Předmět se doporučuje zejména studentům prvního ročníku oboru Český jazyk se specializací počítačová lingvistika, pro které může sloužit jako příprava na povinný předmět IB111, ale je vhodný pro všechny studenty, kteří chtějí získat základní znalosti programování nebo mají problémy s návrhem algoritmů a potřebují lépe pochopit základní principy.
Výstupy z učení
Po absolvování předmětu bude student schopen: - orientovat se v základní terminologii a principech programování, - porozumět základním konstrukcím imperativního programování, - porozumět principům procedurálního a objektového programování, - porozumět základům algoritmizace a složitosti, - vytvářet jednoduché skripty v jazyce Python, - využít získané znalosti a dovednosti v dalším studiu i v praxi.
Osnova
  • 1. Základní principy programování (jednoduché výrazy, obor platnosti, pojmenování, proměnné, …).
  • 2. Jednoduché datové typy a kolekce.
  • 3. Podmínky a vyhodnocování výroků.
  • 4. Cykly, jejich princip, návrh a jak jim rozumí počítač.
  • 5. Co je to funkce/procedura, kdy a jak ji použít?
  • 6. Rekurze (viz Rekurze).
  • 7. Problémy analýzy a návrhu v procedurálním programování.
  • 8. Jak najít chybu v procedurálním programu?
  • 9. Třídy a objekty, základní koncepty objektově orientovaného programování.
  • 10. Problémy analýzy a návrhu v objektově orientovaném programování.
  • 11. Jak najít chybu v objektovém programu?
  • 12. Úvod do výpočetní a paměťové složitosti.
  • 13. Klasické úlohy řešené ve výuce informatiky (řazení, vyhledávání, …).
Literatura
    doporučená literatura
  • SUMMERFIELD, Mark. Python 3 : výukový kurz. Translated by Lukáš Krejčí. Vydání 1. Brno: Computer Press, 2010, 584 stran. ISBN 9788025127377. info
  • HYLMAR, Radek. Programování pro úplné začátečníky. Vyd. 1. Brno: Computer Press, 2009, 248 s. ISBN 9788025121290. info
Výukové metody
Úlohy pro procvičení jednotlivých témat na počítači, diskuze, domácí úlohy.
Metody hodnocení
Zápočet bude udělen za docházku, aktivitu během hodiny a domácí úlohy.
Navazující předměty
Další komentáře
Studijní materiály
Předmět je zařazen také v obdobích jaro 2017, podzim 2017, jaro 2018, jaro 2019, jaro 2020, podzim 2021, podzim 2022, podzim 2023, podzim 2024.