Programovanie (2) v Jave
1-INF-166, LS 2017/18

Úvod · Pravidlá · Prednášky · Netbeans · Testovač · Test a skúška
· Vyučujúcich môžete kontaktovať pomocou e-mailovej adresy E-prg.png (bude odpovedať ten z nás, kto má príslušnú otázku na starosti alebo kto má práve čas).
· DÚ10 je zverejnená, odovzdávajte do stredy 16.5. 22:00.
· Bonusový projekt odovzdávajte do pondelka 21.5. 22:00 na testovači. Predvádzanie projektov bude po prvom termíne skúšky v stredu 23.5. (t.j. začneme medzi 11:45 a 12:00 v H6). Ak vtedy nemôžete prísť, kontaktujte vyučujúce, dohodneme iný termín.
· Opravný/náhradný test bude v pondelok 28.5. o 10:00 v F1-108. V prípade záujmu sa prihláste v AISe.
· Na termíny skúšok sa zapisujte v AIS. Termíny: streda 23.5. (riadny), štvrtok 7.6. (riadny alebo 1. opravný), streda 20.6. (1. alebo 2. opravný) plus v prípade potreby ešte jeden termín v poslednom týždni skúškového. Prípadné konflikty nám dajte vedieť čím skôr. Ďalšie informácie na stránke Test a skúška.


Letný semester, projekt

Z Programovanie
Prejsť na: navigácia, hľadanie
  • Súčasťou bodovania je aj nepovinný projekt, za ktorý môžete dostať 10% bonus.
    • Je to príležitosť vyskúšať si písanie väčšieho programu, pričom v projekte máte väčšiu voľnosť ako pri domácich úlohách
    • Projekty, ktoré nebudú spĺňať podmienky uvedené nižšie, budú hodnotené 0 bodmi, nemá teda význam odovzdávať nedokončené programy

Požiadavky na projekt

  • Projekt musí byť na jednu z tém nižšie. Témy však nepopisujú presné požiadavky, poskytujú len námety, z ktorých si môžete vybrať a prípadne ich ďalej rozšíriť.
  • Projekt musí byť napísaný v Jave a spustiteľný v Netbeans v učebniach na fakulte a napísaný prehľadne s dostatkom komentárov.
  • Používať môžete len štandardné javovské knižnice (a prípadne JUnit). Okrem toho samozrejme môžete používať kód poskytnutý v rámci predmetu. Zvyšok programu by mal byť z väčšej časti napísaný vami. Ak použijete nejaké úryvky kódu z internetu alebo iných zdrojov, v komentároch jasne uveďte zdroj.
  • Program by mal poskytovať grafické užívateľské prostredie, mal by byť príjemne ovládateľný a mal by sa vyrovnať aj s neobvyklým správaním používateľa (nemal by padať na chyby, okrem naozaj závažných neobvyklých situácií ako nedostatok pamäte).
  • Váš program by mal byť schopný načítavať spracovávané dáta zo súboru a po ich prípadnej zmene ich opäť do súboru uložiť. Formát súboru si môžete zvoliť, program by však nemal padať, ak dostane súbor v zlom formáte alebo s nezmyselnými dátami.

Projekt spĺňajúci tieto požiadavky získa aspoň 5% bonusových bodov, pričom je možné získať až 10% v závislosti od náročnosti a kvality vypracovania projektu.

Termíny a odovzdávanie

  • V prípade, že chcete robiť projekt, treba si vybrať jednu z ponúkaných tém do stredy 2.5.2018 22:00
    • Doporučujeme však toto rozhodnutie spraviť čím skôr, aby ste na projekt mali dosť času, koncom semestra býva veľa práce na všetkých predmetoch.
    • Do uvedeného termínu odovzdajte na testovači súbor .txt, ktorý bude obsahovať, ktorú tému ste si vybrali a meno jedného alebo dvoch študentov, ktorí budú na tejto téme robiť. Stačí, ak sa na projekt prihlási jeden z členov dvojice.
  • Samotný projekt je potrebné odovzdať klasicky ako domácu úlohu do pondelka 21.5. 22:00 na testovači.
  • Odovzdajte v jednom zazipovanom adresári:
    • podadresár obsahujúci zdrojový kód a ďalšie potrebné súbory, napr. bitmapy,
    • podadresár obsahujúci niekoľko príkladov vstupných súborov,
    • stručný popis projektu vo formáte txt, v ktorom vymenujte, aké možnosti váš program používateľovi poskytuje.
  • Projekt je tiež potrebné prísť predviesť vyučujúcim.
    • Predvádzanie projektov bude po prvom termíne skúšky v stredu 23.5. (t.j. začneme medzi 11:45 a 12:00 v H6). Ak vtedy nemôžete prísť, kontaktujte vyučujúce, dohodneme iný termín.
    • Vyučujúcim predvediete používanie vášho programu a hlavné časti zdrojového kódu.
    • Body oznámime prostredníctvom odovzdávača až po prezretí všetkých projektov.

Témy projektov

  • Rozšírte DÚ5 (bludisko) o grafické rozhranie, ktoré zobrazí maticu, pričom písmená v poklady, steny a voľné polia zvýrazní rôznymi farbami. Používateľovi umožní túto plochu editovať a prezerať si z dosiahnuté poklady z jednotlivých štartovacích polí. Pri editovaní plochy sa pokúste ponúknuť paletu viacerých nástrojov na vytváranie rôznych plôšok buď pevne daného tvaru alebo s náhodným prvkom.
  • Rozšírte DÚ7 (roboti) o grafické rozhranie, ktoré zobrazí hernú plochu a dovolí používateľovi vytvoriť alebo editovať postupnosť robotov aj s ich nastaveniami (čas príchodu, typ, inicializačný parameter) a potom simuluje roboty a vypisuje aktuálne štatistiky úspešných a mŕtvych robotov. Môžete prípadne naprogramovať aj editor hernej plochy. Môžete tiež do hry pridať ďalšie typy robotov alebo políčok.
  • Rozšírte DÚ8 (iterátor) o grafické rozhranie umožňujúce používateľovi vytvárať a modifikovať vkladané dáta vo forme stromu a následne vizualizovať použitie metód iterátora. Jedná sa o komplikovanejšiu úlohu, kedy sa očakáva, že budete musieť premyslieť a preprogramovať aj samotný iterátor. Tému preto odporúčame skôr pokročilejším programátorom.
  • Rozšírte DÚ9 (hra) o ďalšie možnosti hry. Mali by ste umožniť hrať hru viacerým hráčom. Každý z hráčov má svoje karty a kortynačku, ktorú sa snaží dosťať do cieľa (pochopiteľne by sa hráči mali v ťahoch striedať). Pridajte tiež možnosť načítať nastavenie hry zo súboru. Tiež odporúčame pridať ďalšie možnosti kariet - napríklad "ľubovoľná korytnačka dopredu", "posledná korytnačka dopredu" a pod. Prípadne rozšíriť hru o políčka obsahujúce skratky a k tomu prislušné karty.