The second part of basic course of programming for first-year students of mathematics. The course covers
programming in Python, basic algorithms and data structures and practical program design and debugging.
The knowledge of the course NMIN111 Programming 1 is expected.
Last update: Töpfer Pavel, doc. RNDr., CSc. (17.02.2020)
Základní kurz programování pro 1. ročník bakalářského studia matematických studijních programů. Obsahem
kursu je programování v jazyce Python, metody návrhu algoritmů a tvorby programů. Předpokládají se vstupní
znalosti v rozsahu předmětu NMIN111 Programování 1, na který tento předmět přímo navazuje.
Last update: Töpfer Pavel, doc. RNDr., CSc. (17.02.2020)
Course completion requirements - Czech
Předmět je zakončen zápočtem a zkouškou. K získání zápočtu se požaduje:
aktivní práce na cvičeních,
získání alespoň 70% bodů za domácí úkoly zadávané průběžně na teoretickém cvičení,
získání alespoň 70% bodů za domácí úkoly zadávané průběžně na praktickém cvičení,
úspěšné absolvování závěrečného praktického testu z programování,
vypracování zápočtového programu včetně písemné dokumentace.
Povaha těchto požadavků neumožňuje vypsat opravné termíny.
Zkouška má písemnou a ústní část. Na složení zkoušky má student tři pokusy (jeden řádný a dva opravné termíny).
Last update: Töpfer Pavel, doc. RNDr., CSc. (01.01.2024)
Literature - Czech
Pavel Töpfer: Algoritmy a programovací techniky, Prometheus Praha 1995, 2. vyd. 2007, https://www.prometheus-eknihy.cz/
Martin Mareš, Tomáš Valla: Průvodce labyrintem algoritmů, CZ.NIC Praha 2017, volně ke stažení na http://pruvodce.ucw.cz/
Programátorské kuchařky KSP, volně ke stažení na http://ksp.mff.cuni.cz/kucharky/
John V. Guttag, Introduction to Computation and Programming Using Python: With Application to Understanding Data, 2nd ed.,, MIT Press, Cambridge, MA 2016
Allen B. Downey, Think Python: How to Think Like a Computer Scientist, 2nd ed., O'Reilly Media, Sebastopol, CA 2015
Last update: Töpfer Pavel, doc. RNDr., CSc. (16.02.2020)
Requirements to the exam - Czech
Zkouška má povinnou písemnou a nepovinnou ústní část. Požadují se znalosti programovacího jazyka a algoritmů v rozsahu sylabů přednášek NMIN111 a NMIN112. Součástí písemné části zkoušky je vyřešení několika menších úloh, v nichž je úkolem návrh efektivního algoritmu, volba vhodných datových struktur, zapsání algoritmu ve tvaru funkce v Pythonu, odhad časových a paměťových nároků navrženého algoritmu.
K účasti na zkoušce není nutné předchozí získání zápočtu.
Last update: Töpfer Pavel, doc. RNDr., CSc. (02.05.2020)