Programovanie (1) v C/C++
1-INF-127, ZS 2017/18

Úvod · Pravidlá · Prednášky · Odovzdávanie
Stránku pre školský rok 2017/18 pripravujeme. Materiály z minulého roku nájdete v archíve.
· 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).
· Prosíme študentov, aby si pravidelne čítali e-maily na @uniba.sk adrese alebo aby si tieto emaily presmerovali na adresu, ktorú pravidelne čítajú, viď návod tu: [1]


Zimný semester, pravidlá

Z Programovanie
Prejsť na: navigácia, hľadanie

Známkovanie

  • 25% známky je na základe príkladov z cvičení
  • 15% známky je za domáce úlohy
  • 30% známky je za písomky počas semestra
  • 30% známky je za praktickú skúšku pri počítači

Pozor, body získavané za jednotlivé príklady nezodpovedajú priamo percentám záverečnej známky. Body za každú formu známkovania sa preváhujú tak, aby maximálny získateľný počet zodpovedal váham uvedených vyššie. Úlohy označené ako bonusové sa nerátajú do maximálneho počtu získateľných bodov v danej aktivite.

Stupnica

  • Na úspešné absolvovanie predmetu je potrebné splniť nasledovné tri podmienky:
    • Získať aspoň 50% bodov v celkovom hodnotení
    • Získať aspoň 50% z celkového súčtu písomiek
    • Na skúške úspešne odovzdať aspoň jeden z dvoch príkladov
  • Ak niektorú z týchto troch podmienok nesplníte, dostávate známku Fx.
  • V prípade úspešného absolvovania predmetu získate známku podľa bodov v celkovom hodnotení takto:
A: 90% a viac, B:80...89%, C: 70...79%, D: 60...69%, E: 50...59%

Príklady z cvičení

  • Na hlavnom cvičení bude zverejnených niekoľko príkadov. Príklady odovzdávate do automatického testovača. Ak úspešne prejdú všetkými testami, môžete za ne dostať body (podmienkou však je dodržať aj ďalšie pokyny v zadaní úlohy).
  • Jeden príklad, označený ako rozcvička, bude mať termín odovzdania na konci hlavného cvičenia, neskôr teda zaňho body nedostanete.
  • Ďalšie príklady môžete odovzdávať až do začiatku ďalšieho cvičenia.
  • Avšak ak odovzdáte nejaký príklad po skončení hlavného cvičenia, musíte prísť svoje riešenie osobne predviesť na doplnkové cvičenia. Toto treba spraviť najneskôr na najbližších doplnkových cvičeniach po termíne odovzdania príkladu (väčšinou teda budú dvoje doplnkové cvičenia, počas ktorých môžete príklady z daného týždňa predviesť: jedny deň pred termínom a druhé 6 dní po termíne). Ak riešenie príkladu nepredvediete, nezískate zaňho body. Počas tohto stretnutia budeme zvedaví, či odovzdanému riešeniu naozaj rozumiete.
  • Povinnosť predviesť domáce riešenia na doplnkovom cvičení môžeme počas semestra odpustiť študentom, ktorí nebudú mať s učebnou látkou problémy. Toto vám vhodnou formou oznámime.
  • Na doplnkovom cvičení môže byť zadaná ešte jedna rozcvička za malý počet bonusových bodov.
  • Príklady z cvičení môžete robiť aj vo dvojicich. Príklad potom odovzdáva jeden člen dvojice a uvedie svojho partnera. Body dostanú obaja, každý však potrebuje prísť predviesť riešenie individuálne.
    • V prípade problémov môžu vyučujúci prácu vo dvojicich regulovať.
    • Jeden príklad vždy riešte s najviac jedným spolužiakom/spolužiačkou.
    • Na riešení pracujte spolu, obaja mu musia do detailov rozumieť. Ideálne je byť v dvojici s niekým na podobnej úrovni programátorských skúseností.
  • Ak v niektorom týždni nezískate žiadne body z príkladov z cvičení, dostanete za tento týždeň -5 bodov. Nakoľko každé cvičenia predstavujú materiál z dvoch prednášok, nie je rozumné celý týždeň preskočiť.

Domáce úlohy

  • Domáce úlohy sa budú tiež odovzávať na testovači, budú však opravované ručne. Budeme kontrolovať správnosť celkovej myšlienky, správnosť implementácie ale body môžete stratiť aj za neprehľadný štýl.
  • Program, ktorý odovzdáte ako domácu úlohu by mal byť skompilovateľný a spustiteľný v prostredí používanom na cvičeniach.
  • Domáce úlohy robte samostatne, nie v dvojiciach.

