d
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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <50%
 
* E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  50% - 60%
 
* D&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 60% - 70%
 
* C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 70% - 80%
 
* B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80% - 90%
 
* A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; >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__

Verzia zo dňa a času 04:58, 13. september 2023

Princípy počítačov – systémové programovanie 1-AIN-186/22

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.


Kontakt

Pavel Petrovič, pavel.petrovic@uniba.sk


Skupiny

Študenti sú rozdelení do dvoch skupín (pozri systém <a href="https://list.fmph.uniba.sk/">LIST</a>):

Štvrtok 13:10 - 15:25, H6, 2AIN1 a prvá polovica 2AIN2
Štvrtok 15:40 - 17:55, H6, 2AIN3 a druhá polovica 2AIN2

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

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.


Bodové ohodnotenie jednotlivých častí

  • teoretické kvízy: 50% známky (z toho minimálne: 70%)
  • praktické úlohy: 50% známky (z toho minimálne: 70%)


Denník

  • 21. sep: úvodné informácie a cvičenie


Materiály