|
|
Riadok 1: |
Riadok 1: |
| {{CourseHeader | | {{CourseHeader |
− | | code = 1-AIN-186/20 | + | | code = 1-AIN-186/22 |
| | title = Princípy počítačov – systémové programovanie | | | title = Princípy počítačov – systémové programovanie |
| }} | | }} |
| | | |
− | === 2021/2022, jarný semester === | + | === 2023/2024, jesenný semester === |
| + | |
| + | Povinný predmet zo série "Princípy počítačov", odporúčaný v 2. ročníku bakalárskeho programu Aplikovaná informatika. V tomto predmete sa venujeme programovaniu na nízkej úrovni - v jazyku C a assemblerovom jazyku (jazyku symbolických inštrukcií) a v závere začneme so štúdiom operačných systémov, na čo nadväzuje ďalší kurz v letnom semestri. |
| | | |
− | Povinný predmet zo série "Princípy počítačov", odporúčaný v 1. ročníku bakalárskeho programu Aplikovaná informatika. V tomto predmete sa venujeme programovaniu na nízkej úrovni - v jazyku C a assemblerovom jazyku (jazyku symbolických inštrukcií) a stretneme sa aj s nízkoúrovňovým programovaním jednočipových mikropočítačov.
| |
| | | |
| == Kontakt == | | == Kontakt == |
| | | |
− | Pavel Petrovič, pavel.petrovic[[Image:zavinac.gif|@]]fmph.uniba.sk<br> | + | Pavel Petrovič, pavel.petrovic[[Image:zavinac.gif|@]]uniba.sk<br> |
| | | |
− | Stránky cvičení z C: [[Course:Tatrabot/sk|Tatrabot]]
| |
| | | |
− | == Stretnutia == | + | == Skupiny == |
| | | |
− | Pondelok 12:20 - 13:50 prednáška, poslucháreň A<br>
| + | Študenti sú rozdelení do dvoch skupín (pozri systém <a href="https://list.fmph.uniba.sk/">LIST</a>): |
− | Utorok 16:30 - 18:45 cvičenie skupiny 1AIN4 a 1AIN5, počítačová miestnosť H6<br>
| + | |
− | Streda 8:10 - 10:25 cvičenie skupina 1AIN1, počítačová miestnosť H3<br>
| + | Štvrtok 13:10 - 15:25, H6, 2AIN1 a prvá polovica 2AIN2<br> |
− | Streda 10:40 - 12:55 cvičenie skupina 1AIN2, počítačová miestnosť H3<br>
| + | Štvrtok 15:40 - 17:55, H6, 2AIN3 a druhá polovica 2AIN2<br> |
− | Piatok 8:10 - 10:25 cvičenie skupina 1AIN3, počítačová miestnosť F1-248<br>
| + | |
| + | skupinu si je možné zmeniť: keď si nájdete iného študenta, ktorý sa chce vymeniť opačným smerom, nahláste mi to mailom, alebo osobne. Inak iba vo výnimočných prípadoch. |
| <br> | | <br> |
− |
| |
− | Napíšte alebo zavolajte na 0915772685 ak nie ste v MS Teams skupine a chcete sa pridať, alebo ma z nejakého dôvodu nie je možné zohnať.
| |
| | | |
| | | |
| == Hodnotenie == | | == Hodnotenie == |
| | | |
− | Hodnotenie pozostáva z hodnotení cvičení a hodnotenia 2 písomiek, v ktorých študent preukazuje znalosť teórie preberanej na prednáškach i praktických zručností v assembleri získaných na cvičeniach. | + | Hodnotenie pozostáva z dvoch častí: teoretických kvízov, ktoré študenti riešia na začiatku každej hodiny (od 28.9.) a praktických cvičení, ktoré riešia zvyšok hodiny. Obe časti majú rovnakú váhu hodnotenia a je potrebné získať aspoň 70% z každej časti. Na konci hodiny študenti zaznačia svoju účasť. Počas semestra môže študent chýbať 3x bez toho, aby to musel riešiť s vyučujúcim. V ostatných prípadoch je potrebné doložiť dokumentáciu objektívneho dôvodu neprítomnosti (lekár, choroba, reprezentácia fakulty a pod). Študenti, ktorí niektorý kvíz nebudú písať z objektívnych dôvodov môžu napísať v skúškovom období podobný náhradný kvíz na tú istú tému. Študenti, ktorí počas semestra nezískajú dostatočný počet bodov, dostanú šancu na opravné hodnotenie v skúškovom období buď za teoretickú alebo praktickú časť (prípadne oboje), ale bude to pre nich náročnejšie, pretože otázky budú naraz z materiálu z celého semestra. Počas semestra sa pravdepodobne vyskytnú prémiové úlohy na získanie bodov navyše z oboch častí hodnotenia. |
− | * cvičenia sa hodnotia v troch nezávislých častiach:
| + | |
− | # úlohy z programovacieho jazyka C: cvičenia na hodine, domáce úlohy a prémiové úlohy, odovzdávajú sa do systému LIST
| + | |
− | # úlohy s jednočipovými mikropočítačmi: domáce riešenia a podpora na cvičeniach v škole, odovzdávajú sa na cvičeniach v škole alebo cez ms teams
| + | |
− | # úlohy v assembleri: rozcvičky na cvičeniach a prémiové úlohy
| + | |
− | * písomky: midterm, skúšková písomka
| + | |
| | | |
− | == Termíny skúšok (prihlasovanie cez AIS, zmena termínov vyhradená) ==
| |
− |
| |
− | * H3 20.5. - '''vrátane opravných midtermov - tie sa ale neprihlasujú na termín v AISe'''
| |
− | * H3 27.5.
| |
− | * H3 3.6.
| |
− | * H6 17.6.
| |
− | * H6 24.6. - ''ak sa prihlásite na tento termín ako na Váš prvý termín, negarantujem, že budete mať aj 2. opravný''
| |
− | * ''v prípade nutnosti ďalšieho opravného termínu pre niektorých študentov ešte jeden termín pribudne''
| |
− | * čas je vždy 9-12:30, vyhodnotenie sa môže o niečo natiahnuť do poobedia
| |
| | | |
| === Bodové ohodnotenie jednotlivých častí === | | === Bodové ohodnotenie jednotlivých častí === |
| | | |
− | * skúšková písomka (v skúškovom období): 30% známky | + | * teoretické kvízy: 50% známky (z toho minimálne: 70%) |
− | * midtermová písomka (druhá polovica apríla): 20% známky
| + | * praktické úlohy: 50% známky (z toho minimálne: 70%) |
− | * rozcvičky (v druhej polovici semestra): 20% známky
| + | |
− | * úlohy z programovacieho jazyka C: 15% | + | |
− | * úlohy s jednočipovými mikropočítačmi: 15%
| + | |
| | | |
− | Na skúškovej ani midtermovej písomke sa nebudú vyskytovať programátorské úlohy v jazyku C.
| |
− | Obe budú obsahovať úlohy z preberanej teórie aj úlohy o assemblerovom jazyku vrátane praktických úloh.
| |
| | | |
− | === Náhradné možnosti === | + | == Denník == |
| | | |
− | * ak sa študent nemôže zúčastniť midtermu, môže ho napísať na prvom skúškovom termíne | + | * 21. sep: úvodné informácie a cvičenie |
− | * ak študent nemá dosť bodov z programovacieho jazyka C, dostane možnosť pri počítači v škole vyriešiť ďalšie zadania, v ktorých môže získať ďalšie body
| + | |
− | * riešenia úloh s jednočipovými mikropočítačmi je možné odovzdávať do konca skúškového obdobia
| + | |
− | * na poradí získania bodov za jednotlivé kategórie nezáleží (študent môže robiť skúškovú písomku, aj keď ešte nemá splnené ostatné povinnosti)
| + | |
− | * ak študent nemôže písať rozcvičku vo svojej skupine, môže ju ten týždeň napísať v inej skupine
| + | |
− | * ak študent nemá na konci dosť bodov za rozcvičky a midterm, môže jedenkrát písať náhradnú midtermovú písomku
| + | |
| | | |
− | === Minimálne požiadavky na počet bodov získaných v jednotlivých kategóriách ===
| |
− |
| |
− | * skúšková písomka: aspoň 1/3 bodov
| |
− | * midtermová písomka a rozvičky spolu: aspoň 1/2 bodov
| |
− | * úlohy z jazyka C: aspoň 70% bodov
| |
− | * úlohy s jednočipovými mikropočítačmi: aspoň 70% bodov
| |
− | * ak sú splnené minimálne požiadavky, tak všetky body nad 100% v ľubovoľnej kategórií sa pripočítavajú
| |
− |
| |
− | === Výsledná známka ===
| |
− |
| |
− | * Fx <50%
| |
− | * E 50% - 60%
| |
− | * D 60% - 70%
| |
− | * C 70% - 80%
| |
− | * B 80% - 90%
| |
− | * A >90%
| |
− |
| |
− | === Príklady ===
| |
− |
| |
− | <i>Poznámka: všetky číselné hodnoty sú tu vymyslené a počet bodov aj spôsob hodnotenia v jednotlivých kategóriách sa môže lísiť (napr. namiesto piatich 4-bodových rozcvičiek môže byť šesť 5-bodových a podobne). Všetko ostatné - čiže spôsob započítavania bodov sedí.</i>
| |
− |
| |
− | * z programovacieho jazyka C budú vypísané úlohy za 140 základných bodov a 40 prémiových a študent spolu z nich získa 70 bodov => nemá dosť bodov, musí riešiť doplnkové úlohy z jazyka C, kde získa 20 bodov, ale 90 zo 140 nie je ani 70%, takže nezávisle od ostatných bodov získava známku Fx.
| |
− | * k jednočipovým mikropočítačom budú vypísané úlohy za 65 základných bodov a 15 prémiových a študent spolu z nich do konca skúškového získa 40 bodov, čo nie je ani 70% zo 65, takže nezávisle od ostatných bodov získava známku Fx.
| |
− | * z piatich 4-bodových rozcvičiek získa študent spolu 8 bodov (t.j. 8% za rozcvičky do celkovej známky) a z midtermovej písomky za 15 bodov získa 8 bodov (10.67% do celkovej známky), spolu má teda <s>16 bodov</s>, 18.67% z celkovej známky čo nie je ani 1/2 z celkových <s>35 bodov</s> 40% za túto kategóriu, musí písať opravnú midtermovú písomku, ktorú napíše na 9 bodov (12% do celkovej známky) takže už má <s>17 bodov</s> 20%, čo je presne polovica zo 40% za túto kategóriu, takže kritérium splnil. <s>čo je ale stále menej ako polovica z celkových 35 bodov, takže nezávisle od ostatných bodov získava známku Fx.</s>
| |
− | * za úlohy v jazyku C získa študent 14%, za jednočipový mikropočítač 14%, za rozcvičky a midterm spolu 35%, ale na skúškovej písomke, ktorá bola za 30 bodov získa len 9 bodov. Prihlási sa na opravný termín, kde získa 7 bodov. Prihlási sa na druhý opravný termín, kde získa 9.5 bodov. Nesplnil dostatočný počet bodov na skúšku a nezávisle od ostatných bodov získava známku Fx.
| |
− | * úspešná študentka získa známku C takto:
| |
− | # z programovacieho jazyka C budú vypísané úlohy za 140 základných bodov a 40 prémiových a študentka spolu z nich získa 120 bodov => 120/140 * 0.15 = 0.12857 => 12.86 % do známky
| |
− | # k jednočipovým mikropočítačom budú vypísané úlohy za 65 základných bodov a 15 prémiových a študentka spolu z nich do konca skúškového získa 58 bodov => 58/65 * 0.15 = 0.13384 => 13.38% do známky
| |
− | # z piatich 4-bodových rozcvičiek získa študentka spolu 14 bodov => 14/20 * 0.2 = 0.14 => 14% do známky (je to iba príklad, za rozcvičky môže byť napr. aj šesť 5-bodových, rolu hrajú len percentá z maxima)
| |
− | # z midtermovej písomky za 15 bodov získa 11 bodov => 11/15 * 0.2 => 0.14667 => 14.67% do známky
| |
− | # na skúškovej písomke, ktorá bola za 30 bodov získa 12 bodov => 21/30 * 0.3 => 0.21 => 21% do známky
| |
− | # spolu: 12.86 + 13.38 + 14 + 14.67 + 21 = 75,91 %
| |
− | * úspešný študent získa známku D takto:
| |
− | # z programovacieho jazyka C budú vypísané úlohy za 140 základných bodov a 40 prémiových a študent spolu z nich získa 170 bodov => 170/140 * 0.15 = 0.18214 => 18.21 % do známky
| |
− | # k jednočipovým mikropočítačom budú vypísané úlohy za 65 základných bodov a 15 prémiových a študent spolu z nich do konca skúškového získa 71 bodov => 71/65 * 0.15 = 0.16384 => 16.38% do známky
| |
− | # z piatich 4-bodových rozcvičiek získal študent spolu 10 bodov => 10/20 * 0.2 = 0.1 => 10% do známky
| |
− | # z midtermovej písomky za 15 bodov získa 7.5 bodov => 7.5/15 * 0.2 => 0.1 => 10% do známky
| |
− | # na skúškovej písomke, ktorá bola za 30 bodov získa 10 bodov => 10/30 * 0.3 => 0.1 => 10% do známky
| |
− | # keďže aj bez bodov nad rámec 100% v prvých dvoch kategóriách splnil podmienky na známku E, tak sa mu počítajú aj body navyše a spolu získal: 18.21 + 16.38 + 10 + 10 + 10 = 64,59 %
| |
− |
| |
− | == Denník ==
| |
− |
| |
− | * 14. feb: úvodné informácie, cvičenie: úvod do jazyka C
| |
− | * 28. feb: organizácia počítačových systémov
| |
− | * 7. mar: reprezentácia čísel v počítači
| |
− | * 14. mar: viac o typoch a bitových operáciách
| |
− | * 21. mar: úvod do assembleru procesorov Intel Pentium
| |
| | | |
| == Materiály == | | == Materiály == |
Riadok 119: |
Riadok 47: |
| * [https://hjlebbink.github.io/x86doc/ x86 Assembly Documentation] | | * [https://hjlebbink.github.io/x86doc/ x86 Assembly Documentation] |
| * [[Media:x87.pdf|x87]] <br>(čo je 8. kap. z celého manuálu [https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-1-manual.pdf Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 1: Basic Architecture]) | | * [[Media:x87.pdf|x87]] <br>(čo je 8. kap. z celého manuálu [https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-1-manual.pdf Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 1: Basic Architecture]) |
− | * [[Media:00.pdf|00.pdf]]
| |
− | * [[Media:02.pdf|02.pdf]]
| |
− | * [[Media:03a.pdf|03a.pdf]]
| |
− | * [[Media:04.pdf|04.pdf]]
| |
− | * [[Media:04a.pdf|04a.pdf]]
| |
− | * [[Media:04b.pdf|04b.pdf]]
| |
− | * riešenia rozcvičiek a cvičení: [https://dai.fmph.uniba.sk/courses/pphw/vsetky_cvicenia.zip vsetky_cvicenia.zip]
| |
− |
| |
− | == Odkazy: ==
| |
| | | |
− | * staršia stránka Dr. Tomcsányiho k predmetu: [http://edu.fmph.uniba.sk/~tomcsanyi/sys1.html na pôvodnej stránke Dr. Tomcsányiho]
| |
| | | |
| __notoc__ | | __notoc__ |
Povinný predmet zo série "Princípy počítačov", odporúčaný v 2. ročníku bakalárskeho programu Aplikovaná informatika. V tomto predmete sa venujeme programovaniu na nízkej úrovni - v jazyku C a assemblerovom jazyku (jazyku symbolických inštrukcií) a v závere začneme so štúdiom operačných systémov, na čo nadväzuje ďalší kurz v letnom semestri.
skupinu si je možné zmeniť: keď si nájdete iného študenta, ktorý sa chce vymeniť opačným smerom, nahláste mi to mailom, alebo osobne. Inak iba vo výnimočných prípadoch.
Hodnotenie pozostáva z dvoch častí: teoretických kvízov, ktoré študenti riešia na začiatku každej hodiny (od 28.9.) a praktických cvičení, ktoré riešia zvyšok hodiny. Obe časti majú rovnakú váhu hodnotenia a je potrebné získať aspoň 70% z každej časti. Na konci hodiny študenti zaznačia svoju účasť. Počas semestra môže študent chýbať 3x bez toho, aby to musel riešiť s vyučujúcim. V ostatných prípadoch je potrebné doložiť dokumentáciu objektívneho dôvodu neprítomnosti (lekár, choroba, reprezentácia fakulty a pod). Študenti, ktorí niektorý kvíz nebudú písať z objektívnych dôvodov môžu napísať v skúškovom období podobný náhradný kvíz na tú istú tému. Študenti, ktorí počas semestra nezískajú dostatočný počet bodov, dostanú šancu na opravné hodnotenie v skúškovom období buď za teoretickú alebo praktickú časť (prípadne oboje), ale bude to pre nich náročnejšie, pretože otázky budú naraz z materiálu z celého semestra. Počas semestra sa pravdepodobne vyskytnú prémiové úlohy na získanie bodov navyše z oboch častí hodnotenia.