Písomné testy

  • Počas semestra budú 4 písomné testy (na papieri) v rozsahu 45-90 minút.
  • Pri teste nemôžete používať žiadne pomocné materiály (písomné ani elektronické) okrem povoleného ťaháku v rozsahu jedného listu formátu A4 s ľubovoľným obsahom na oboch stranách.
  • Predbežné termíny (ešte potvrdíme):
    • 1. test streda 11.10. 18:10 (opravná v sobotu 4.11. na víkendovke)
    • 2. test pravdepodobne streda 8.11. 18:10 alebo piatok 11.11. poobede (opravná niekedy v priebehu novembra)
    • 3. test streda 29.11. 18:10 (opravná cez skúškové)
    • 4. test streda 20.12. 18:10 (opravná cez skúškové)

Skúška

  • Na skúške budete riešiť 2 úlohy pri počítači v celkovom trvaní 2 hodiny.
  • Na skúške nemôžete používať žiadne pomocné materiály okrem povoleného ťaháku v rozsahu jedného listu formátu A4 s ľubovoľným obsahom na oboch stranách. Nebude k dispozícii ani internet. Budete používať rovnaké programátorské prostredie ako na cvičeniach.
  • Na skúške budú úlohy automaticky testované podobne ako domáce úlohy. Aspoň jedna úloha musí správne prejsť cez všetky testy, inak má študent z daného termínu skúšky známku Fx.
  • Po skončení skúšky sa koná krátky ústny pohovor s vyučujúcimi, počas ktorého prediskutujeme programy, ktoré ste odovzdali a uzavrieme vašu známku.
  • Bližšie informácie o skúške poskytneme koncom semestra.

Neprítomnosť a opravné termíny

  • Domáce úlohy a príklady z cvičení je potrebné odovzdať do určeného termínu. Neskoršie odovzdané riešenia nebudú braté do úvahy ak nezískate výnimočné predĺženie termínu od vyučujúcich.
  • Účasť na hlavných cvičeniach veľmi silne odporúčame a v prípade neprítomnosti stratíte body z rozcvičky. Väčšiu časť bodov môžete získať aj riešením príkladov doma, ale potom ich treba predviesť na doplnkovom cvičení.
  • Ak zo závažných dôvodov (napr. zdravotných) nemôžete prísť na písomku, skúšku resp. načas odovzdať domácu úlohu či príklady z cvičení, kontaktujte vyučujúcich emailom. Treba tak spraviť čím skôr, nie až spätne cez skúškové. Môžeme požadovať potvrdenku od lekára.
  • Každý písomný test má jeden opravný termín.
    • Ak sa zúčastníte opravného termínu, strácate body z predchádzajúceho termínu, aj keby ste na opravnom získali menej bodov.
    • Opravné termíny testov môžu byť aj cez skúškové alebo v sobotu.
  • Opakovanie 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 pri počítači máte nárok na známu E alebo lepšiu, ale chceli by ste si známku ešte opraviť, musíte sa dohodnúť so skúšajúcimi pred zapísaním známky do indexu.
    • Ak po skúške pri počítači ešte opravujete písomku, je potrebné prísť uzavrieť a zapísať známku v termíne určenom vyučujúcimi.

Opisovanie

  • Máte povolené sa so spolužiakmi a ďalšími osobami rozprávať o domácich úlohách a stratégiách na ich riešenie. Kód, ktorý odovzdáte, musí však byť vaša samostatná práca. Je zakázané ukazovať svoj kód spolužiakom. Domáce úlohy môžu byť kontrolované softvérom na detekciu plagiarizmu.
  • Podobne pri riešení príkladov z cvičení pracujte buď samostatne alebo v dvojici.
  • Tiež je zakázané opisovať kód z literatúry alebo z internetu (s výnimkou webstránky predmetu). Pri práci môžete používať webstránky s popisom programovacieho jazyka, nesnažte sa však nájsť priamo riešenie zadaného príkladu.
  • Počas testov a skúšok môžete používať iba povolené pomôcky a nesmiete komunikovať so žiadnymi osobami okrem vyučujúcich.
  • Ak nájdeme prípady opisovania, všetci zúčastnení študenti získajú za príslušnú domácu úlohu 0 bodov (aj študenti, ktorí dali spolužiakom odpísať). Opakované alebo obzvlášť závažné prípady opisovania alebo porušovania pravidiel predmetu budú podstúpené na riešenie disciplinárnej komisii fakulty.
  • Za závažné porušenie pravidiel budeme považovať aj akýkoľvek pokus narušiť činnosť testovača riešení.

Možnosti pre pokročilých programátorov

  • Študenti, ktorí už ovládajú väčšiu časť učiva na tento semester, majú možnosť získať známku zmysluplnejším spôsobom, ako riešením ľahkých príkladov počas seemstra.

