Programovanie (2) v Jave
1-INF-166, letný semester 2023/24

Prednášky · Pravidlá · Softvér · Testovač
· Vyučujúcich predmetu možno kontaktovať mailom na adresách uvedených na hlavnej stránke. Hromadná mailová adresa zo zimného semestra v letnom semestri nefunguje.
· JavaFX: cesta k adresáru lib je v počítačových učebniach /usr/share/openjfx/lib.


Zimný semester, skúška: Rozdiel medzi revíziami

Z Programovanie
Skočit na navigaci Skočit na vyhledávání
Riadok 23: Riadok 23:
 
* Ak sa zúčastňujete predtermínu, body za tréningové príklady môžete dostať iba ak ich vyriešite do 18.12. 11:30. (toto neplatí, ak po predtermíne ešte idete na opravný termín skúšky)
 
* Ak sa zúčastňujete predtermínu, body za tréningové príklady môžete dostať iba ak ich vyriešite do 18.12. 11:30. (toto neplatí, ak po predtermíne ešte idete na opravný termín skúšky)
  
<!--
 
 
==Praktická skúška==
 
==Praktická skúška==
  
Riadok 40: Riadok 39:
 
* Testovač na sťahovanie zadaní a poskytnutých súborov, odovzdávanie riešení
 
* Testovač na sťahovanie zadaní a poskytnutých súborov, odovzdávanie riešení
 
* MS Teams na komunikáciu s vyučujúcimi
 
* MS Teams na komunikáciu s vyučujúcimi
* Bežné programátorské prostredie na vašom počítači: editory (napr. Kate), kompilátory (napr. gcc), debuggery, valgrind/Mr.Memory, integrované nástroje ako Netbeans, Eclipse, Code::Blocks, CLion, Dev-C++, Microsoft Visual Studio a pod.
+
* Bežné programátorské prostredie na vašom počítači: editory (napr. Kate), kompilátory (napr. gcc), debuggery, valgrind/Dr.Memory, integrované nástroje ako Netbeans, Eclipse, Code::Blocks, CLion, Dev-C++, Microsoft Visual Studio a pod.
  
 
Zakázané pomôcky
 
Zakázané pomôcky
 
* Iné webstránky okrem vyššie uvedených
 
* Iné webstránky okrem vyššie uvedených
 
* Komunikovanie s inými osobami než vyučujúcimi
 
* Komunikovanie s inými osobami než vyučujúcimi
* Zdieľanie svojho kódu s inými osobami
+
* Zdieľanie svojho kódu s inými osobami (ručne alebo prostredníctvom funkcií programátorského prostredia)
 +
* Webové programátorské prostredia
  
 
Odovzdávanie riešenia
 
Odovzdávanie riešenia
 
* Počas skúšky máte povinnosť každých cca 15 minút odovzdať na testovač program, na ktorom práve pracujete, aj keď ešte nie je hotový
 
* Počas skúšky máte povinnosť každých cca 15 minút odovzdať na testovač program, na ktorom práve pracujete, aj keď ešte nie je hotový
 
* Bude to prebiehať tak, že vždy po 15 minútach vás upozorníme cez MS Teams. Ak ste počas posledných 5 minút pred upozornením program odovzdali, nemusíte robiť nič. Ak nie, mali by ste program odovzdať v najbližších 5 minútach.  
 
* Bude to prebiehať tak, že vždy po 15 minútach vás upozorníme cez MS Teams. Ak ste počas posledných 5 minút pred upozornením program odovzdali, nemusíte robiť nič. Ak nie, mali by ste program odovzdať v najbližších 5 minútach.  
* Ak práve nemáte rozpísaný program (čítate zadanie / rozmýšľate), napíšte to pár slovami do okienka na odovzdanie programu a odošlite.
+
* Ak práve nemáte rozpísaný program (čítate zadanie / rozmýšľate), napíšte niečo typu "rozmyslam" do okienka na odovzdanie programu a odošlite.
  
 
Ďalšie detaily
 
Ďalšie detaily
Riadok 100: Riadok 100:
 
