B_UPg Úvod do programování

Vysoká škola finanční a správní
zima 2009
Rozsah
2/2/0. 14hodin/semestr. 6 kr. Ukončení: z.
Vyučující
prof. RNDr. Ondřej Čepek, Ph.D. (cvičící)
doc. RNDr. Pavel Töpfer, CSc. (cvičící)
Garance
prof. RNDr. Ondřej Čepek, Ph.D.
Katedra informatiky a matematiky (FES, KIM) – Katedry – Vysoká škola finanční a správní
Kontaktní osoba: Lenka Bažantová
Rozvrh seminárních/paralelních skupin
B_UPg/cAPH: Po 10:30–11:14 E303PC, Po 11:15–12:00 E303PC, P. Töpfer
B_UPg/pAPH: Po 8:45–9:29 E123, Po 9:30–10:15 E123, P. Töpfer
B_UPg/vA21PH: Pá 16. 10. 17:15–18:45 DELL ROOM E302PC, Pá 30. 10. 12:00–13:30 DELL ROOM E302PC, 13:45–15:15 DELL ROOM E302PC, Pá 13. 11. 17:15–18:45 DELL ROOM E302PC, Pá 27. 11. 12:00–13:30 DELL ROOM E302PC, 13:45–15:15 DELL ROOM E302PC, Pá 11. 12. 17:15–18:45 DELL ROOM E302PC, O. Čepek
B_UPg/vA22PH: Pá 16. 10. 15:30–17:00 DELL ROOM E302PC, Pá 30. 10. 15:30–17:00 DELL ROOM E302PC, 17:15–18:45 DELL ROOM E302PC, Pá 13. 11. 15:30–17:00 DELL ROOM E302PC, Pá 27. 11. 15:30–17:00 DELL ROOM E302PC, 17:15–18:45 DELL ROOM E302PC, Pá 11. 12. 15:30–17:00 DELL ROOM E302PC, O. Čepek
Předpoklady
K tomuto předmětu nejsou nutné žádné zvláštní znalosti nad rámec běžných vědomostí.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
Cíle předmětu
Základní kurz programování pro posluchače 1. ročníku bakalářského studia oboru Aplikovaná informatika.
Cíl předmětu: porozumění základům algoritmizace; seznámení se základními konstrukcemi programovacích jazyků; praktické zvládnutí vytváření a ladění programů ve vývojovém prostředí; řešení jednoduchých algoritmických úloh.
Cíl předmětu platí i pro kombinované studium.
Osnova
  • Tato osnova je určena pro prezenční studium, průběh výuky pro kombinované studium je uveden ve studijních materiálech formou metodických listů.
  • Obsah přednášek:
  • 1. Tvorba programu, postupy a nástroje, programovací jazyk, ladění. Algoritmus, důkaz správnosti, porovnávání kvality algoritmů, časová a paměťová složitost.
  • 2. Programovací jazyk Pascal. Struktura programu. Proměnná, identifikátor, typ. Přehled datových typů. Definice konstant. Přehled příkazů v Pascalu. Integrované vývojové prostředí – základní funkce.
  • 3. Dosazovací příkaz. Číselné výrazy, vyhodnocování. Podmíněný příkaz, složený příkaz, cyklus. Jednoduché a složené podmínky. Integrované vývojové prostředí – ladění programů.
  • 4. Inicializované proměnné. Standardní procedury read a write, formátování výstupu. Aritmetické přetečení, zaokrouhlovací chyby. Logické proměnné a výrazy.
  • 5. Pole. Vyhledávání v poli. Třídění čísel v poli – přímý výběr, přímé zatřiďování, bublinkové třídění.
  • 6. Zásobník a fronta. Práce s dlouhými čísly v poli. Vícerozměrná pole. Použití polí.
  • 7. Procedury a funkce – význam, lokalita, viditelnost identifikátorů. Předávání parametrů hodnotu a odkazem.
  • 8. Znaky a znakové řetězce. Hornerovo schéma. Poziční číselné soustavy, převody.
  • 9. Záznam. Pseudonáhodná čísla, generátor pseudonáhodných čísel. Příklady využití pole a tvorby programu.
  • 10. Textové soubory – operace, použití, formátování výstupu.
  • 11. Datové soubory, přímý přístup. Vnější třídění. Dekompozice problému, programování proti rozhraní, metody návrhu a ladění programu. Ukázky řešení úloh.
  • 12. Halda, operace na haldě, implementace haldy, heapsort.
Literatura
  • P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha 2007 (2. vyd.)
  • P.Satrapa: Pascal pro zelenáče, Neocortex Praha 2005 (více vydání)
Metody hodnocení
Typ výuky: 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.
Rozsah povinné účasti ve výuce: Minimální povinná účast na cvičeních v prezenčním studiu je 80%, na řízených skupinových konzultacích v kombinovaném studiu 50%. Studentům, kteří nesplní povinný rozsah účasti, budou v průběhu semestru nebo po jeho skončení zadány dodatečné studijní povinnosti.
Způsob zakončení předmětu: Předmět je zakončen zápočtem. Zápočet osvědčuje splnění stanovených studijních povinností. K získání zápočtu se požaduje:
1. Samostatné vypracování zadaných domácích úkolů a odevzdání jejich řešení ve stanovených termínech - je nutné správně a včas vyřešit alespoň 50% ze zadaných domácích úkolů.
2. Pravidelná účast na výuce - je vyžadována minimálně 80% účast na cvičeních, každou další absenci lze nahradit vypracováním jednoho domácího úkolu navíc.
Z předmětu Úvod do programování není zkouška, znalosti probraného učiva budou ovšem požadovány u zkoušky z bezprostředně navazujícího předmětu Programování v letním semestru.
Navazující předměty
Informace učitele
http://ksvi.mff.cuni.cz/~topfer/vsfs/
Prezentace k přednáškám v PowerPointu a ukázkové programy z přednášek i ze cvičení jsou k dispozici na Internetu. Jsou doplňovány průběžně po každé přednášce.
Doporučená studijní literatura:
P.Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995, 2. vydání 2007 - učebnice přímo určená pro tento základní kurz, pokrývá převážnou většinu učiva algoritmů, nevykládá syntaxi programovacího jazyka, jazyk Pascal se ale používá v programových ukázkách
P.Satrapa: Pascal pro zelenáče, Neocortex Praha 2005 - více vydání - učebnice programovacího jazyka Pascal, místo ní lze použít i jakoukoliv jinou učebnici Pascalu
P.Töpfer: Základy programování v úlohách, Scientia Praha 1997 - sbírka řešených úloh demonstruje použtí základních programových konstrukcí jazyka Pascal a návrh řešení základních úloh
Další komentáře
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je zařazen také v obdobích zima 2007, léto 2008, zima 2008, léto 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, zima 2024.