IB113 Úvod do programování a algoritmizace

Přednášky

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Úvod (administrativa předmětu, motivace, Python demo) uvod.pdf, Video Vlk, koza, zelí
Týden 2Základní konstrukce (proměnné, výrazy, řídicí struktury, funkce) zaklady.pdf
Týden 3Programy pracující s čísly (číselné typy, jednoduché ukázky, vnořené cykly) cisla.pdf
Týden 4Náhodná čísla, řetězce nahoda-retezce.pdf
Týden 5Seznamy seznamy.pdf
Týden 6Práce se seznamy, vyhledávání a řazení, základy složitosti vyhledavani-razeni.pdf
Týden 7Státní svátek
Týden 8Datové typy a jejich užití (slovník, množina, seznam, zásobník, fronta) datove-typy.pdf
Týden 9Rekapitulace, příklady, 2D seznamy data-priklady.pdf
Týden 10Vybrané záludnosti (proměnné, paměť, typy, rekurze, ...) promenne-rekurze.pdf
Týden 11Práce s daty a texty, regulární výrazy regexp-texty.pdf
Týden 12Strukturovaná data, objekty, soubory objekty.pdf
Týden 13Obrázky (reprezentace, generování, úpravy) obrazky.pdf
Týden 14Vý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
1Ž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
11Zpracování textu, regulární výrazypráce se soubory, řazení, regulární výrazy (re)
12Vnitrosemestrální písemka
13Bitmapová grafika (transformace obrázků) tuple, knihovna Image

Hodnocení

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

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 220 a 400).

Postup při nesplnění podmínek

Domácí úkoly

Domácí úkoly zadává a opravuje cvičící. Všechny skupiny mají úkoly podobného tématu a obtížnosti, přesné zadání ale může mít každá skupina jiné.

Ú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í, přesná data stanoví cvičící každé skupiny.

  ZadáníOdevzdání Popis
1 2. týden3. týdenJednoduché posloupnosti a obrázky
2 4. týden5. týdenSimulace jednoduché hry s náhodou
3 6. týden8. týdenŘešení úloh ze systému Umíme programovat
4 9. týden11. týdenHra na 2D plánu
5 12. týdenkonec semestruZpracování textu a obrázků

Zdroje

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

Příklady knih

Příklady online zdrojů