* Ak je praktická skúška doobeda, ústne skúšky budú cca 13:00-19:00. Na tento čas si teda neplánujte iné dôležité termíny. Ak máte v rámci tohto času nejaké vážne prekážky k absolvovaniu ústnej skúšky, upovedomte o tom vyučujúcich vopred pred skúškou.
 
* Ak je praktická skúška doobeda, ústne skúšky budú cca 13:00-19:00. Na tento čas si teda neplánujte iné dôležité termíny. Ak máte v rámci tohto času nejaké vážne prekážky k absolvovaniu ústnej skúšky, upovedomte o tom vyučujúcich vopred pred skúškou.
 
* Vyučujúci po skúške zverejnia približný rozpis časov ústnych skúšok. V čase uvedenom v rozpise by ste mali byť pripojení na MS Teams, budeme vás kontaktovať súkromným hovorom. Sledujte oznamy na MS Teams, kde zverejníme prípadné zmeny rozpisu, ktoré si vyžiada situácia.
 
* Vyučujúci po skúške zverejnia približný rozpis časov ústnych skúšok. V čase uvedenom v rozpise by ste mali byť pripojení na MS Teams, budeme vás kontaktovať súkromným hovorom. Sledujte oznamy na MS Teams, kde zverejníme prípadné zmeny rozpisu, ktoré si vyžiada situácia.
* Ak by nebolo možné všetkých študentov vyskúšať ústne v deň skúšky, s niektorými si dohodneme termín na iný deň
+
* Ak by nebolo možné všetkých študentov vyskúšať ústne v deň skúšky, s niektorými si dohodneme termín na iný deň.
  
 
Obsah ústnej skúšky
 
Obsah ústnej skúšky
Riadok 108: Riadok 108:
 
** Navrhnite, ako by ste kód zmenili alebo rozšírili, aby sa správanie programu zmenilo predpísaným spôsobom
 
** Navrhnite, ako by ste kód zmenili alebo rozšírili, aby sa správanie programu zmenilo predpísaným spôsobom
 
** Popíšte, čo by spôsobila určitá konkrétna zmena v programe
 
** Popíšte, čo by spôsobila určitá konkrétna zmena v programe
* Okrem programov zo skúšky môžeme podobne diskutovať aj o programoch, ktoré ste odovzdali na cvičeniach 6 až 12.  
+
* Okrem programov zo skúšky môžeme podobne diskutovať aj o programoch, ktoré ste odovzdali na cvičeniach 8 až 12.  
 
* Počas ústnej skúšky budeme pokiaľ možno zdieľať diskutovaný kód v okne viditeľnom všetkým zúčastneným stranám
 
* Počas ústnej skúšky budeme pokiaľ možno zdieľať diskutovaný kód v okne viditeľnom všetkým zúčastneným stranám
* Jedným z cieľov ústnej skúšky je preveriť, či dobre rozumiete učivu a programom, ktoré ste v rámci predmetu odovzdali a či je teda pravdepodobné, že sú vašou vlastnou prácou. Ak vaše odpovede nebudú uspokojivé, neudelíme vám z ústnej skúšky 50% bodov a teda nemôžete predmet úspešne ukončiť.  
+
* Jedným z cieľov ústnej skúšky je preveriť, či dobre rozumiete učivu a programom, ktoré ste v rámci predmetu odovzdali a či je teda pravdepodobné, že sú vašou vlastnou prácou. Ak vaše odpovede nebudú uspokojivé, neudelíme vám z ústnej skúšky polovicu bodov a teda nemôžete predmet úspešne ukončiť.  
  
 
==Opravné termíny==
 
==Opravné termíny==
Riadok 116: Riadok 116:
 
* Ak po skúške máte nárok na známku E alebo lepšiu, ale chceli by ste si známku ešte opraviť, musíte sa dohodnúť so skúšajúcimi.
 
* Ak po skúške máte nárok na známku E alebo lepšiu, ale chceli by ste si známku ešte opraviť, musíte sa dohodnúť so skúšajúcimi.
 
* Ak sa zo závažných dôvodov (napr. zdravotných, alebo konflikt s inou skúškou) nemôžete zúčastniť termínu skúšky alebo písomky, dajte o tom vyučujúcim vedieť čím skôr.
 
