IB113 Úvod do programování a algoritmizace

Fakulta informatiky
podzim 2020
Rozsah
2/2/1. 4 kr. (plus ukončení). Ukončení: zk.
Vyučující
doc. Mgr. Radek Pelánek, Ph.D. (přednášející)
RNDr. Jaromír Plhák, Ph.D. (cvičící)
Mgr. Tomáš Effenberger (cvičící)
Mgr. Jaroslav Čechák (cvičící)
Mgr. Filip Lux (cvičící)
RNDr. Lukáš Ručka (cvičící)
Mgr. Bedřich Said (cvičící)
Mgr. Anna Winklerová (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
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á 48 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 (150 bodů), programátorský test u počítače v průběhu semestru (100 bodů), závěrečná písemná zkouška (150 bodů). K úspěšnému zvládnutí je třeba získat alespoň 90 bodů z domácích úkolů, 50 bodů z programátorského testu a 80 bodů z písemné zkoušky.
Informace učitele
https://www.fi.muni.cz/~xpelanek/IB113/
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.
  • Statistika zápisu (nejnovější)
  • Permalink: https://is.muni.cz/predmet/fi/podzim2020/IB113