17. 12. 2011

Píšete diplomku? 15+1 rad, které vám pomohou.

Blíží se zkouškové a je čas začít psát diplomku. Ing. diplomanti ji mají povinnou v podobě semestrální práce a Bc. diplomanti, které vedu ji dostali povinnou ode mne :). Tady je několik rad k psaní diplomky:
  1. Přečtěte si fakultní pokyny (BP, DP, obecné a citace).
  2. Přečtěte si Adamův blog.
  3. Pište diplomku v LaTeXu. Jste na FIT. Pokud umíte programovat, zvládnete i LaTeX. Věřte mi, ta počáteční investice se vám vrátí (tuto knihu se též vyplatí koupit). V Linuxu by s LaTeXem neměl být problém (k editaci používám Kile). Ve Windowsech je fajn kombinace WinEdt + MiKTeX.
  4. Práci píšete pro někoho. Každou část vaší práce však píšete pro někoho jiného. Nicméně jak laik, tak expert by si z vaší práce měli odnést něco hodnotného.
  5. Promyslete si logické celky vaší práce. Nejen horizontálně (jednotlivé komponenty / objekty), ale i vertikálně (teorie, model, implementace, testy / experimenty). Výsledkem je jakási matice. Text je ale lineární, takže dá trochu práce to poskládat za sebe tak, aby to mělo smysl.
  6. Úvod pište tak, aby ho pochopila i vaše babička. Zasaďte práci do širšího kontextu. Stačí půl strany. (Psal jsem diplomku na syntézu řeči (TTS) s použitím Harmonic and Noise Model (HNM). Napsal jsem tedy pár odstavců o tom, že syntéza řeči je, když učíte počítač mluvit, používá se to třeba v bankách, a také pro neslyšící. Problém bývá, že syntetizovaná řeč zní nepřirozeně. No a HNM je model, který umožní změnit jak výšku hlasu, tak tempo řeči u nahrávky. Tím bude syntetizovaná řeč znít přirozeně(ji).) Pozor, nesnažte se jednoduchým úvodem dělat ze čtenáře blbce. Spíš ho nalaďte a zaujměte. Ve své práci řešíte něco zajímavého a chcete, aby si ji přečetl. V úvodu by měla být jasná formulace cíle. Ne tak, že opíšete zadání. Ale vlastními slovy popíšete problém, který řešíte, proč a jak.
  7. Po úvodu následuje "Teorie". V této kapitole (může jich být i víc) byste měli ukázat, že víte která bije. Máte páru o tom, jak se váš problém obvykle řeší, a v čem je vaše řešení jiné a lepší. (V teorii jsem popsal běžné postupy TTS jako je konkatenační a formantová syntéza. Dále jednotlivé bloky syntetizátoru. A na závěr jsem nastřelil pár rovnic definující HNM.) Teorie je dobrý zdroj položek do bibliografie. Měli byste ukázat, že jste něco nastudovali. Této kapitole už vaše babička rozumět nemusí, ale je fajn se občas vynořit z matematiky a lidsky v jednom odstavci shrnout, co ty strašné derivace vlastně znamenají. Je to užitečné, protože pokud se čtenář ztratí a přestane chápat, vrátíte ho do děje. Má zase pocit, že chápe o co tam běží, a že nebude tak úplně blbej.
  8. Po teorii přichází "Praxe". V této kapitole (může jich být víc) popisujete váš problém z implementačního hlediska. Jaké prostředí jste zvolili, jaké knihovny, návrh tříd, komunikace, protokol atd. Nezacházejte do detailů. Čtenáře nezajímá jak se implementuje čudlík. Spíš ho bude zajímat, jak jste implementovali umělou inteligenci, komunikaci nebo zajímavou funkci. Ze všeho by mělo být patrné, proč to tak děláte. Opět tuto kapitolu nemusí chápat vaše babička, ale je dobré mít několik úrovní. IT znalému by mělo být jasné co a proč implementujete, zkušený programátor by měl pochopit i detaily (jak přesně to implementujete). (Já jsem například popisoval implementaci výběru různě dlouhých jednotek z databáze (ze kterých se spojovala výsledná řeč) a cost funkci, která zajišťovala co nejlepší kvalitu generované řeči.)
  9. Je dobré se věnovat i Testování nebo Experimentům. V této kapitole byste měli podrobit váš výsledek kritickému názoru. Nejen vašemu, ale i nezávislých uživatelů. Podstatné je, abyste z posbíraných feedbacků učinili relevantní závěr. Například vylepšit GUI, zrychlit některé části kódu nebo zvolit úplně jiný přístup. Pokud máte čas, můžete v rámci diplomky zkusit udělat ještě jednu iteraci a zapracovat na těch největších nedostatcích. (V mé diplomce jsem se věnoval testování rychlosti generované řeči a hlavně kvalitě produkované řeči (testování různých cost funkcí).)
  10. Na závěr Závěr. Krátká kapitola, které by opět měla rozumět vaše babička. Je fajn zopakovat cíl vašeho snažení. Pak stručně popsat cestu, jak jste dospěli k cíli a "ponaučení", které jste po cestě získali (co třeba (ne)fungovalo a proč). Pokud se vám něco nepodařilo nebo nevedlo to k cíli (přesto, že jste tomu věnovali velké úsilí), nebojte se o tom zmínit a diskutovat důvody. Součástí závěru je též pár vět, kde nastíníte kudy dále vede cesta. Též byste měli zmínit ostatní práce, na které jste navazovali (jiné diplomky například).
  11. Jednotlivé kapitoly by na sebe měly logicky navazovat. Vyžívejte odkazů Ve funkci XY implementujeme matematickou formuli, kterou jsme odvodili v sekci 3.2, rovnice 7. Pokud se odkazujete dopředu, popište dvěmi větami to, na co odkazujete. Čtenář by se neměl ztratit, nenuťte ho listovat. Každá kapitola by měla být (v rámci možností) samonosná. Pokud se celou vaší prací prolíná pár důležitých pojmů, zkratek nebo úvah, vždy je na znovu vysvětlete (jakmile je použijete v dané kapitole). Pokud čtenář otevře vaší práci uprostřed (např. kapitola 4), neměl by se okamžite utopit ve zkratkách a výrazech.
  12. Komentujte obrázky a grafy. Obrázek 5. E-R diagram. je fakt málo. Opět by obrázek měl být samonosný. Popis by měl obsahovat všechny podstatné informace tak, aby ho čtenář pochopil a nemusel zuřivě hledat, co která zkratka nebo objekt znamená.
  13. Až práci dopíšete +- načisto, dejte si týden oraz a nepracujte na ní. Pak se k práci vraťte a celou si ji přečtěte. Sami najdete spoustu nelogických a kostrbatých míst. Tím, jak práci píšete a přemýšlíte o ní, nevidíte hluchá místa. Ta uvidíte, až zapomenete o čem jste to vlastně psali, a co jste tím mysleli.
  14. Dejte práci přečíst třeba rodičům. Měli by pochopit, co jste dělali a proč (i když nejsou v IT). Pokud se vás budou ptát, že něco nechápou, možná je dobré dané pasáže přeformulovat.
  15. Zkontrolujte si sazbu a nechte si opravit pravopis!
  16. Práci vytiskněte a nechte svázat. Pokud svázanou práci otevřete na libovolné stránce, okamžitě najdete chybu. Kašlete na to, je to normální :). Nic není dokonalé, prostě just ship it.

Dotazy a zkušenosti do komentářů. Budou užitečné i ostatním z vás. Díky!

Žádné komentáře:

Okomentovat