Sunday, March 1, 2015

Ako sa hodnotí bakalárska/diplomová práca? [0.4]

Tento príspevok bude zameraný na kontrolu záverečných prác z informatiky (na univerzite nezáleží), pravidlá sú vlastne rovnaké pre študenta, vedúceho aj oponenta. Pravidlá sú zoradené chronologicky podľa toho, kedy som na daný problém narazil.

  1. Vedúci/oponent vie často o téme viac než popisuje samotná práca. Preto je dôležité, aby úroveň práca bola taká, že ju pochopí aj osoba (absolvent informatiky), ktorý o téme nič nevie. Takže, ak použijeme regulárne výrazy, tak nevysvetľujeme. V prípade termínov ako bundling, alebo Context Dependency Injection je vysvetlenie skutočne nutné, potrebujeme preto krátky (adekvátny práci) popis v texte a odkaz na zdroj, kde sa čitateľ dozvie viac.
  2. Prácu by okrem autora, vedúceho a oponenta mali pochopiť aj iní. Úvod by mal pochopiť každý VŠ vzdelaný človek, zbytok práce absolvent informatiky. 
  3. Odkazovanie do bibliografie je tiež oriešok. Typicky a obvykle správne sa zadáva:
    • priamo do textu -> len odkazy do literatúry (nie URL)
    • pod čiaru -> typicky URL na webové stránky projektov
  4. Pri položkách v bibliografii je potrebné dodržiavať "normu", ktorá sa líši fakultu od fakulty. Problém nastáva pri webových stránkach, kde je okrem URL potrebné zadať aj dátum čerpania.
  5. Ak je práca zameraná na tému, kde sa dá očakávať, že to bolo riešené, tak je potrebné overiť, že sa na rozumne aktuálne práce odkazuje. Odborné články nájdete na scholar.google.com, ktorý vytvorí aj bibliografický záznam. Robí to automaticky, preto je na záver to potrebné ručne zjednotiť, aby to vyzeralo správne (pozor na diakritiku) a rovnako.
  6. Odkazy na blogy, diskusné fóra, ... sú často najlepší zdroj praktických znalostí. Na popisy algoritmov, informatiky, .. sú často vhodnejšie. odborné články a monografie. Wikipediu radšej nepoužívať vôbec.
  7. Ak sa preberá text/obrázok ako copy&paste (aj doslovný preklad), tak je nutné správne označiť zdroj. V prípade textu dať aj vizuálne najavo, že tento text je doslovná citácia. Inak sa to dá chápať ako plagiátorstvo.
  8. UML diagramy (a aj všetky ostatné obrázky) sú vítané, ale ak tam sú bezúčelne, tak to komisiu naštve viac ako by tam neboli.
  9. Ak zadanie explicitne menuje funkcionalitu, tak to práca musí splniť. Ak zadanie píše explicitne o vyhodnotení, testovaní, ... tak to práca tiež musí splniť. Ak sa to nedá, tak je potrebné vysvetliť a odôvodniť v texte, že to nie je reálna požiadavka. Obvykle je lepšie zmeniť včas oficiálne zadanie.
  10. Jazyk práce (čeština, slovenčina, angličtina) by mal byť dodržiavaný počas celej práce. Takže je potrebné používať aj príslušné odborné termíny a vyhnúť sa slovám ako debugovať, logovať. V prípade, že preklad neexistuje, tak si ho nemusíte vymýšlať. Ak očakávate, že tých nepreložiteľných termínov tam bude priveľa, tak to píšte rovno anglicky.
  11. Kvalita textu je z pohľadu univerzity aspoň rovnako dôležitá ako kvalita kódu aplikácie. Ak nemáte nikoho na kontrolu gramatiky, preklepov, predložiek tak ho za študentské ceny nájdete v ISe na inzercii.
  12. Väčšina záverečných prác nemá teoretickú časť (veta, hypotéza, dôkaz, ...), ale textovú časť a praktickú časť. Niektoré osoby sú na to (vcelku oprávnene) háklivé.
  13. Počet znakov záverečnej práce nie je univerzálne merítko. Ak by práca mala byť príliš dlhá, tak je vhodné vhodné časti (sady grafov, používateľský manuál) do príloh. 
  14. Po odovzdaní musí byť všetko v informačnom systéme. Github je fajn, ale aj tak to tam má byť nakopírované.
  15. Pre práce, kde sa niečo programuje odporúčam nasledujúcu štruktúru
    • Popis aktuálnych (podobných) riešení
    • Podrobná analýza problému
    • Návrh a implementácia
    • *Použité technológie -> ak ich zadanie explicitne zmieňuje, tak aj pred popis aktuálnych riešení, inak niekde k analýze/návrhu
    • Vyhodnotenie výsledkov 
  16. Ak vedúci uvidí prácu až tesne pred odovzdaním, tak času na opravy je už málo. A skoro určite to bude z posudku zrejmé. Komunikovať a posielať text je treba priebežne, netreba čakať na všetky kapitoly.
  17. Odovzdaný kód by mal mať:
    • dokumentáciu (API vždy, inak je to plus), ideálne podľa JavaDoc, PEP, ...
    • súbory by mali byť rozumne veľké (riadky, objekty, funkcie)
  18. Odovzdaný kód by nemal mať:
    • divné konštrukcie, magic numbers, ...
    • zakomentovaný kód bez jasnej dokumentácie
  19. Bonus: ako na obhajobu
    • Vybrať ruky z vačkov nohavíc
    • Hovoriť nahlas a pozerať sa na ľudí
    • Obrázok na slajde je plus
    • Na slajdoch by nemalo byť všetko + nečítať
    • Hodnotiť svoju prácu vecne a odborne

No comments:

Post a Comment