Programovanie (1) v C/C++
1-INF-127, ZS 2024/25
Zimný semester, pravidlá
Obsah
Známkovanie
- 25% známky je na základe príkladov z cvičení
- 15% známky je za domáce úlohy
- 20% známky je za písomku počas semestra
- 40% známky je za skúšku
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.
Pokiaľ kvôli epidemiologickým opatreniam nebude možné realizovať niektoré písomky alebo skúšku, môžu byť presunuté na iný termín, spojené alebo nahradené online aktivitami, ktoré môžu zahŕňať aj ústnu skúšku.
- Ak bude cez skúškové možné uskutočniť skúšku prezenčne, pôjde o praktickú skúšku pri počítači.
- Ak sa bude skúšať dištančne, pôjde o kombináciu praktickej skúšky a ústnej skúšky.
Stupnica
- Na úspešné absolvovanie predmetu je potrebné splniť všetky nasledovné podmienky:
- Získať aspoň 50% bodov v celkovom hodnotení
- Získať aspoň 50% z písomky
- Ak sa bude konať ústna skúška, získať aspoň 50% z ústnej skúšky
- Na praktickej 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íkladov. 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 počas 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 hlavného cvičenia.
- Na doplnkovom cvičení môže byť zadaná ešte jedna rozcvička za malý počet bonusových bodov.
- Ak chcete získať body za rozcvičku (hlavnú alebo bonusovú), je potrebné byť počas príslušného cvičenia buď fyzicky na cvičení v počítačovej učebni alebo pripojený online cez MS Teams
- Možnosť pripojiť sa na cvičenie cez MS Teams budeme poskytovať aj počas prezenčnej výučby, pokiaľ to umožnia naše kapacity
- Nerozcvičkové príklady môžete riešiť v ľubovoľnom čase a na ľubovoľnom mieste (do termínu odovzdania), odporúčame vám však využiť cvičenia, kde vám môžeme poradiť v prípade problémov
- 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ť.
- Namiesto prednášky v pondelok 5.10. budú špeciálne cvičenia, kde budete riešiť príklady na papieri. Body za tieto príklady sa tiež rátajú do bodov z cvičení.
Domáce úlohy
- Domáce úlohy sa budú tiež odovzdávať na testovači, budú však opravované ručne.
- Plný počet bodov môžu dosť iba programy, ktoré prejdú všetkými testami, čiastočné body však môžete dosť aj za nedokončený program.
- Budeme kontrolovať správnosť celkovej myšlienky, správnosť implementácie, ale body môžete stratiť aj za neprehľadný štýl.
Písomné testy
- Počas semestra budú 3 písomné testy (na papieri) v rozsahu 60 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.
- Termíny testov, všetky v posluchárni A:
- 1. test streda 14.10. 18:10 (opravná v týždni od 26.10.)
- 2. test streda 18.11. 18:10 (opravná cez skúškové)
- 3. test streda 9.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.
- 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é.
- 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é.
- 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).
Opisovanie
- Máte povolené sa so spolužiakmi a ďalšími osobami rozprávať o zadaných domacich úlohách a príkladoch z cvičení a o 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. Odovzdané programy môžu byť kontrolované softvérom na detekciu plagiarizmu.
- 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í.
Osobné stretnutia
- Vyučujúci vás môžu vyzvať emailom, aby ste prišli na stretnutie ohľadom príkladov, ktoré ste riešili a odovzdali mimo času cvičení (domáce úlohy, príklady z cvičení)
- Na tomto stretnutí im vysvetlíte, ako ste príklad riešili
- Stretnutia sa budú konať počas doplnkových cvičení alebo po dohode v inom čase
- Ak na stretnutie neprídete alebo nebudete vedieť svoj program vysvetliť, stratíte zaňho body
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 semestra.
Test pre pokročilých
- V prvom 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í po opravení testu. 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ý test za plný počet bodov, ostatné píšete so spolužiakmi
- 75-90% z testu: dva písomné testy za plný počet bodov (vyučujúci určia, ktoré dva), jeden test píšete so spolužiakmi
- 90-100% z testu: zo všetkých 3 semestrálnych testov dostanete plný počet bodov
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 18.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 9.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 18.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 18.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ť na testovači bez zvláštnych nastavení kompilátora a pod.