Pokud se v tomto seznamu nenajdete, nebo se najdete se špatným či žádným tématem, urgujte mne prosím.
Stav zápočťáku značí:
potvrzeno | já i vy víme, co budete dělat; průběžně mne sháníte s aktualizacemi a chcete je posvětit |
započteno | konec iterací, stavte se pro zápočet |
Jméno | Téma | Stav |
---|---|---|
Čermák Jan | Bombičky/přikapávání s dramatickým finále | |
Demek Radomír | ||
Fiala Pavel | ||
Hejlek Jaroslav | ||
Hlaváček Tomáš | Fortunův algoritmus pro Voronoiovy diagramy, ilustrován vč. dat. struktur | potvrzeno, dostal alfaverzi, musím otestovat |
Hošala Michal | ||
Hromátka Jaroslav | ||
Jiráček Zbyněk | Asistent pro hraní min | potvrzeno, obdržel, zkontrolovat! |
Kolombo Martin | Simulace soustavy hmotných bodů + příp. rozšíření na planetární soustavu | potvrzeno |
Kouřil Andrej | Bezztrátová komprese (původně Streamování zvuku přes UDP, i v hustém provozu) | potvrzeno, čekám na alfaverzi |
Kovář Jaroslav | Generování akordů na kytaru | potvrzeno, čekám na alfaverzi |
Krijt Filip | Simulace leteckého provozu + TSP | potvrzeno, prosím o rozchození v Rotundě |
Křepelka Michal | Strojový překlad | potvrzeno, čekám na balík s dokumentací a zdrojovým kódem |
Lachata Adrián | Detekce plagiátů pro texty i zdrojáky | |
Lišková Martina | ||
Michalik Jindřich | Hra číslíčka | potvrzeno, čekám na balík obs. i zdrojáky |
Pouchová Helena | Diář s automatickým plánováním úloh | |
Vévoda Petr | Rozšíření Mongeovského invertoru | |
Vinárek Jan | Kimovy hry s rozpoznáváním kliček | |
Záhumenský Jakub | Grafická kalkulačka s možností kreslit více funkcí | potvrzeno |
Jméno | Téma | Stav |
---|---|---|
Karel Foltýn | Reversi | potvrzeno |
Kindermann Hubert | Grafické řešení diferenciálních rovnic prvního řádu | potvrzeno |
Kráčalíková Markéta | Gravitační působení těles | potvrzeno, započteno |
Král Branislav | ||
Kudělková Anna | ||
Mach Pavel | Výrazová kalkulačka s přetahováním částí výrazů, mírně grafická | |
Macháček Matouš | Něco z automatického zpracování internetového zpravodajství. | |
Majerčíková Juliana | ||
Moravčík Ondřej | ||
Rychna Lukáš | ||
Šebesta Michal |
Kromě "malých" témat navrhovaných zde se rovnou můžete zaměřit na něco, z čeho by vznikl později ročníkový projekt, bakalářka atd. Viz přehled mých navrhovaných témat v ISu. Čtěte navrhované bakalářky i projekty.
Témata ročníkových projektů a bakalářek samozřejmě omezíme tak, abyste programovali jednu malou ucelenou část, dílčí aplikaci. V řadě případů může být ku prospěchu věci "zápočťák rozchodit, odevzdat, zahodit a začít pak s ročníkovým projektem úplně nanovo" s příslušně upraveným cílem.
Předpokládá se, že i počítač bude hrát proti vám nebo sám proti sobě. Rovněž se vyhýbejte hrám jako pexeso, kde je řešení moc snadné.
Na základě předložené hromádky dokumentů ve známých jazycích a kódování program pozná kódování i jazyk u nového dokumentu. Ve sporných případech řekne třeba víc kandidátských odpovědí.
Na vstupu je text (dlouhý, třeba milion vět), nebo i text ve dvou jazycích (a existuje program, který zjistí, která slova ve větě asi překladem odpovídají kterým. Vaším úkolem je navrhnout a implementovat program, který vyrobí automaticky seznam "stop words", tj. pomocných slov, a pak je v (jiném) textu vyznačí. Jako rozšíření lze uvažovat identifikaci pomocných slov v dané větě (protože "být" je někdy pomocné a někdy ne ap.). Testovací data lze vytáhnout z Pražského závislostního korpusu. A s tématem lze pokračovat přes RP k bakalářce.
Použít techniku genetického programování na jakoukoli rozumnou úlohu. Povšimněte si, že navrhuji genetické programování, nikoli genetické algoritmy. V genetickém programování jsou jedinci strukturovaní, ne jen vektor čísel. Čili například je jedinec funkce v nějakém programovacím jazyce/vašem makrojazyce, která dopadne nejlépe z hlediska predikce vývoje na akciovém trhu. Natrénování proběhne na historickém vývoji kurzy (který slovy banky samozřejmě není zárukou budoucích výnosů).
Cílem je implementovat prototyp strojového překladu. Buď může být založen na slovníku a skloňovacích a časovacích pravidlech, nebo na slovníku frází. Neočekává se, že systém bude překládat nějak dobře, ale neměli byste se přestat snažit. Vzorová (trénovací či testovací) data jsou např. korpus CzEng.
Cílem je vyrobit program vyrábějící básničky. Důraz je na pěkný rytmus a rým (např. podle uživatelem zadaného tvaru básně), volba slov může být víceméně náhodná (ale aspoň dvou či trojsloví za sebou musí vypadat věrohodně).
Uživatel zadá jména postav a požadovaný počet vět. Generátor vytvoří pohádku na libovolné téma s danými postavami. Samotné věty budou náhodně generované, gramaticky pokud možno správné, a s typicky pohádkovým slovníkem.
Cílem je implementovat slavnou psychoanalytičku Elizu. Nemusí ale nutně rozebírat psychické problémy člověka, podstatné je, aby (v libovolném tématu i mimo téma) veršovala, tj. odpovídala (co nejodlišnější) větou v co nejpodobnějším rytmu a do rýmu.
Cílem je implementovat trénovatelný systém, který daný vstup naláme na slova a větu (viz tokenizace; konce vět jsou typicky, ale ne vždy, vyznačeny nějakým interpunkčním znaménkem). Na základě ukázkově natokenizovaného textu se program pokusí stejné tokenizační a segmentační zásady prosadit v textu novém. Na jazyce textu tedy vlastně nebude záležet.
Cílem je zadaný obrázek rozlámat na obdélníky (dle konfigurace stejné či několika málo různých velikostí). Druhý úkol programu je hromádku dílků zase složit dohromady, aby pokud možno vznikl původní obrázek. Uživateli budou postupně předkládány návrhy od nejnadějnějších, aby ověřil, jestli je složení správné.
System se natrenuje na textech s diakritikou a text bez diakritiky pak obohati. Krome toho bude program mit i vyhodnocovaci rezim, kdy text s diakritikou odhackuje, ohackuje a porovna pocet chyb.
Program zpracuje najednou n souboru a usporada je do svazu ("lattice") vyjadrujiciho rozdily mezi soubory. Pro jednoduchost lze uvazovat jen dve operace s textem: uber radek a pridej radek. Svaz nejlepe vykreslit pomoci nastroje GraphViz; rozdily prezentovat napr. po klepnuti na hranu/uzel ve svazu.
Program nabídne malou kreslicí plochu (konfigurací rozdělenou na více částí) pro zadávání znaků tahem myši, tzv. Grafiti (Graffiti). Jaký tah odpovídá jakému písmenku natrénuje uživatel sám v trénovacím režimu, kdy bude kreslit tahy podle diktátu.
Podstatný je minimalistický návrh aplikace, aby spolehlivě a velmi rychle běžela i na mobilních telefonech. (C# možná pro mobilní telefony běžně není, nicméně např. Java pro mobilní telefony trpí stejnými neduhy jako je garbage collector ap., čili C# bude dobrá platforma pro ověření funkčnosti návrhu.)