IB111 Úvod do programování skrze Python

Fakulta informatiky
podzim 2014
Rozsah
2/2. 4 kr. (plus ukončení). Ukončení: zk.
Vyučující
doc. Mgr. Radek Pelánek, Ph.D. (přednášející)
Ing. Mgr. et Mgr. Zdeněk Říha, Ph.D. (přednášející)
Mgr. et Mgr. Vít Baisa, Ph.D. (cvičící)
Mgr. Jan Drábek (cvičící)
RNDr. Tomáš Effenberger, Ph.D. (cvičící)
Mgr. Marek Klučár (cvičící)
Mgr. Matěj Klusáček (cvičící)
Mgr. Ondřej Nečas (cvičící)
Mgr. Juraj Nižnan (cvičící)
RNDr. Jan Papoušek, Ph.D. (cvičící)
RNDr. Jiří Řihák, Ph.D. (cvičící)
RNDr. Valdemar Švábenský, Ph.D. (cvičící)
Ing. Jan Vlach, Ph.D. (cvičící)
RNDr. Nikola Beneš, Ph.D. (pomocník)
Garance
doc. RNDr. Eva Hladká, Ph.D.
Katedra počítačových systémů a komunikací – Fakulta informatiky
Dodavatelské pracoviště: Katedra počítačových systémů a komunikací – Fakulta informatiky
Rozvrh
St 10:00–11:50 D3
  • Rozvrh seminárních/paralelních skupin:
IB111/01: St 12:00–13:50 B311, J. Řihák
IB111/02: Pá 8:00–9:50 A215, J. Řihák
IB111/03: St 18:00–19:50 A215, J. Papoušek
IB111/04: Po 12:00–13:50 B311, M. Klučár
IB111/05: Út 10:00–11:50 A215, M. Klučár
IB111/06: Po 18:00–19:50 B311, J. Drábek
IB111/07: Pá 12:00–13:50 B311, J. Vlach
IB111/08: Po 16:00–17:50 B116, T. Effenberger
IB111/09: Čt 16:00–17:50 B117, V. Švábenský
IB111/10: Čt 18:00–19:50 B117, M. Klusáček
Předpoklady
OBOR ( SOCI ) || OBOR ( INVS ) || (! PB162 Programování Java && ! PB161 Programování v jazyce C++ && ! PB071 Úvod do jazyka C && ! IB001 Úvod do prog. skrze C && ! NOW ( IB001 Úvod do prog. skrze C ))
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 400 stud.
Momentální stav registrace a zápisu: zapsáno: 0/400, pouze zareg.: 0/400, pouze zareg. s předností (mateřské obory): 0/400
Mateřské obory/plány
předmět má 17 mateřských oborů, zobrazit
Cíle předmětu
Předmět slouží jako úvod do programátorského a algoritmického stylu myšlení. Cvičení probíhají v konkrétním programovacím jazyce (Python), nicméně cílem předmětu jsou především obecné principy uplatnitelné v mnoha různých programovacích jazycích. Po ukončení předmětu by studenti měli být schopni používat základní programátorské konstrukce (např. podmínky, cykly, funkce, základní datové typy) a znát několik základních algoritmů.
Osnova
  • Předmět ilustruje základní prvky imperativního programování a algoritmického myšlení skrze vysokoúrovňový jazyk Python a za bohatého použití ilustrativních příkladů.
  • Základní konstrukce imperativních programovacích jazyků: podmínky, cykly, základní datové typy, funkce, vstup a výstup.
  • Číselné typy, využití náhody.
  • Datové struktury, seznamy, řetězce, vícerozměrná pole, slovníky, základy použití objektů.
  • Příklady základních algoritmů: největší společný dělitel, prvočísla, řadící algoritmy, vyhledávání. Základy složitosti algoritmů, využití rekurze.
  • Želví grafika, bitmapová grafika, regulární výrazy, práce s textem.
Literatura
    doporučená literatura
  • PELÁNEK, Radek. Programátorská cvičebnice: algoritmy v příkladech. Brno: Computer Press, 2012, 175 s. ISBN 978-80-251-3751-2. info
  • GUZDIAL, Mark a Barbara ERICSON. Introduction to computing & programming in Python : a multimedia approach. 2nd ed. Upper Saddle River [N.J.]: Prentice Hall, 2010, xxiii, 401. ISBN 9780136060239. info
  • ZELLE, John M. Python programming : an introduction to computer science. Wilsonville: Franklin, Beedle &Associates, 2004, xiv, 514. ISBN 1887902996. info
Výukové metody
přednášky, povinná cvičení u počítače, domácí úkoly (příklady k programování)
Metody hodnocení
Hodnocení se skládá ze 3 částí: průběžné domácí úkoly (30 %), programátorský test u počítače v průběhu semestru (20 %), závěrečná písemná zkouška (otázky s výběrem možností, 50 %).
Informace učitele
http://www.fi.muni.cz/~xpelanek/IB111/
Další komentáře
Studijní materiály
Nachází se v prerekvizitách jiných předmětů
Předmět je zařazen také v obdobích podzim 2009, podzim 2010, podzim 2011, podzim 2012, podzim 2013, podzim 2015, podzim 2016, podzim 2017, podzim 2018, podzim 2019, podzim 2020, podzim 2021, podzim 2022, podzim 2023.