Programovanie (1) v C/C++
1-INF-127, ZS 2024/25
Archív: Rozdiel medzi revíziami
Riadok 183: | Riadok 183: | ||
=Zimný semester, pravidlá= | =Zimný semester, pravidlá= | ||
{{:Zimný semester, pravidlá}} | {{:Zimný semester, pravidlá}} | ||
− | |||
− | |||
− | |||
=Netbeans= | =Netbeans= | ||
Riadok 192: | Riadok 189: | ||
=Grafická knižnica SimpleDraw= | =Grafická knižnica SimpleDraw= | ||
{{:SimpleDraw}} | {{:SimpleDraw}} | ||
+ | |||
+ | =SimpleDraw vo Windows= | ||
+ | {{:SimpleDraw vo Windows}} | ||
+ | |||
+ | =Zimný semester, test a skúška= | ||
+ | {{:Zimný semester, test a skúška}} | ||
+ | |||
+ | =Zimný semester, vzorové riešenia ukážkových príkladov k testu= | ||
+ | {{:Zimný semester, vzorové riešenia ukážkových príkladov k testu}} | ||
+ | |||
+ | |||
+ | =Letný semester, úvodné informácie= | ||
+ | {{:Letný semester, úvodné informácie}} | ||
+ | |||
+ | =Letný semester, pravidlá= | ||
+ | {{:Letný semester, pravidlá}} | ||
+ | |||
+ | =Letný semester, test a skúška= | ||
+ | {{:Letný semester, test a skúška}} | ||
+ | |||
+ | =Letný semester, projekt= | ||
+ | {{:Letný semester, projekt}} | ||
+ | |||
=zoznam todo= | =zoznam todo= | ||
Riadok 212: | Riadok 232: | ||
P32prog P33prog P35-grafy | P32prog P33prog P35-grafy | ||
P36-grafy P36-grafy2 P37-grafy | P36-grafy P36-grafy2 P37-grafy | ||
− | P6-polynómy P6-triedenia | + | P6-polynómy P6-triedenia |
Pravidlá Prednáška 1 Prednáška 10 | Pravidlá Prednáška 1 Prednáška 10 | ||
Prednáška 11 Prednáška 12 Prednáška 13 | Prednáška 11 Prednáška 12 Prednáška 13 | ||
Riadok 226: | Riadok 246: | ||
Prednáška 4 Prednáška 5 Prednáška 6 | Prednáška 4 Prednáška 5 Prednáška 6 | ||
Prednáška 7 Prednáška 8 Prednáška 9 | Prednáška 7 Prednáška 8 Prednáška 9 | ||
− | + | SimpleDrawWindowsNavod | |
− | SimpleDrawWindowsNavod | ||
− |
Verzia zo dňa a času 08:32, 24. júl 2012
Obsah
- 1 Prehľad a obsah
- 2 Zimný semester, úvodné informácie
- 3 Zimný semester, pravidlá
- 4 Netbeans
- 5 Grafická knižnica SimpleDraw
- 6 SimpleDraw vo Windows
- 7 Zimný semester, test a skúška
- 8 Zimný semester, vzorové riešenia ukážkových príkladov k testu
- 9 Letný semester, úvodné informácie
- 10 Letný semester, pravidlá
- 11 Letný semester, test a skúška
- 12 Letný semester, projekt
- 13 zoznam todo
Prehľad a obsah
Programovanie (1) v C/C++, zimný semester 2011/12
- #Zimný semester, úvodné informácie
- #Zimný semester, pravidlá
- #Zimný semester, test a skúška
- #Netbeans
- #Grafická knižnica SimpleDraw
Týždeň 19.-25.9. |
Úvod, použitie grafickej knižnice, premenné, podmienky, cyklus for |
#Prednáška 1 · #Prednáška 2 · #Cvičenia 1 · #DÚ1 |
Týždeň 26.9.-2.10. |
Cykly (for, while), Euklidov algoritmus, funkcie |
#Prednáška 3 · #Prednáška 4 · #Cvičenia 2 · #DÚ2 |
Týždeň 3.-9.10. |
Polia, Eratostenovo sito, polynómy, triedenia |
#Prednáška 5 · #Prednáška 6 · #Cvičenia 3 · #DÚ3 |
Týždeň 10.-16.10. |
Binárne vyhľadávanie, zložitosť, znaky a reťazce |
#Prednáška 7 · #Prednáška 8 · #Cvičenia 4 · #DÚ4 |
Týždeň 17.-23.10. |
Súbory |
#Prednáška 9 · #Prednáška 10 · #Cvičenia 5 · #DÚ5 |
Týždeň 24.-30.10. |
Smerníky, dvojrozmerné polia |
#Prednáška 11 · #Prednáška 12 · #Cvičenia 6 · #DÚ6 |
Týždeň 31.10.-6.11. |
Slovník |
#Prednáška 13 |
Týždeň 7.-13.11. |
Rekurzia, backtracking |
#Prednáška 14 · #Prednáška 15 · #Cvičenia 7 · #DÚ7 |
Týždeň 14.-20.11. |
Rekurzívne triedenia, ešte backtracking, vyfarbovanie |
#Prednáška 16 · #Prednáška 17 · #Cvičenia 8 · #DÚ8 |
Týždeň 21.-27.11. |
Spájané zoznamy, zásobník a rad, odstraňovanie rekurzie |
#Prednáška 18 · #Prednáška 19 · #Cvičenia 9 · #DÚ9 |
Týždeň 28.11.-4.12. |
Vyfarbovanie bez rekurzie, aritmetické výrazy, stromy |
#Prednáška 20 · #Prednáška 21 · #Cvičenia 10 · #DÚ10 |
Týždeň 5.-11.12. |
Vyhľadávacie a lexikografické stromy |
#Prednáška 22 · #Prednáška 23 · #Cvičenia 11 · #DÚ11 |
Týždeň 12.-18.12. |
Zhrnutie, opakovanie, príprava na písomku, ďalšie črty jazykov C a C++ |
#Prednáška 24 · #Prednáška 25 · #Cvičenia 12 |
Programovanie (2) v Jave, letný semester 2011/12
Týždeň 13.-19.2. |
Úvod do Javy |
#Prednáška 26 · #Cvičenia 13 · #DÚ12 |
Týždeň 20.-26.2. |
Úvod do objektovo-orientovaného programovania, JavaDoc |
#Prednáška 27 · #Cvičenia 14 · #DÚ13 |
Týždeň 27.2.-4.3. |
Dedenie, polymorfizmus, modifikátory, interface |
#Prednáška 28 · #Cvičenia 15 |
Týždeň 5.-11.3. |
Výnimky, generické programovanie |
#Prednáška 29 · #Cvičenia 16 |
Týždeň 12.-18.3. |
Collections, testovanie |
#Prednáška 30 · #Cvičenia 17 · #DÚ14 |
Týždeň 19.-25.3. |
Opakovanie OOP, úvod k Swingu |
#Prednáška 31 · #Cvičenia 18 |
Týždeň 26.3.-1.4. |
Swing (layout, menu, dialog) |
#Prednáška 32 · #Cvičenia 19 · #DÚ15 |
Týždeň 2.-8.4. |
Swing (kreslenie) |
#Prednáška 33 · #Cvičenia 20 · #DÚ16 |
Týždeň 9.-15.4. |
OOP v C++, intervaly |
#Prednáška 34 |
Týždeň 16.-22.4. |
Reprezentácia grafov, prehľadávanie do hĺbky |
#Prednáška 35 · #Cvičenia 21 |
Týždeň 23.-29.4. |
#Cvičenia 22 |
Týždeň 30.4.-6.5. |
Prehľadávanie do šírky, najdlhšia cesta, ohodnotené grafy |
#Prednáška 36 · #Cvičenia 22 |
Týždeň 7.-13.5. |
Maximálna klika, orientované grafy, topologické triedenie, knižnica na skúšku |
#Prednáška 37 · #Cvičenia 23 |
Týždeň 14.-20.5. |
Zhrnutie, opakovanie, príprava na skúšku |
#Prednáška 38 · #Cvičenia 24 |
Zimný semester, úvodné informácie
Základné údaje
Rozvrh
- Prednášky: pondelok 9:50 F1 a streda 9:50 F1
- Hlavné cvičenia:
- utorok 9:50 I-H6 ALEBO
- utorok 14:50 I-H6
- rozdelenie do skupín bolo rozposlané emailom
- Doplnkové cvičenia: piatok 13:10 I-H3, I-H6 (stačí, ak prídete 13:25, ale nie neskôr)
Vyučujú
- doc. Mgr. Broňa Brejová, PhD.
- Ing. Dušan Bernát, PhD.
- RNDr. Jana Kostičová, PhD.
- Bc. Matej Novota
- Bc. Filip Koseček
Konzultácie po dohode e-mailom.
Ak nemáte otázku na konkrétnu osobu, odporúčame vyučujúcich kontaktovať pomocou spoločnej adresy e-mailovej adresy . Odpovie vám ten z nás, kto má na starosti príslušnú otázku alebo kto má práve čas.
Ciele predmetu
- Naučiť sa algoritmicky uvažovať, písať kratšie programy a hľadať v nich chyby, porozumieť existujúcemu kódu
- Oboznámiť sa so základnými programovými a dátovými štruktúrami jazyka C resp. C++, nie je však nutne so všetkými črtami týchto jazykov
- Cykly, podmienky, premenné a ich typy, funkcie a odovzdávanie parametrov, polia, smerníky, reťazce, súbory
- Oboznámiť sa s niektorými základnými algoritmami a dátovými štruktúrami
- Triedenia, spájané zoznamy, hašovacie tabuľky, stromy, aritmetické výrazy, rad a zásobník, rekurzia, prehľadávanie, vyfarbovanie
- Aj štruktúry, ktoré sú hotové v C++ knižniciach, si budeme programovať sami, aby sme videli, čo sa za nimi skrýva
Literatúra
- Predmet sa nebude striktne riadiť žiadnou učebnicou. Prehľad preberaných tém a stručné poznámky nájdete na stránke predmetu, odporúčame vám si na prednáškach a cvičeniach robiť vlastné poznámky.
- Pri štúdiu vám môžu pomôcť knihy o jazykoch C a C++, o programovaní všeobecne a o algoritmoch preberaných na prednáške. Tu je výber z vhodných titulov, ktoré sú k dispozícii na prezenčné štúdium vo fakultnej knižnici:
- Prokop: Algoritmy v jazyku C a C++ praktický průvodce, Grada 2008, I-INF-P-26
- Sedgewick: Algorithms in C. Parts 1-4 I-INF-S-43/I-IV
- Kochan: Programming in C, 2005 D-INF-K-7a
- Referenčnú príručku k jazyku C++ nájdete napríklad na tejto webstránke: http://cplusplus.com/
- Môže vás zaujímať aj video prednášok z iných škôl v angličtine
Priebeh semestra
- Na prednáškach budeme preberať obsah predmetu. Prednášky budú štyri vyučovacie hodiny do týždňa.
- Hlavné cvičenia budú dve vyučovacie hodiny do týždňa v počítačovej učebni a ich cieľom je aktívne si precvičiť učivo. Hlavnou náplňou cvičenia je riešenie zadaných príkladov. Cvičiaci vám podľa potreby pomôžu a poradia.
- Príklady z hlavných cvičení, ktoré nestihnete vyriešiť, môžete dokončiť doma alebo na cvičeniach v piatok.
- Okrem toho sa každý týždeň konajú doplnkové cvičenia (tiež dve vyučovacie hodiny). Sú povinné pre študentov, ktorí mali problémy na cvičeniach v utorok ale radi privítame aj ďalších. Na tomto cvičení s pomocou cvičiacich môžete dokončovať príklady z predchádzajúcich cvičení, pýtať sa otázky k učivu, prípadne pracovať na domácej úlohe.
- Domáce úlohy budú cca 3 cez semester. Pracujte na nich samostatne doma, prípadne na doplnkových cvičeniach. Nechajte si na ne dosť času, nezačnite tesne pred termínom.
- Príklady na cvičenia a domáce úlohy navrhujeme tak, aby vám ich riešenie pomohlo precvičiť si učivo, čím sa okrem iného pripravujete aj na záverečnú skúšku. Okrem tohto sú za tieto príklady body do záverečného hodnotenia. Najviac sa naučíte, ak sa vám príklad podarí samostatne vyriešiť, ale ak sa vám to napriek vášmu úsiliu nedarí, neváhajte sa spýtať o pomoc vyučujúcich. Možno s malou radou od nás sa Vám podarí úlohu spraviť.
- Cieľom vyučujúcich tohto predmetu je vás čo najviac naučiť, ale musíte aj vy byť aktívni partneri. Ak vám na prednáške alebo cvičení nie je niečo jasné, spýtajte sa. V prípade problémov odporúčame navštíviť doplnkové cvičenia, alebo si dohodnúť konzultáciu. Môžete nám klásť tiež otázky emailom. Ak sa dostanete do väčších problémov s plnením študijných povinností, poraďte sa s vyučujúcimi alebo s tútorom, ako tieto problémy riešiť.
Celkové odporúčania
Prichádzajúci študenti v prvom ročníku majú veľmi rôznu úroveň znalosti programovania, v závislosti od toho, koľko sa mu venovali na strednej škole. Preto pre niektorých môže byť tento predmet veľmi ľahký, pre iných veľmi ťažký. Môže sa to zdať nespravodlivé, ale pokročilí študenti už nad programovaním strávili dlhé hodiny a začiatočníci ich bez určitej námahy nedobehnú. Veľmi radi vám však pomôžeme prekonať nástrahy tohto predmetu. Tu sú naše odporúčania podľa toho, aké znalosti už máte na začiatku semestra. Učebnú látku možno zhruba rozdeliť na základné programovacie konštrukty jazyka C resp. C++ a základné algoritmy, ktoré sa budú počas semestra striedať.
Úroveň znalostí | Náročnosť látky: základy programovania v C | Náročnosť látky: algoritmy, rekurzia | Odporúčanie |
Programovať viem len málo alebo vôbec | ťažké | ťažké | Dôležité je začať usilovne pracovať už od začiatku semestra. Odporúčame chodiť aj na doplnkové cvičenia, ďalšie príklady riešiť doma. Neváhajte sa nás spýtať, ak vám niečo nie je jasné. |
Som skúsený programátor, ale neovládam C ani C++ | ľahké | ťažké | Aj keď prvé prednášky sa vám môžu zdať ľahké, sledujte učebnú látku, aby sa nestalo, že ste sa niektorými dôležitými vecami ešte nestretli. Nezabudnite riešiť príklady z cvičení a domáce úlohy. Hlavne ale nezaspite na vavrínoch: už po pár týždňoch začneme preberať algoritmy a rekurziu, čo môžu byť pre vás ťažšie témy. Treba preto zamakať aj na tomto predmete a v prípade, že vám učivo robí problémy, neváhajte prísť na doplnkové cvičenia. |
Som skúsený programátor a ovládam C alebo C++ | viem | ťažké | Podobne ako predchádzajúci riadok. Môžete si prípadne skúsiť napísať test pre pokročilých, môže sa vám podariť preskočiť zopár cvičení. |
Som skúsený programátor a ovládam aj rekurziu a základné algoritmy (napr. z programátorských súťaží alebo rozšírenej výučby programovania na strednej škole) | ľahké/viem | ľahké/viem | Aby ste sa nenudili riešením ľahkých príkladov, odporúčame test pre pokročilých. Aj tak však treba odovzdať domáce úlohy a absolvovať skúšku, prípadne aj semestrálny test. Priebežne sledujte učivo a v prípade nejasností sa pýtajte. |
Zimný semester, pravidlá
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 semestrálny test
- 30% známky je za praktickú 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.
Pravidlá pre mimoriadne situácie: Ak by sa semestrálny test aj skúška konali online, váha testu sa zníži na 20% a 10% známky bude za ústnu skúšku.
- Ústna skúška nie je potrebná, ak študent úspešne absolvuje v prezenčnej forme semestrálny test alebo praktickú skúšku (na úspešné absolvovanie testu treba aspoň 50% bodov, na úspešnú praktickú skúšku treba úspešne odovzdať aspoň jeden z dvoch príkladov).
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 vás týka ú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 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.
- Ak chcete získať body za rozcvičku, je potrebné byť počas príslušného cvičenia fyzicky na cvičení v počítačovej učebni.
- Počíta sa vám iba rozcvička určená pre vašu skupinu.
- Ďalšie príklady z cvičení môžete odovzdávať až do ďalšieho pondelka 22:00 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.
- Na doplnkovom cvičení bude výnimočne zadaná ešte jedna rozcvička za malý počet bonusových bodov (oznámime vopred).
- Vyučujúci každý týždeň určia odporúčaný počet bodov pre hlavné cvičenie. Ak sa vám počas hlavného cvičenia nepodarí vyriešiť príklady za tento počet bodov, je pre vás povinná účasť na doplnkovom cvičení v danom týždni. Ak sa príslušného doplnkového cvičenia s povinnou účasťou nezúčastníte, odpočítame vám 1 bod z bodov za cvičenia.
- Na niektorých prednáškach alebo cvičeniach budú krátke písomky, kde budete riešiť príklady na papieri. Body za tieto príklady sa tiež rátajú do bodov z cvičení.
- Počas doplnkových cvičení môžete príklady z cvičení riešiť aj vo dvojiciach. Príklad potom odovzdáva jeden člen dvojice a uvedie používateľské meno druhého autora/autorky. Body dostanú obaja.
- 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í.
- Táto možnosť platí len počas doplnkových cvičení ak ste v príslušnej učebni a len na príklady z cvičení. V ostatných časoch riešte príklady samostatne, samostatne robte aj domáce úlohy.
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.
Semestrálny test
- Semestrálny test bude v stredu 11.12. 18:10 v posluchárňach F1 a F2.
- Opravný test bude cez skúškové obdobie (v januári).
Praktická skúška
- Na skúške budete riešiť 2 úlohy pri počítači v celkovom trvaní 2 hodiny.
- Na skúške nebude k dispozícii 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.
- Bližšie informácie o skúške poskytneme koncom semestra.
Neprítomnosť a opravné termíny
- V prípade, že máte príznaky respiračného ochorenia (horúčka, kašeľ a pod.), nechoďte na fakultu, aby ste chorobu nešírili. Kontaktujte vyučujúcich, ktorí vám dajú pokyny.
- Úč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 sú pre vás doplnkové cvičenia v danom týždni povinné, neúčasťou stratíte 1 bod.
- Neprítomnosť na prednáškach a nepovinných doplnkových cvičeniach nemusíte ospravedlňovať.
- 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.
- Ak zo závažných dôvodov (napr. zdravotných) nemôžete prísť na cvičenia, 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é.
- Semestrálny 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.
- 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).
Odpisovanie
- Máte povolené sa so spolužiakmi a ďalšími osobami rozprávať o zadaných domácich ú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 resp. im ho diktovať. Pri diskusii o úlohe nemajte otvorené vaše programy a ani si nerobte detailné poznámky.
- Tiež je zakázané odpisovať 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.
- Pri riešení príkladov z cvičení a domácich úloh nepoužívajte ani nástroje umelej inteligencie (AI). Sú dobrým pomocníkom pre pokročilých programátorov, avšak teraz potrebujete zvládnuť základy programovania vy sami. Ak sú takéto nástroje súčasťou vášho editora, vypnite ich pri práci na našich zadaniach.
- Počas testov a skúšok môžete používať iba povolené pomôcky a nesmiete komunikovať so žiadnymi osobami okrem vyučujúcich.
- Po termíne odovzdania príslušnej úlohy je povolené a môže byť aj poučné porovnať váš program s programami, ktoré napísali spolužiaci alebo systémy AI.
- Odovzdané programy môžu byť kontrolované softvérom na detekciu plagiarizmu.
- Ak nájdeme prípady odpisovania, všetci zúčastnení študenti získajú za príslušnú domácu úlohu 0 bodov (aj študenti, ktorí dali spolužiakom odpísať).
- Za závažné porušenie pravidiel budeme považovať aj akýkoľvek pokus narušiť činnosť testovača riešení.
- Nájdené prípady odpisovania alebo porušovania pravidiel predmetu budú podstúpené aj na riešenie disciplinárnej komisii fakulty.
- Ak na predmete podvádzate a my na to neprídeme, stále ste podviedli hlavne sami seba, lebo ste nevyužili príležitosť trénovať dôležité zručnosti, ktoré vám budú neskôr chýbať.
Osobné stretnutia
- Vyučujúci vás môžu vyzvať emailom, aby ste prišli na stretnutie ohľadom príkladov, ktoré odovzdali (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.
Test pre pokročilých
- V prvom týždni semestra sa bude konať nepovinný test pre pokročilých, určený pre študentov, ktorí už ovládajú väčšiu časť učiva. Jeho úspešným absolvovaním si môžu ušetriť časť povinností na predmete.
- Za každých celých získaných 9% z testu získavate 100% bodov z jedných cvičení (bez bonusov). Na tieto uznané cvičenia nemusíte prísť ani príklady riešiť doma. Napr. ak ste získali aspoň 63% z testu, dostanete plný počet bodov z prvých 7 bodovaných cvičení po opravení testu. Tieto body nie je možné presúvať na iné termíny cvičení. Ak riešite úlohy z takéhoto uznaného cvičenia, započíta sa vám maximum z bodov, ktoré získate riešením a z bodov, ktoré sú vám uznané.
- Ak získate aspoň 50% z testu pre pokročilých, body z testu vám budú uznané aj ako body zo semestrálnej písomky. Ak však chcete, môžete písomku znovu písať so spolužiakmi.
- Testom pre pokročilých nie je možné nahradiť domáce úlohy ani skúšku.
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.
Netbeans
Grafická knižnica SimpleDraw
SimpleDraw vo Windows
Zimný semester, test a skúška
Zimný semester, vzorové riešenia ukážkových príkladov k testu
Zimný semester, vzorové riešenia ukážkových príkladov k testu
Letný semester, úvodné informácie
Letný semester, úvodné informácie
Letný semester, pravidlá
Na úspešné absolvovanie predmetu je potrebné:
- Prísť na predmet s úspešne absolvovanou prerekvizitou 1-INF-127, Programovanie (1) v C/C++ (možná výnimka pre študentov neinformatických odborov).
- Získať za semester a skúšku dohromady aspoň 50 bodov z plného počtu 100 bodov.
- Uspieť na skúške.
Body budú prideľované podľa nasledujúceho kľúča:
- Najviac 50 bodov za praktické testy na cvičeniach (šesť testov po 10 bodoch, do hodnotenia sa započíta päť najlepšie napísaných testov).
- Najviac 20 bodov za domáce úlohy (tri úlohy za 6 až 7 bodov).
- Najviac 30 bodov za skúšku.
- Vopred neurčený počet bodov za bonusové úlohy.
Všetky zadania na tomto predmete musia byť riešené individuálne.
Testy na cvičeniach
V šiestich týždňoch semestra bude počas cvičení prebiehať praktický test, za ktorý bude možné získať najviac 10 bodov.
- Test bude pozostávať z niekoľkých (typicky troch) programátorských úloh s odovzdávaním riešení na testovač.
- (Podobný princíp ako rozcvičky v zimnom semestri, avšak bude potrebné vyriešiť viac ako jednu úlohu a pomoc od vyučujúcich bude limitovaná na otázky konkrétneho charakteru.)
- Termíny testov: 12. marca, 26. marca, 16. apríla, 30. apríla, 7. mája a 14. mája.
- Na každom z testov sa môžu objaviť úlohy k ľubovoľnej v tom čase už prebranej látke (upresní sa neskôr).
- Na získanie bodov z testu je potrebná účasť na cvičeniach v danom týždni.
- Do celkového hodnotenia sa započíta päť najlepších výsledkov testov, nebudú však žiadne ďalšie náhradné či opravné testy.
V prípade odôvodnenej a ospravedlnenej neúčasti na viac ako jednom teste bude mechanizmus náhrady stanovený individuálne.
Domáce úlohy
Počas semestra budú zverejnené tri bežné domáce úlohy.
- Riešenia sa budú odovzdávať na testovač.
- Prvá domáca úloha bude zverejnená v pondelok 11. marca.
Okrem toho bude počas semestra zverejnených niekoľko bonusových úloh, za ktoré bude možné získať zopár bodov navyše.
Skúška
Skúška bude pozostávať z:
- Písomnej časti spočívajúcej v riešení jednoduchých teoretických úloh (najviac 10 bodov).
- Praktickej časti spočívajúcej v riešení programátorskej úlohy s odovzdávaním na testovač (najviac 20 bodov).
- Ústnej časti spočívajúcej v diskusii o predchádzajúcich častiach skúšky a o teórii z prednášok (za ústnu časť skúšky sa body neprideľujú).
Na úspešné absolvovanie skúšky je potrebné:
- Získať dohromady aspoň 15 bodov z písomnej a praktickej časti.
- Uspieť na ústnej časti skúšky.
Prípadné opakovanie skúšok sa riadi študijným poriadkom (v takom prípade je potrebné opakovať všetky časti skúšky).
Výsledná známka z predmetu
Po úspešnom absolvovaní skúšky sa výsledná známka z predmetu za daný skúškový termín stanoví, na základe celkového počtu bodov získaných za semester a skúšku, podľa nasledujúceho kľúča:
90 bodov a viac | A | ||
aspoň 80 a menej ako 90 bodov | B | ||
aspoň 70 a menej ako 80 bodov | C | ||
aspoň 60 a menej ako 70 bodov | D | ||
aspoň 50 a menej ako 60 bodov | E | ||
menej ako 50 bodov | FX |
Táto známka môže byť na základe ústnej časti skúšky pozmenená o jeden stupeň. V prípade neúspechu na skúške získava študent v rámci daného skúškového termínu hodnotenie FX.
Letný semester, test a skúška
Letný semester, projekt
zoznam todo
C4-Shakersort Cvičenia 1 Cvičenia 10 Cvičenia 11 Cvičenia 12 Cvičenia 13 Cvičenia 14 Cvičenia 15 Cvičenia 16 Cvičenia 17 Cvičenia 18 Cvičenia 19 Cvičenia 2 Cvičenia 20 Cvičenia 21 Cvičenia 22 Cvičenia 23 Cvičenia 24 Cvičenia 3 Cvičenia 4 Cvičenia 5 Cvičenia 6 Cvičenia 7 Cvičenia 8 Cvičenia 9 DÚ1 DÚ10 DÚ11 DÚ12 DÚ13 DÚ14 DÚ15 DÚ16 DÚ17 DÚ2 DÚ3 DÚ4 DÚ5 DÚ6 DÚ7 DÚ8 DÚ9 P12-life P12-mapa P17-ostrovy P17-vyfarbi P32prog P33prog P35-grafy P36-grafy P36-grafy2 P37-grafy P6-polynómy P6-triedenia Pravidlá Prednáška 1 Prednáška 10 Prednáška 11 Prednáška 12 Prednáška 13 Prednáška 14 Prednáška 15 Prednáška 16 Prednáška 17 Prednáška 18 Prednáška 19 Prednáška 2 Prednáška 20 Prednáška 21 Prednáška 22 Prednáška 23 Prednáška 24 Prednáška 25 Prednáška 26 Prednáška 27 Prednáška 28 Prednáška 29 Prednáška 3 Prednáška 30 Prednáška 31 Prednáška 32 Prednáška 33 Prednáška 34 Prednáška 35 Prednáška 36 Prednáška 37 Prednáška 38 Prednáška 4 Prednáška 5 Prednáška 6 Prednáška 7 Prednáška 8 Prednáška 9 SimpleDrawWindowsNavod