* Ak sa zo závažných dôvodov (napr. zdravotných, alebo konflikt s inou skúškou) nemôžete zúčastniť termínu skúšky alebo písomky, dajte o tom vyučujúcim vedieť čím skôr.
 
-->
 

Verzia zo dňa a času 09:12, 9. december 2020

Na tejto stránke pribudnú informácie ohľadom skúšok. Podrobnejšie informácie o skúške a rady k zvládnutiu prvého skúškového budú na prednáške v stredu 9.12. Odporúčame účasť na tejto prednáške.

Odporúčame tiež si preštudovať pravidlá predmetu.

Termíny, prihlasovanie

Boli zverejnené predbežné termíny skúšok

  • piatok 18.12. 12:00 predtermín (koná sa len pri dostatočnom záujme)
  • štvrtok 7.1. 9:00 riadny termín
  • piatok 22.1. 9:00 prvý opravný termín
  • piatok 5.2. 9:00 druhý opravný termín

Ak zistíte konflikt našej skúšky s hromadnou skúškou alebo písomkou iného predmetu, dajte nám vedieť čím skôr, pokiaľ možno do 10.12. Na poslednú chvíľu už nedokážeme nájsť riešenie. Hlavná časť skúšky je doobeda, ale poobede sa konajú krátke ústne skúšky, takže pokiaľ možno si na poobedie skúškového termínu nič dôležité neplánujte.

Prihlasovanie

  • Na termín skúšky sa prihlasujte v AIS/Votr od 10.12. 19:00.
  • Na termín sa prihlasujte / odhlasujte najneskôr 24 hodín pred začiatkom termínu
  • Predtermín 18.12. má obmedzenú kapacitu, hláste sa čím skôr, prihlasovanie od štvrtka 3.12. 19:00.
  • Opravnú písomku môžete na tomto predmete písať aj po skúške
  • Celkovo budú iba uvedené štyri termíny. Každý sa môže zúčastniť na najviac troch z nich.

Špeciálne pravidlá pre predtermín

  • Ak sa zúčastňujete predtermínu, body za tréningové príklady môžete dostať iba ak ich vyriešite do 18.12. 11:30. (toto neplatí, ak po predtermíne ešte idete na opravný termín skúšky)

Praktická skúška

  • 2 hodiny práca pri počítači
  • Za špeciálnych pravidiel môže byť čas predĺžený o 30 minút, viď pravidlá nižšie
  • Počas skúšky máte byť pripojení cez MS Teams pre prípad oznamov, mikrofón a kameru nechajte vypnuté.
  • Ak máte otázku, zdvihnite ruku, podobne ako cez cvičenia, spojíme sa s vami súkromným hovorom
  • Počas skúšky vám nebudeme pomáhať hľadať chyby vo vašom programe. Môžete sa však spýtať na nejasnosti v zadaní. Dajte nám tiež vedieť v prípade technických problémov alebo ak si myslíte, že v zadaní / kostre / vstupoch je chyba.
  • Počas písomky vás môžeme kontaktovať súkromným hovorom, počas ktorého máte zapnúť kameru, na požiadanie zdieľať obrazovku a ukázať nám, aké programy pri práci používate.

Povolené pomôcky

  • Papier a písacie potreby (ak máte tlačiareň, môžete si aj vytlačiť zadanie)
  • Ľubovoľné papierové materiály (poznámky, knihy)
  • Stránka predmetu (poznámky z prednášok)
  • Vaše riešenia cvičení a domácich úloh (ak treba, stiahnite si ich pred skúškou z testovača, počas skúšky nebudú k dispozícii)
  • Testovač na sťahovanie zadaní a poskytnutých súborov, odovzdávanie riešení
  • MS Teams na komunikáciu s vyučujúcimi
  • Bežné programátorské prostredie na vašom počítači: editory (napr. Kate), kompilátory (napr. gcc), debuggery, valgrind/Dr.Memory, integrované nástroje ako Netbeans, Eclipse, Code::Blocks, CLion, Dev-C++, Microsoft Visual Studio a pod.

