d
d
 
(14 intermediate revisions by the same user not shown)
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 [https://list.fmph.uniba.sk/ LIST]):  
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>
+
Streda 10:40 - 12:55 cvičenie skupina 1AIN2, počítačová miestnosť H3<br>
+
Piatok 8:10 - 10:25 cvičenie skupina 1AIN3, počítačová miestnosť F1-248<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ť.
+
Štvrtok 13:10 - 15:25, H6, 2AIN1 a prvá polovica 2AIN2<br>
 +
Štvrtok 15:40 - 17:55, H6, 2AIN3 a druhá polovica 2AIN2<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>
 +
Kvôli sťahovaniu počítačov dňa 21.9. nebude prezenčná výučba.
  
  
 
== 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á) ==
+
70 - 75.99: E<br>
 
+
76 - 81.99: D<br>
* H3 20.5. - '''vrátane opravných midtermov - tie sa ale neprihlasujú na termín v AISe'''
+
82 - 87.99: C<br>
* H3 27.5.  
+
88 - 93.99: B<br>
* H3 3.6.
+
94 - : A
* 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
+
* <s>21. sep: úvodné informácie a cvičenie</s>
* 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
+
* 28.sep: úvodný bonusový kvíz a praktická úloha<br>
* riešenia úloh s jednočipovými mikropočítačmi je možné odovzdávať do konca skúškového obdobia
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nahrávka o blokovom modeli počítača<br>
* 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)
+
* 05.okt: kvíz o blokovom modeli počítača a začíname s reprezentáciami čísel v počítači
* ak študent nemôže písať rozcvičku vo svojej skupine, môže ju ten týždeň napísať v inej skupine
+
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nahrávka o reprezentácii čísel v počítači<br>
* ak študent nemá na konci dosť bodov za rozcvičky a midterm, môže jedenkrát písať náhradnú midtermovú písomku
+
* 12.okt: kvíz o reprezentácii čísel v počítači
 +
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3x nahrávka o assembleri x86, cvičenia ASM x86<br>
 +
* 30.nov: kvíz o teórii k ASM x86
 +
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nahrávka o x87, cvičenia x87<br>
 +
* 14.dec: bonusový kvíz o x87
  
=== 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
 
 
=== 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 118: Riadok 63:
 
* [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: ==
+
=== Spätná väzba ===
  
* 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]
+
* je vítaná
 +
* kedykoľvek na MS Teams - osobne alebo v skupine
 +
* aj počas semestra môžete použiť aj tento formulár: [https://dai.fmph.uniba.sk/courses/tvorbaIS/feedback.html?predmet=asm feedback]
 +
* anketu vzhľadom na to, že je anonymná a zároveň verejná (buď jedno alebo druhé - naraz to nefunguje) a preto obshuje nepravdivé, manipulatívne ba až škodlivé príspevky odtrhnuté z reťaze a od reality, navyše v čase keď už pre Vás nič nemôže zmeniť, nečítam a odporúčam to isté aj Vám.
  
 
__notoc__
 
__notoc__

Aktuálna revízia z 22:10, 4. február 2024

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 LIST):

Š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.

Kvôli sťahovaniu počítačov dňa 21.9. nebude prezenčná výučba.


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.

70 - 75.99: E
76 - 81.99: D
82 - 87.99: C
88 - 93.99: B
94 - ∞: A

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
  • 28.sep: úvodný bonusový kvíz a praktická úloha

      nahrávka o blokovom modeli počítača

  • 05.okt: kvíz o blokovom modeli počítača a začíname s reprezentáciami čísel v počítači

      nahrávka o reprezentácii čísel v počítači

  • 12.okt: kvíz o reprezentácii čísel v počítači

      3x nahrávka o assembleri x86, cvičenia ASM x86

  • 30.nov: kvíz o teórii k ASM x86

      nahrávka o x87, cvičenia x87

  • 14.dec: bonusový kvíz o x87


Materiály

Spätná väzba

  • je vítaná
  • kedykoľvek na MS Teams - osobne alebo v skupine
  • aj počas semestra môžete použiť aj tento formulár: feedback
  • anketu vzhľadom na to, že je anonymná a zároveň verejná (buď jedno alebo druhé - naraz to nefunguje) a preto obshuje nepravdivé, manipulatívne ba až škodlivé príspevky odtrhnuté z reťaze a od reality, navyše v čase keď už pre Vás nič nemôže zmeniť, nečítam a odporúčam to isté aj Vám.