Ročníkový projekt

Milé ovečky! Tu sa bude nachádzať, čo ma napadne k ročníkovému projektu, čo sa vám môže hodiť alebo čo po vás budem chcieť ja. Keď budete chcieť niečo vy, nebojte sa prísť alebo použite najlepšie tento mail <semancik;cgg,ms,mff,cuni,cz> a dohodneme sa.

Témy

Téma je v zásade na vás, mám tu ale nejaké nápady, ktoré by sa mi veľmi páčili. Ak ťa niektorá z nich zaujala, ale netušíš ako na to, viem poradiť.

A teraz pritvrdíme…

Čo sa od teba očakáva

Cieľom ročníkového projektu je vyskúšať si programovanie väčšieho diela a to iným štýlom ako prvácky zápočťák (sadnem za klávesnicu, časom uvidím čo z toho vzniklo a napíšem o tom pár fráz, hrdo zvaných dokumentácia). Teda najprv si poriadne naplánovať, čo vlastne budem robiť a ako. Takisto je to vhodná príležitosť vyskúšať si objektovo orientované programovanie, tvorbu grafického rozhrania pre užívateľa, alebo perspektívny jazyk, s ktorým zatiaľ nemáš dosť skúseností (predpokladajú sa už ale základné programátorské návyky). Nemusí teda vzniknúť program prekonávajúci všetky podobné, cieľom je niečo sa na tom niečo naučiť. Musí však byť zmysluplný, netriviálny a aspoň trochu originálny.

Čo sú základné programátorské návyky? Výber vhodných dátových štruktúr, efektívnych algoritmov, formát dátových súborov (využiť štandardné existujúce, ak je to možné), dobre okomentovaný kód, bez zbytočnej závislosti na konkrétnom vývojovom prostredí. Ak to píšeš napr. v C++, tak že to pôjde skompilovať aj iným kompilátorom ako MSVC-2006-Pro ak tomu nebráni nejaký rozumný dôvod. Takým je napr. použitie knižnice MFC, vtedy však zváž, či nevybrať radšej podobnú knižnicu prenositeľnú na iné platformy, napr. wxWidgets alebo Qt. Platformová nezávislosť nie je nutná, ale ocením ju. Minimálne však rozlišuj medzi pojmami ako jazyk, knižnica, vývojové prostredie (editor, kompilátor), operačný systém.

Teraz to teda chce výber témy, dôkladnú analýzu problému a návrh riešenia, výber platformy, jazyka, použitých knižníc alebo nástrojov a spísanie podrobnej špecifikácie. Potom je čas na implementáciu betaverzie – kostry programu a jeho základných vlastností, ktorá preverí či si to naplánovala dobre a zvládaš to. Ak máš strach, že si naplánuješ niečo príliš ťažké alebo príliš veľa, čo potom nedokážeš splniť, na to je tvoj obľúbený vedúci projektu, aby ti poradil. Programovania si užiješ ešte v dalšom semestri a určite nie je dobrá cesta písať špecifikáciu až podľa toho, čo sa ti už podarilo naprogramovať. V prvom semestri je práve na tú analýzu čas, len sa nesmie začať až v lete.

Nad čím sa zamyslieť

A tu pritvrdíme ešte viac…

Termíny

Počas letných prázdnin už môže byť problém ma zohnať.

A čo za to

Okrem dobrého pocitu z vytvorenia niečoho trvalého a toho čo sa pri tom naučíš aj nejaký zápočet a o rok navyše známka. A dobrý základ bakalárskej práce.

Update: 4. 4. 2005

Counter