Detail předmětu

Základy programování

IZP Ak. rok 2024/2025 zimní semestr 7 kreditů

Základní programovací konstrukty vyššího programovacího jazyka: proměnné, typy, výrazy, řídicí struktury, procedury a funkce, předávání parametrů, vstupy/výstupy, zpracování výjimečných stavů. Základní datové struktury: primitivní datové typy, strukturované datové typy: pole, záznam, soubor, znakové řetězce. Dynamické datové struktury, typ ukazatel. Strategie pro volbu vhodné datové struktury. Rekurze, pojem rekurze. Globální a lokální proměnné. Jednoduché rekurzivní funkce (procedury). Modulární návrh a abstrakce. Ladění, testování a dokumentace programu. Pojmy a algoritmy budou ilustrovány využitím vhodného programovacího jazyka (ISO/IEC 9899:1999 Programming languages - C).

Garant předmětu

Koordinátor předmětu

Jazyk výuky

česky, anglicky

Zakončení

zápočet+zkouška (písemná)

Rozsah

  • 39 hod. přednášky
  • 12 hod. seminář
  • 20 hod. pc laboratoře
  • 7 hod. projekty

Bodové hodnocení

  • 54 bodů závěrečná zkouška (písemná část)
  • 12 bodů půlsemestrální test (písemná část)
  • 10 bodů numerická cvičení
  • 24 bodů projekty

Zajišťuje ústav

Přednášející

Cvičící

Cíle předmětu

Seznámit se s organizací dat při řešení problémů. Aktivně ovládnout základní algoritmy a umět je aplikovat v praktických problémech. Seznámit se s principy testování programů. Naučit se používat prostředky pro ladění programů. Naučit se dokumentovat, obhajovat a prezentovat dosažené výsledky.


Naučí se vytvářet programy ve vyšších programovacích jazycích.  Osvojí si odborné pojmy z oblasti programování. Naučí se používat prostředky pro ladění programů. Naučí se dokumentovat, obhajovat a prezentovat dosažené výsledky. Student se naučí řešit jednoduché problémy na počítači formou projektů. Naučí se vytvářet programovou dokumentaci a obhájit výsledky řešeného projektu.

Požadované prerekvizitní znalosti a dovednosti

Předmět je zařazen v zimním semestru prvního ročníku bakalářského studijního programu. U studentů se proto předpokládají pouze běžné znalosti matematiky a práce s počítačem na úrovni střední školy.

Literatura studijní

  • McConnell, S.: Code Complete, Microsoft Press, 2004, ISBN 0735619670.
  • Kernighan, B., W., Ritchie, D., M.: Programovací jazyk C, Computer Press, Brno, 2006, ISBN 80-251-0897-X.
  • Schildt, H.: Nauč se sám C, SoftPress s.r.o, Praha, 2001, ISBN 80-86497-16-X.
  • Teaching materials available on WWW.
  • Herout, P.: Učebnice jazyka C, Kopp, České Budějovice, 2009, 6. vyd., ISBN 978-80-7232-383-8.
  • Soubor materiálů prezentovaných na přednáškách je dostupný na WWW.
  • BS ISO/IEC 9899:2011, Information technology. Programming languages. C, 2012, ISBN 978 0 580 80165 5.
  • Virius, M.: Jazyky C a C++, Grada Publishing, 2011, ISBN 978-80-247-3917-5.
  • The C Standard : Incorporating Technical Corrigendum 1, by Standards Institute British, John Wiley & Sons, 2002, ISBN 0470845732.
  • Kadlec, V.: Učíme se programovat v jazyce C, Computer Press, Praha, 2005, ISBN 80-7226-715-9.
  • Wirth, N.: Algoritmy a štruktúry údajov, Alfa Bratislava, 1988.
  • Cormen, T.: Introduction to Algorithms, The MIT Press, 2001, ISBN 0262032937.
  • Harbison, P.: C: A Reference Manual (5th Edition), Prentice Hall, 2002, ISBN 013089592X.
  • Schildt, H.: Teach Yourself C, McGraw-Hill Companies, 2001.

Literatura referenční

  • BS ISO/IEC 9899:2011, Information technology. Programming languages. C, 2012, ISBN 978 0 580 80165 5. 
  • Virius, M.: Jazyky C a C++, Grada Publishing, 2011, ISBN 978-80-247-3917-5.
  • Herout, P.: Učebnice jazyka C, Kopp, České Budějovice, 2009, 6. vyd., ISBN 978-80-7232-383-8.
  • Kadlec, V.: Učíme se programovat v jazyce C, Computer Press, Praha, 2005, ISBN 80-7226-715-9. 
  • Wirth, N.: Algoritmy a štruktúry údajov, Alfa Bratislava, 1988. 
  • The C Standard : Incorporating Technical Corrigendum 1, by Standards Institute British, John Wiley & Sons, 2002, ISBN 0470845732.
  • Harbison, P.: C: A Reference Manual (5th Edition), Prentice Hall, 2002, ISBN 013089592X.
  • Cormen, T.: Introduction to Algorithms, The MIT Press, 2001, ISBN 0262032937. 

