IB113 Úvod do programování a algoritmizace

Fakulta informatiky
podzim 2024
Rozsah
2/2/1. 4 kr. (plus ukončení). Ukončení: zk.
Vyučováno kontaktně
Vyučující
doc. Mgr. Radek Pelánek, Ph.D. (přednášející)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
RNDr. Lukáš Ručka (cvičící)
RNDr. Mgr. Jana Dražanová, Ph.D. (cvičící)
Ing. Šimon Fouček (cvičící)
Ing. Dalibor Pantlík (cvičící)
RNDr. Jaroslav Pelikán, Ph.D. (cvičící)
Klaudia Pohanková (cvičící)
Štěpán Šonovský (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 23. 9. až Po 16. 12. Po 8:00–9:50 D1
  • Rozvrh seminárních/paralelních skupin:
IB113/01: St 25. 9. až St 18. 12. St 12:00–13:50 B116, J. Plhák
IB113/02: St 25. 9. až St 18. 12. St 14:00–15:50 B116, J. Plhák
IB113/03: Čt 26. 9. až Čt 19. 12. Čt 14:00–15:50 B117, J. Plhák
IB113/04: St 25. 9. až St 18. 12. St 16:00–17:50 B117, L. Ručka
IB113/05: Čt 26. 9. až Čt 19. 12. Čt 8:00–9:50 B116, L. Ručka
IB113/06: Út 24. 9. až Út 17. 12. Út 8:00–9:50 B116, J. Pelikán
IB113/07: Út 24. 9. až Út 17. 12. Út 10:00–11:50 B116, J. Pelikán
IB113/08: Pá 27. 9. až Pá 20. 12. Pá 10:00–11:50 B116, J. Pelikán
IB113/09: Pá 27. 9. až Pá 20. 12. Pá 8:00–9:50 B116, J. Dražanová
IB113/10: St 25. 9. až St 18. 12. St 8:00–9:50 B130, Š. Fouček, D. Pantlík
IB113/11: Po 23. 9. až Po 16. 12. Po 12:00–13:50 B311, K. Pohanková, Š. Šonovský
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 && !PROGRAM(B-INF) && !PROGRAM(B-PVA) && !PROGRAM(B-CS)
Předmět je určen studentům neinformatických programů. Studenti programů Informatika, PVA a Kyberbezpečnost si zapisují předmět IB111. Absolventi IB111 si mohou nechat IB113 uznat.
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
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 2022, podzim 2023.
  • Statistika zápisu (nejnovější)
  • Permalink: https://is.muni.cz/predmet/fi/podzim2024/IB113