IB113 Úvod do programování a algoritmizace

Organizace výuky

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 (18. 9.)Úvod (administrativa předmětu, motivace, Python demo) uvod.pdf
Týden 2 (25. 9.)Základní konstrukce (proměnné, výrazy, řídicí struktury, funkce) zaklady.pdf
Týden 3 (2. 10.)Programy pracující s čísly (číselné typy, jednoduché ukázky, vnořené cykly) cisla.pdf
Týden 4 (9. 10.)Řetězce, náhodná čísla nahoda-retezce.pdf
Týden 5 (16. 10.)Seznamy seznamy.pdf
Týden 6 (23. 10.)Práce se seznamy, vyhledávání a řazení, základy složitosti vyhledavani-razeni.pdf
Týden 7 (30. 10.)Datové typy a jejich užití (slovník, množina, seznam, zásobník, fronta) datove-typy.pdf
Týden 8 (6. 11.)Rekapitulace, příklady, 2D seznamy data-priklady.pdf
Týden 9 (13. 11.)Vybrané záludnosti (proměnné, paměť, typy, rekurze, ...) promenne-rekurze.pdf
Týden 10 (20. 11.)Práce s daty a texty, regulární výrazy regexp-texty.pdf
Týden 11 (27. 11.)Strukturovaná data, objekty, styl objekty.pdf
Týden 12 (4. 12.)Obrázky (reprezentace, generování, úpravy) obrazky.pdf
Týden 13 (11. 12.)Vývoj programů, přehled programovacích jazyků, praktické tipy prakticke-prog.pdf

Cvičení

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
8Algoritmy nad seznamy (Pascalův trojúhelník, řazení)slovník
9Vnořené seznamy, reprezentace herního plánu 2D seznamy
10Využití datových struktur (např. frekvenční analýza)slovníky
11Vnitrosemestrální zkouška
12Zpracování textu, regulární výrazypráce se soubory, řazení, regulární výrazy (re)
13Bitmapová grafika (transformace obrázků) tuple, knihovna Image

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í úlohy). 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 270 a 500).

Postup při nesplnění podmínek

Domácí úkoly

Domácí úkoly 1, 3, 5 a 6 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 2 a 4 se budou řešit přes systém Umíme informatiku, kde se řešení automaticky vyhodnocují. Tyto úlohy 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 3. týden4. týdenJednoduché posloupnosti a obrázky
2 5. týden6. týdenŘešení úloh ze systému Umíme informatiku (základy)
3 6. týden8. týdenSimulace jednoduché hry s náhodou
4 8. týden10. týdenŘešení úloh ze systému Umíme informatiku (řetězce, seznamy)
5 10. týden12. týdenHra na 2D plánu
6 12. týden14. týdenZpracování textu a obrázků

Zdroje

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

Příklady knih

Příklady online zdrojů