Zakázané pomôcky

  • Iné webstránky okrem vyššie uvedených
  • Komunikovanie s inými osobami než vyučujúcimi
  • Zdieľanie svojho kódu s inými osobami (ručne alebo prostredníctvom funkcií programátorského prostredia)
  • Webové programátorské prostredia

Odovzdávanie riešenia

  • Počas skúšky máte povinnosť každých cca 15 minút odovzdať na testovač program, na ktorom práve pracujete, aj keď ešte nie je hotový
  • Bude to prebiehať tak, že vždy po 15 minútach vás upozorníme cez MS Teams. Ak ste počas posledných 5 minút pred upozornením program odovzdali, nemusíte robiť nič. Ak nie, mali by ste program odovzdať v najbližších 5 minútach.
  • Ak práve nemáte rozpísaný program (čítate zadanie / rozmýšľate), napíšte niečo typu "rozmyslam" do okienka na odovzdanie programu a odošlite.

Ďalšie detaily

  • Nebudeme používať SVGdraw
  • Môžete používať aj črty C/C++, ktoré sme nebrali. Používajte len štandardné súčasti jazyka. Vaše programy by mali fungovať na testovači bez zvláštnych nastavení kompilátora a pod.
  • Odporúčame používať iba tie časti jazyka, s ktorými máte dostatočné skúsenosti. Príkazy, ktoré si nepamätáte, si napíšte na "ťahák".

Príklady

Na skúške budete riešiť dva príklady za rovnaký počet bodov

Prvý príklad

  • V prvom príklade budete mať za úlohu samostatne napísať celý program, ktorý rieši zadanú úlohu. Typicky bude treba načítať dáta, spracovať ich a vypísať výsledok.
  • V tomto príklade môžete použiť ľubovoľný postup.
  • Budú však zakázané polia pevných veľkostí. Polia alokujte dynamicky cez new, alebo použite štruktúry, ktoré menia veľkosť podľa potreby (napr. string, vector). Alokovanú pamäť odalokujte.
  • Predtým ako začnete programovať, si poriadne rozmyslite, aké dátové štruktúry (polia, matice, struct-y a pod.) chcete v programe použiť.

Druhý príklad

  • V druhom príklade dostanete kostru programu, pričom vašou úlohou bude doprogramovať niektoré funkcie.
  • V tomto príklade môžete mať v zadaní predpísaný spôsob, ako máte niektoré časti naprogramovať.
  • Budú sa vyžadovať aj zložitejšie časti učiva, ako napríklad zoznamy, stromy a rekurzia.


Ukážkové príklady

Niektoré ukážkové príklady na skúšku budú k dispozícii na testovači, môžete si ich v rámci tréningu vyriešiť a odovzdať. Pre realistickejší tréning si vždy prečítajte zadanie tesne predtým, ako príklad začnete riešiť, aby ste odhadli, koľko času vám príklad zaberie vrátane čítania zadania a rozmýšľania nad riešením.

Hodnotenie

Aby ste mali šancu úspešne ukončiť predmet, aspoň jeden z príkladov vám musí prejsť všetky testy na testovači

  • Túto podmienku nebudeme považovať za splnenú, ak váš program nerieši zadanú úlohu (t.j. jeho myšlienka nie je v zásade správna)
  • Podmienku však považujeme za splnenú, ak váš program prejde všetky vstupy, má v zásade správnu myšlienku, ale nedostane plný počet bodov napríklad kvôli chýbajúcemu uvoľneniu pamäte, statickým poliam, menšej chybe, ktorá sa neprejavila na daných vstupoch a pod.
  • Dobre si rozmyslite, s ktorým príkladom chcete začať a snažte sa ho dokončiť, kým nedostanete OK na testovači. Potom ho môžete ešte vylepšovať alebo sa snažiť vyriešiť aspoň časť príkladu, ktorý ste ešte neriešili.

