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)
Týden 2Základní konstrukce (proměnné, výrazy, řídicí struktury, funkce)
Týden 3Programy pracující s čísly (číselné typy, jednoduché ukázky, vnořené cykly)
Týden 4Náhodná čísla, řetězce
Týden 5Seznamy
Týden 6Práce se seznamy, vyhledávání a řazení, základy složitosti
Týden 7Datové typy a jejich užití (slovník, množina, seznam, zásobník, fronta)
Týden 8Rekapitulace, příklady, 2D seznamy
Týden 9Vybrané záludnosti (proměnné, paměť, typy, rekurze, ...)
Týden 10Strukturovaná data, objekty, soubory
Týden 11Práce s daty a texty, regulární výrazy
Týden 12Obrázky (reprezentace, generování, úpravy)
Týden 13Vývoj programů, přehled programovacích jazyků, praktické tipy

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ů