Osnova přednášek

  1. Úvodní informace k organizaci výuky. Verzování a pracovní nástroje programátora.
  2. Principy programovacích jazyků. Řídicí struktury programovacích jazyků.
  3. Typ ukazatele, pole, funkce.
  4. Textové soubory, standardní vstup/výstup. Strukturované datové typy.
  5. Ladění programů.
  6. Rekurentní problémy, numerické výpočty a algoritmy.
  7. Vektory a matice.
  8. Vyhledávání a řazení.
  9. Rekurze v programování.
  10. Pokročilé ladění programů, verifikace a validace, dokumentace zdrojového kódu.
  11. Dynamické datové struktury.
  12. Spojové struktury.
  13. Modulární stavba programu.

Osnova seminářů

  1. Vývojové nástroje.
  2. Základní práce s polem, řetězec, manuálové stránky.
  3. Práce s polem, funkce.
  4. Standardní vstup a výstup, čtení z/zápis do souboru.
  5. Ladění programů.
  6. Iterační výpočty.
  7. Řídicí smyčka, automat.
  8. Dynamická alokace paměti.
  9. Rekurze.
  10. Pokročilé ladění a dokumentace.
  11. Dynamické struktury.
  12. Modulární stavba programů.

Osnova počítačových cvičení

  1. První programy a základní konstrukce
  2. Cyklus, první práce s poli
  3. Řetězce
  4. Funkce a vnořené cykly
  5. Datové struktury
  6. Úvod do ukazatelů
  7. Práce s ukazateli
  8. Dynamická alokace, ladicí techniky a nástroje
  9. Algoritmizace, rekurze
  10. Strukturované datové typy

Osnova ostatní - projekty, práce

  1. Práce s textem.
  2. Práce s datovými strukturami.

Průběžná kontrola studia

  • Cvičení na počítači: Student může během semestru získat 10 bodů. Obvykle na každém z 10 cvičení může student získat 1 bod za svoji aktivní účast. Formu a podmínky nahrazování zameškané výuky stanoví cvičící.
  • Vypracování projektů: V průběhu výuky se ve stanovených termínech odevzdávají 2 projekty, za které je možné získat celkem 24 bodů. Zadání projektů bude zpřístupněno nejpozději 2 týdny před termínem odevzdání.
  • Půlsemestrální test: Během semestru proběhne písemný test, za který student může získat 12 bodů. Půlsemestrální test nemá náhradní termín.
  • Zápočet: Pro získání zápočtu musí student v součtu ze cvičení, projektů a půlsemestrálního testu získat alespoň 23 bodů. Zároveň musí získat minimálně 6 bodů za cvičení v laboratořích a 1 bod za každý odevzdaný projekt. V případě odhalení podvodného chování (nedovolená spolupráce na projektu nebo plagiátorství) zápočet nebude udělen a bude zváženo zahájení disciplinárního řízení.
  • Závěrečná písemná zkouška: Písemná zkouška s jedním řádným a dvěma opravnými termíny je hodnocena 54 body. Pro získání bodů ze semestrální zkoušky je nutné zkoušku vypracovat tak, aby byla hodnocena nejméně 23 body. V opačném případě bude zkouška hodnocena 0 body.

Způsob kontaktu s vyučujícím

Vyučující mají vypsané konzultační hodiny.

Rozvrh

