PRM045 Programování II - 2007
přednáška středa 9:00 posluchárna M1
seminář - skupina X/53 úterý 14:00 posluchárna K3
Druhý semestr dvousemestrového základního kursu programování pro 1.ročník studentů matematiky
Hromadná konzultace se koná v pondělí 28.května od 14:00 hodin v posluchárně S3
O předmětu
Hlavním cílem předmětu je naučit studenty algoritmickému myšlení a základním programátorským dovednostem.
Přednáška je vedena na bázi programovacího jazyka Pascal. Programovací jazyk však není cílem,
ale prostředkem. V druhém semestru probereme další konkrétní algoritmy, některé další způsoby návrhu efektivních algoritmů,
ukazatele a dynamicky alokované proměnné, základy objektového programování.
Podmínky pro získání zápočtu
- Aktivní účast na seminářích a průběžné znalosti během semestru.
- Vytvoření a odladění zápočtového programu.
K zápočtovému programu je potřeba vytvořit smysluplnou
dokumentaci.
Podmínky ze semináře kontroluje a upřesňuje vedoucí semináře, na který student chodí.
Pokud student nemůže ze závažných důvodů navštěvovat seminář se skupinou kam patří,
musí se nejpozději do dvou týdnů po zahájení výuky přihlásit do jiné skupiny
(o přijetí či nepřijetí rozhoduje vedoucí semináře, kam chce student přejít).
Pokud student nemůže ze závažných důvodů (např. u kombinovaného studia) semináře navštěvovat,
dohodne si začátkem semestru s přednášejícím náhradní podmínky udělení zápočtu .
Zápočty zapisuje vedoucí semináře resp. u kombinovaného studia řednášející.
K přihlášení na zkoušku ani k připuštění k jejímu vykonání se nepožaduje
předchozí udělení zápočtu. Předmět se však považuje z hlediska studijních předpisů za splněný
jen pokud student získá zápočet i složí zkoušku
Zkouška
Zkouška se skládá ze dvou částí :
- Písemná část má opět dvě části:
- Jednoduchou úlohu na práci se spojovými strukturami
- V druhé části student musí napsat "kostru" programu řešící (nějakým způsobem náročnou) úlohu.
Není třeba (ani možné) napsat kompletní kód programu, stačí vyřešit návrh dat a hlavního algoritmu,
strukturu podprogramů a jejich vzájemnou komunikaci
(podstatné globální deklarace a hlavičky hlavních podprogramů)
a naprogramovat "nosné" podprogramy zvoleného řešení.
- Ústní část má také dvě části:
- Rozbor úloh z písemné části zkoušky formou
diskuse nad zvolenými řešeními. Požaduje se schopnost zvážit přednosti a
nedostatky různých alternativních způsobů řešení.
- Otázka/y ze znalostí programovacího jazyka a algoritmů probraných na přednášce.
Na těchto stránkách bude uveřejněn seznam otázek, který bude definitivně upřesněn dva týdny před koncem výuky.
Tato část ústní zkoušky bude obdobná zkouškám z jiných předmětů
Přihlašování ke zkoušce
Na zkoušku se studenti přihlašují ve studijním informační systému fakulty.
Je žádoucí, aby podstatná většina studentů absolvovala jeden pokus před prázdninami,
jinak nemohu zaručit všem případnou možnost vyčerpat tři pokusy.
Termín 2.července je přednostně určen na opravné zkoušky, proto bude zapisování na něj umožněno až později.
Zapisujte se včas, po 28.květnu omezím kapacity termínů podle projeveného zájmu.
Nemohu si dovolit počítat každý týden s 50 zkoušenými, když pak přijde třeba jen 10.
Zkoušku budete moci skládat i když přijdete aniž jste byli přihlášeni (pokud takových nebude monoho).
Pokud by se stalo, že termín bude obsazen, pošlete mail - pokud to půjde kapacitu zvětším.
Na září jsou vypsány 3 termíny, budou uvolněny v druhé polovině srpna.
Literatura
V podstatě nebudete žádnou potřebovat, můžete si vystačit s poznámkami z přednášek a seminářů
-
P. Töpfer: Algoritmy a programovací techniky
Prometheus Praha 1995
Pěkná knížka, ve které najdete většinu algoritmů, které na přednášce probereme.
Algoritmy jsou zpravidla uvedeny i s důkazem správnosti a odhadem složitosti.
Většina znich je dovedena až do stádia programu v Pascalu. Knížku oceníte především při přípravě ke zkoušce v letním semestru.
-
P. Satrapa: Pascal pro zelenáče
Neokortex Praha 2000
Svižně napsaná knížka o programovacím jazyku Pascal
-
N. Wirth: Algorithms + Data Structures = Programs
Prentice Hall Englewood Cliffsů; New Jersey 1975
slovenský překlad
N. Wirth: Algoritmy a štruktúry údajov
Alfa, Bratislava 1989
Klasická učebnice programování dodnes neztratila svúj půvab. Dnes poslouží především jako učebnice algoritmů.
Překladače Pascalu
K dispozici jsou tři překladače
- Borland Pascal verze 7 - "starý, ale osvědčený" překladač
- Free Pascal - volně šiřitelný, pracuje jak pod OS Windows, tak pod OS Unix
- Delphi - de facto jde o překladač jiného jazyka navazujícího na Pascal
Překladač Borland Pascal verze 7 může pracovat i v prostředí Windows,
znáte ho z praktických testů v zimním semestru. Má některá omezení vyplývající z jeho "stáří".
O těchto omezeních budeme mluvit na přednášce podrobněji.
Pro zápočtové programu můžete použít i překladač Free Pascal. Má několik výhod:
- Je volně k dispozici na síti
- Může pracovat jak pod OS Windows, tak pod OS Unix
- Je modernější, proto v něm neplatí některá omezení Borland Pascalu.
- Může pracovat v režimu, ve kterém je téměř úplně kompatibilní s Borland Pascalem.
Především v letním semestru mohou studenti použít k vytvoření zápočtového programu
i programovací systém Delphi.
Výhodou může být možnost vytvořit plnohodnotnou aplikaci pod MS Windows včetně grafický výstupů.
Nevýhodou je relativní složitost systému.
Proto nelze doporučit použití systému Delphi těm, kdo jej již neznají a nejsou ochotni investovat zvýšené úsilí
k jeho ovládnutí. Systém má režim, který umožňuje vytvářet "konzolové aplikace".