IB113 Úvod do programování a algoritmizace

Organizace přednášek

Harmonogram, přednášky, instrukce

Rozpis přednášek do týdnů je pracovní a může se v průběhu semestru mírně změnit. Slidy budou průběžně doplňovány (zde i v ISu – složka Učební materiály).

Termín TémaSlidy
Týden 1 (15. 9.)Úvod (administrativa předmětu, motivace, Python demo) uvod.pdf
Týden 2 (22. 9.)Základní konstrukce (proměnné, výrazy, řídicí struktury, funkce) zaklady.pdf
Týden 3 (29. 9.)Programy pracující s čísly (číselné typy, jednoduché ukázky, algoritmy) cisla.pdf
Týden 4 (6. 10.)Řetězce, náhodná čísla nahoda-retezce.pdf
Týden 5 (13. 10.)Seznamy seznamy.pdf
Týden 6 (20. 10.)Práce se seznamy, vyhledávání a řazení, základy složitosti vyhledavani-razeni.pdf
Týden 7 (27. 10.)Datové typy a jejich užití (slovník, množina, seznam, zásobník, fronta) datove-typy.pdf
Týden 8 (3. 11.)Rekapitulace, větší příklady, 2D seznamy data-priklady.pdf
Týden 9 (10. 11.)Vybrané záludnosti (proměnné, paměť, typy, rekurze, ...) promenne-rekurze.pdf
Týden 10 (17. 11.)státní svátek (není přednáška)
Týden 11 (24. 11.)Práce s daty a texty, regulární výrazy
Týden 12 (1. 12.)Strukturovaná data, objekty, styl
Týden 13 (8. 12.) Obrázky (reprezentace, generování, úpravy)
Týden 14 (15. 12.) Vývoj programů, přehled programovacích jazyků, praktické tipy

Cvičení

Cvičení probíhají prezenčně na FI. Účast na cvičeních je povinná (povolené jsou 2 neomluvené absence za semestr).

Rozpis cvičení je pouze orientační, přesná podoba cvičení a rozdělení témat do týdnů záleží na konkrétním cvičícím.

TýdenPříklady Znalosti Pythonu
1Rozcvičky, želví grafikazákladní představa o syntaxi
2Výpisy posloupností ovládání Python IDLE, roměnné, for, while, if, funkce (bez return)
3Textová grafika, jednoduché výpočty funkce (+return)
4Dělitelnost, prvočísla, náhodná čísla, simulacerandom
5Práce s řetězci, jednoduché šifrypráce s řetězci
6Seznamy (základní použití)práce se seznamy
7Binární vyhledávání (hra na hádání čísla, vyhledávání v seznamu)input
8Vnitrosemestrální test 1, algoritmy nad seznamy
9Vnořené seznamy, reprezentace herního plánu 2D seznamy
10Využití datových struktur (např. frekvenční analýza)slovníky
11Zpracování textu, regulární výrazypráce se soubory, řazení, regulární výrazy (re)
12Bitmapová grafika (transformace obrázků) tuple, knihovna Image
13Vnitrosemestrální test 2
14Náhradní termín vnitrosemestrálního testu

Hodnocení

Hodnocení předmětu se skládá ze tří částí (celkově 500 bodů):

Pro řešení DÚ a vnitrosemestrální písemky je zakázáno používat nástroje umělé inteligence, více viz vyjádření k použití AI.

Výjimečně je možné získat v průběhu semestru bonusové body (aktivita na přednášce či cvičení, kreativní zpracování domácího úkolu). Za nepřipravenost na cvičení (základní neznalosti o obsahu přednášek) mohou být uděleny i záporné body.

Pro úspěšné ukončení předmětu je nutno splnit všechny následující požadavky:

Známka se uděluje na základě celkového počtu bodů (hranice pro jednotlivé známky jsou rozděleny rovnoměrně mezi 275 a 500).

Postup při nesplnění podmínek

Domácí úkoly

Domácí úkoly 2 a 4 zadává a opravuje cvičící. Všechny skupiny mají tyto úkoly podobného tématu a obtížnosti, přesné zadání ale může mít každá skupina jiné. Domácí úkoly 1 a 3 se budou řešit přes systém Umíme to, kde se řešení automaticky vyhodnocují. Tyto úkoly budou mít centrální zadání a termín.

Úkoly vypracovávejte zcela samostatně. Opisování se trestá přísně. Nesdílejte svoje řešení s ostatními. V případě výskytu identických řešení budou potrestáni všichni dotčení (neřešíme kdo od koho opisoval).

Následující harmonogram je jen orientační.

ZadáníOdevzdání Popis
1 4. týden6. týdenŘešení úloh ze systému Umíme to (základy)
2 6. týden8. týdenSimulace jednoduché hry s náhodou
3 8. týden10. týdenŘešení úloh ze systému Umíme to (řetězce, seznamy)
4 10. týden12. týdenHra na 2D plánu, zpracování textu

Zdroje

Jednostránkový tahák

IB113 tahák

Primární doporučené zdroje na procvičování

Příklady knih

Příklady online zdrojů