IB113 Úvod do programování a algoritmizace

Fakulta informatiky
podzim 2022
Rozsah
2/2/1. 4 kr. (plus ukončení). Ukončení: zk.
Vyučováno prezenčně.
Vyučující
doc. Mgr. Radek Pelánek, Ph.D. (přednášející)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
Mgr. Krištof Anetta (cvičící)
Bc. Veronika Burgerová (cvičící)
RNDr. Mgr. Jana Dražanová, Ph.D. (cvičící)
Ing. Šimon Fouček (cvičící)
Mgr. Ivana Krumlová (cvičící)
Bc. Dalibor Pantlík (cvičící)
RNDr. Lukáš Ručka (cvičící)
Garance
doc. Mgr. Radek Pelánek, Ph.D.
Katedra strojového učení a zpracování dat – Fakulta informatiky
Dodavatelské pracoviště: Katedra strojového učení a zpracování dat – Fakulta informatiky
Rozvrh
Po 10:00–11:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB113/01: Út 8:00–9:50 B116, J. Plhák
IB113/02: Út 10:00–11:50 B116, J. Plhák
IB113/03: Út 14:00–15:50 B116, J. Plhák
IB113/04: Čt 14:00–15:50 B116, L. Ručka
IB113/05: Čt 10:00–11:50 A215, L. Ručka
IB113/06: St 12:00–13:50 B116, I. Krumlová
IB113/07: Čt 16:00–17:50 B116, I. Krumlová
IB113/08: Út 18:00–19:50 B117, K. Anetta
IB113/09: St 8:00–9:50 B116, K. Anetta
IB113/10: Po 14:00–15:50 B116, V. Burgerová
IB113/11: Po 16:00–17:50 B116, V. Burgerová
IB113/12: Čt 8:00–9:50 B311, Š. Fouček, D. Pantlík
IB113/13: Pá 10:00–11:50 B116, L. Ručka
IB113/14: St 10:00–11:50 B116, J. Dražanová
Předpoklady
! NOW ( IB111 Základy programování ) && ! IB111 Základy programování && ! PB162 Programování Java && ! PB161 Programování v jazyce C++ && ! PB071 Principy nízkoúr. prog. && ! IB001 Úvod do prog. skrze C
Předmět je určen studentům neinformatických programů. Studenti FI si zapisují předmět IB111.
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
předmět má 17 mateřských oborů, zobrazit
Cíle předmětu
Předmět poskytuje systematické pokrytí základů programování. Pro výklad a cvičení je použit konkrétní programovací jazyk (Python), předmět se však zaměřuje na obecné principy. 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ů.
Výstupy z učení
Student bude po absolvování předmětu:
- umět používat základní prostředky strukturovaného imperativního programování (proměnné, podmínky, cykly, funkce, složené datové typy);
- schopen napsat a odladit jednoduchý program v jazyce Python a při programování dodržovat doporučené zásady čitelnosti kódu;
- schopen používat základní datové typy a struktury (řetězce, seznamy, slovníky);
- mít povědomí o pokročilejších programátorských prvcích, jejichž zvládnutí je potřeba pro rozsáhlejší aplikace;
- znát několik klasických algoritmů a mít povědomí o základním přístupu k algoritmickému řešení problémů.
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.
  • Výpočty s čísly, čí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, řadicí algoritmy, vyhledávání.
  • Želví grafika, bitmapová grafika, regulární výrazy, práce s textem.
  • Návrh programů, programátorské konvence, úprava kódu.
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, programátorský test u počítače v průběhu semestru, závěrečná písemná zkouška.
Informace učitele
https://www.fi.muni.cz/~xpelanek/IB113/
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 2017, podzim 2018, podzim 2019, podzim 2020, podzim 2021, podzim 2023.