NMIN102 Programování II - LS 2014
moje přednáška pro paralelku Y je rozvržena na středu 12:20 posluchárna M1
paralelka X úterý 12:20 M1 Martin Pergel
můj seminář pátek 12:20 posluchárna K11
Druhý semestr dvousemestrového základního kursu programování pro 1.ročník studentů matematiky
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é a 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.
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í.
Na vypracování první úlohy budou studenti mít hodinu času, na vypracování druhé 2 1/2 hodiny.
- Ú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.
Zkoušku lze skládat i když nemáte ještě zápočet.
Je žádoucí, aby podstatná většina studentů absolvovala jeden pokus před prázdninami,
jinak nemůžeme zaručit všem případnou možnost vyčerpat tři pokusy.
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šíme.
Na září jsou vypsány 2-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 z nich 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".