Bodové hodnotenie

  • V prvom rade budeme hodnotiť správnosť myšlienky vášho programu. Predtým, ako začnete programovať, si dobre prečítajte zadanie a rozmyslite, ako budete úlohu riešiť.
  • Ďalej je veľmi dôležité, aby sa program dal skompilovať (v štandardnom prostredí) a aby správne fungoval na všetkých vstupoch spĺňajúcich podmienky v zadaní.
  • V druhej úlohe budeme jednotlivé funkcie hodnotiť zvlášť, takže môžete získať čiastočné body, ak ste niekoľko funkcií napísali správne.
  • Na hodnotenie môže mať menší vplyv aj úprava a štýl programu (komentáre, mená premenných, odsadzovanie, členenie dlhšieho programu na funkcie,...)
  • Na tejto skúške nezáleží na rýchlosti vášho programu. Radšej napíšte jednoduchý, prehľadný a hlavne správny pomalší program, než rýchlejší, ale zbytočne zložitý, či nesprávny.

Predĺženie času

  • Ak v riadnom čase 2 hodiny nemáte na testovači OK ani z jedného príkladu, zo skúšky by ste mali dostať Fx.
  • Dovolíme vám však predĺžiť čas skúšky o najviac 30 minút.
  • Ak zostanete na predĺženie, budeme vám rátať do výsledku body iba z jedného príkladu. Konkrétne z toho, za ktorý ste dostali OK na testovači (ak z oboch, tak z toho, za ktorý ste mali OK skôr)

=Ústna skúška

  • Po skúške vyučujúci skontrolujú vaše programy a potom sa konajú ústne skúšky cez MS Teams
  • Na ústnu skúšku môžu ísť iba študenti, ktorí úspešne absolvovali praktickú skúšku aj písomku a majú po ústnej skúške šancu získať známku.
  • Ak je praktická skúška doobeda, ústne skúšky budú cca 13:00-19:00. Na tento čas si teda neplánujte iné dôležité termíny. Ak máte v rámci tohto času nejaké vážne prekážky k absolvovaniu ústnej skúšky, upovedomte o tom vyučujúcich vopred pred skúškou.
  • Vyučujúci po skúške zverejnia približný rozpis časov ústnych skúšok. V čase uvedenom v rozpise by ste mali byť pripojení na MS Teams, budeme vás kontaktovať súkromným hovorom. Sledujte oznamy na MS Teams, kde zverejníme prípadné zmeny rozpisu, ktoré si vyžiada situácia.
  • Ak by nebolo možné všetkých študentov vyskúšať ústne v deň skúšky, s niektorými si dohodneme termín na iný deň.

Obsah ústnej skúšky

  • Prejdeme cez bodovanie vášho programu a prípadné komentáre
  • Budeme sa pýtať otázky k vašim odovzdaným programom zo skúšky. Otázky môžu byť napríklad:
    • Vysvetlite niektorú konkrétnu časť vášho kódu
    • Navrhnite, ako by ste kód zmenili alebo rozšírili, aby sa správanie programu zmenilo predpísaným spôsobom
    • Popíšte, čo by spôsobila určitá konkrétna zmena v programe
  • Okrem programov zo skúšky môžeme podobne diskutovať aj o programoch, ktoré ste odovzdali na cvičeniach 8 až 12.
  • Počas ústnej skúšky budeme pokiaľ možno zdieľať diskutovaný kód v okne viditeľnom všetkým zúčastneným stranám
  • Jedným z cieľov ústnej skúšky je preveriť, či dobre rozumiete učivu a programom, ktoré ste v rámci predmetu odovzdali a či je teda pravdepodobné, že sú vašou vlastnou prácou. Ak vaše odpovede nebudú uspokojivé, neudelíme vám z ústnej skúšky polovicu bodov a teda nemôžete predmet úspešne ukončiť.

Opravné termíny

  • Opakovanie praktickej aj ústnej skúšky sa riadi študijným poriadkom fakulty. Máte nárok na dva opravné termíny (ale len v rámci termínov, ktoré sme určili).
  • Ak po skúške máte nárok na známku E alebo lepšiu, ale chceli by ste si známku ešte opraviť, musíte sa dohodnúť so skúšajúcimi.
  • Ak sa zo závažných dôvodov (napr. zdravotných, alebo konflikt s inou skúškou) nemôžete zúčastniť termínu skúšky alebo písomky, dajte o tom vyučujúcim vedieť čím skôr.