DenTypTýdnyMístn.OdDoKapacitaPSKSkupInfo
Po poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 12:0013:5020 1BIA 1BIB 2BIA 2BIB xx Grézl
Po přednáška 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky D0206 D105 14:0015:50470 1BIA 2BIA 2BIB 10 - 29 xx Smrčka
Po poč. lab 1., 2., 3., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Po poč. lab 2024-10-07 N103 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx Veigend
Po poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Po poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Út poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 08:0009:5020 1BIA 1BIB 2BIA 2BIB xx Grézl
Út poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 10:0011:5020 1BIA 1BIB 2BIA 2BIB xx Grézl
Út poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 12:0013:5020 1BIA 1BIB 2BIA 2BIB xx Grézl
Út poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Út poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N104 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx Dolejška
Út poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Út poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N104 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Dolejška
Út poč. lab 1., 2., 3., 5., 6., 8., 11., 12., 13. výuky N105 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Ondrušková
Út poč. lab 4., 9., 10. výuky N105 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Veigend
Út poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Út poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N104 18:0019:5021 1BIA 1BIB 2BIA 2BIB xx Dolejška
Út poč. lab 1., 2., 3., 5., 6., 8., 11., 12., 13. výuky N105 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Ondrušková
Út poč. lab 4., 9., 10. výuky N105 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Veigend
St poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky O204 08:0009:5020 1BIA 1BIB 2BIA 2BIB xx Grézl
St poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky O204 10:0011:5020 1BIA 1BIB 2BIA 2BIB xx Grézl
St poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx Husa
St zkouška 2024-10-30 D0206 D105 16:0017:00 Půlsemestrální test (skupina 1)
St přednáška 1., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13. výuky D105 16:0016:50470 1BIA 2BIA 2BIB 10 - 29 xx Smrčka
St přednáška 1., 3., 4., 5., 6., 7., 8., 11., 12., 13. výuky D0206 16:0016:50470 1BIA 2BIA 2BIB 10 - 29 xx Smrčka
St přednáška 2024-09-25 D0206 D105 16:0016:50470 1BIA 2BIA 2BIB 10 - 29 xx Polčák
St poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Husa
St poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N105 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Dubovec
St poč. lab 1., 2., 3., 4., 5., 8., 9., 10., 11., 12., 13. výuky N104 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Lazúr
St poč. lab 2024-10-23 N104 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Ondrušková
St seminář 1., 3., 4., 5., 6., 7., 8., 9., 10., 11., 13. výuky D105 17:0017:50470 1BIA 2BIA 2BIB 10 - 29 xx Smrčka
St seminář 1., 3., 4., 5., 6., 7., 8., 11., 13. výuky D0206 17:0017:50470 1BIA 2BIA 2BIB 10 - 29 xx Smrčka
St seminář 2024-09-25 D0206 D105 17:0017:50470 1BIA 2BIA 2BIB 10 - 29 xx Dolejška
St seminář 2024-12-04 D0206 D105 17:0017:50470 1BIA 2BIA 2BIB 10 - 29 xx
St poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Husa
St poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N105 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Dubovec
St poč. lab 1., 2., 3., 4., 5., 8., 9., 10., 11., 12., 13. výuky N104 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Lazúr
St poč. lab 2024-10-23 N104 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Ondrušková
Čt zkouška 2024-10-31 D0206 D105 08:0009:00 Půlsemestrální test (skupina 2)
Čt přednáška 1., 2., 3., 10., 11., 12., 13. výuky D0206 D105 08:0010:50470 1BIB 2BIA 2BIB 30 - 49 xx Polčák
Čt přednáška 4., 5., 6., 7., 8., 9. výuky D0206 D105 08:0010:50470 1BIB 2BIA 2BIB 30 - 49 xx Jeřábek
Čt poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 08:0009:5020 1BIA 1BIB 2BIA 2BIB xx Rozsíval
Čt seminář výuky D0206 D105 11:0011:50470 1BIB 2BIA 2BIB 30 - 49 xx Dolejška
Čt poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N104 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Čt poč. lab 1., 2., 3., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Zavřel
Čt poč. lab 1., 2., 3., 5., 6., 8., 9., 10., 11., 12., 13. výuky N105 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Jeřábek
Čt poč. lab 2024-10-10 N103 N105 16:0017:5020 1BIA 1BIB 2BIA 2BIB xx Dolejška
Čt poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N104 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Husa
Čt poč. lab 1., 2., 3., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Zavřel
Čt poč. lab 1., 2., 3., 5., 6., 8., 9., 10., 11., 12., 13. výuky N105 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Jeřábek
Čt poč. lab 2024-10-10 N103 N105 18:0019:5020 1BIA 1BIB 2BIA 2BIB xx Dolejška
poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 08:0009:5020 1BIA 1BIB 2BIA 2BIB xx Grézl
poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N104 08:0009:5020 1BIA 1BIB 2BIA 2BIB xx Veigend
poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N105 08:0009:5020 1BIA 1BIB 2BIA 2BIB xx Rozsíval
poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N103 12:0013:5020 1BIA 1BIB 2BIA 2BIB xx Polčák
poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N104 12:0013:5020 1BIA 1BIB 2BIA 2BIB xx Veigend
poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N105 12:0013:5020 1BIA 1BIB 2BIA 2BIB xx Škarvada
poč. lab 1., 2., 3., 4., 5., 6., 8., 9., 10., 11., 12., 13. výuky N104 14:0015:5020 1BIA 1BIB 2BIA 2BIB xx Husa

Zařazení předmětu ve studijních plánech

Nahoru