Test pre pokročilých

  • V druhom týždni semestra sa bude konať nepovinný test pre pokročilých.
  • Ak na test prídete a napíšete ho na menej ako 50%, nezískate žiadne výhody (ako keby ste na test ani neprišli).
  • V opačnom prípade za každých celých získaných 10% získavate 100% bodov z jedných cvičení (bez bonusov). Napr. ak ste získali 59% z testu, dostanete plný počet bodov z prvých 5 bodovaných cvičení. Tieto body nie je možné presúvať na iné termíny cvičení a z týchto uznaných cvičení už nemôžete získať ďalšie body.
  • Navyše budete mať uznané aj niektoré semestrálne písomné testy nasledovne:
    • 50-75% z testu: prvé dva písomné testy za plný počet bodov, ostatné píšete so spolužiakmi
    • 75-90% z testu: prvé dva písomné testy za plný počet bodov, jeden z druhých dvoch za 90% bodov (určia vyučujúce), jeden test píšete so spolužiakmi
    • 90-100% z testu: zo všetkých 4 semestrálnych testov dostanete také percento bodov, ako ste dostali na teste pre pokročilých.

Domáce úlohy pre pokročilých

  • Pokročilí programátori môžu namiesto bežných domácich úloh získať body za úlohy vyriešené na predmete Rýchlostné programovanie (1)
  • Rýchlostné programovanie je určené na precvičenie programovania, algoritmov a hlavne ako príprava na programátorské súťaže. Úlohy na tomto predmete vyžadujú aj znalosti nepreberané na prednáškach z Programovania.
  • Tie isté úlohy môžete použiť aj do hodnotenia Programovania aj Rýchlostného.
  • Do hodnotenia Programovania (1) môžete započítať iba tie úlohy z Rýchlostného, ktoré vyriešite v jazyku C alebo C++ a počas semestra, t.j. najneskôr 22.12.
  • Aby ste mohli namiesto bežných úloh robiť pokročilé, potrebujete povolenie od vyučujúcich. Všetci, čo napíšu test pre pokročilých aspoň na 50%, toto povolenie automaticky majú. Ostatní kontaktujte vyučujúce emailom a popíšte svoje programátorské skúsenosti.
  • Ak chcete namiesto úloh použiť Rýchlostné (a máte povolenie), najneskôr 2.10. odovzdajte na našom testovači do špeciálnej úlohy Rýchlostné textový súbor, ktorý bude obsahovať vašu prezývku používanú na serveri Rýchlostného programovania.
  • Potom najneskôr 22.12. odovzdajte novú verziu tohto súboru, ktorá bude obsahovať vašu prezývku a zoznam všetkých príkladov z Rýchlostného, ktoré chcete započítať ako DÚ na Programovaní. Musia to byť len príklady vyriešené jazyku C alebo C++. Pri každom príklade napíšte, koľko za neho máte bodov na Rýchlostnom (1 alebo 2 body).
  • Body z Rýchlostného sa prepočítajú na body z DÚ nasledovne:
    • Rýchlostné aspoň 6 bodov: 50% bodov z DÚ, t.j. 7.5% do celkového hodnotenia predmetu
    • Rýchlostné aspoň 8 bodov: 100% bodov z DÚ, t.j. 15% do celkového hodnotenia predmetu
    • Rýchlostné aspoň 12 bodov: 110% bodov z DÚ, t.j. 16.5% do celkového hodnotenia predmetu
    • Rýchlostné aspoň 16 bodov: 120% bodov z DÚ, t.j. 18% do celkového hodnotenia predmetu
  • Body z bežných DÚ a z Rýchlostného programovania nie je možné sčítať. Ak do 22.12. neodovzdáte zoznam príkladov, započítame vám body z odovzdaných domácich úloh. Ak odovzdáte neprázdny zoznam príkladov, použijeme ten.

Nepreberané črty jazykov C a C++

  • Z jazykov C a C++ uvidíme len malú časť.
  • Preberané črty týchto jazykov je potrebné ovládať, pre vlastnú potrebu si však môžete v literatúre doštudovať aj ďalšie užitočné príkazy, knižnice a konštrukty.
  • Ak je v zadaní uvedené, aké prostriedky máte použiť, držte sa týchto pokynov.
  • V opačnom prípade môžete použiť aj nepreberané črty. Aby ste sa vyhli problémom pri opravovaní, je vhodné ich doplniť vysvetľujúcim komentárom.
  • Vždy používajte len štandardné súčasti jazykov C a C++ , nie špeciálne knižnice. (Výnimkou sú samozrejme knižnice poskytnuté vyučujúcimi).
  • Vaše programy by mali fungovať v prostredí používanom v učebni bez zvláštnych nastavení kompilátora a pod.