Ezt a posztot a szorgalmi időszak rövid számszerű össegzésével nyitjuk, majd részletes támogatást nyújtunk a szóbeli és az írásbeli vizsgákhoz.
A szorgalmi időszak számokban
Az 55 labort felvett hallgatóból 22 kapott aláírást (40 %), az alábbi részletek szerint:
labor 1:
aláírva / katalógus hiányzás miatt nem / összes
8 / 9 / 18
aláírva/összes
GI 0 / 0
MI 3 / 10
PTI 5 / 8
labor 2:
aláírva / katalógus hiányzás miatt nem / összes
7 / 5 / 18
aláírva/összes
GI 3 / 7
MI 2 / 5
PTI 2 / 6
labor 3:
aláírva / katalógus hiányzás miatt nem / összes
7 / 8 / 19
aláírva/összes
GI 0/3
MI 3/7
PTI 4/9
(a 62 összes kurzust felvevő hallgatóból, de ebből 8 fiktív, azaz összességében 30 hallgató jöhet vizsgázni, ez 48.3 %)
Szóbeli vizsga
A régebbi hagyományoknak (és a frissebb) megfelelően itt a tételsort értelmezzük, finomítjuk. Néhány általános megjegyzés a szóbeli vizsgára:
- az előadások végén kötelezőnek jelzett olvasmányok, ahogy a név is mutatja: kötelezőek, a jelen félévben ezek a "hallgatói" laborkártyák voltak tipikusan, tahát amikor el kellett olvasni (és/vagy kérdezni belőle és/vagy az iménti (binomod) kérdésére próbálni válaszolni) a C (K&R) és a C++ (Benedek&Levendovszky) tankönyvekből a kijelölt részeket
- papíron nem programozunk általában és a vizsgán sem, ezért javaslot, hogy géppel vegyél részt a vizsgán
- a vizsgán való sikeres szereplés szükséges (de nem elégséges) feltétele a tételek "jól kell tudni" részének tudása
-
Az írásbeli és szóbeli vizsgán is bármi (jegyzet, könyv, gép) használható, sőt: erősen javallott! S egyben ezért felesleges magolni vagy puskát írni! Ez nem történelem vizsga, ennek megfelelően tipikusan mindig valamilyen forráskódra támaszkodást várok és nem szavalatot vagy mit gondolt Arany Madáchról típusú gondolatmenetet... kóbor memóriafoszlányt vagy hexameterben a Huszt-ot :)
A tételsor alapját szokásosan az előadások kezdő "Minimális gyakorlati cél" és "Minimális elméleti cél" fóliái alapján állítjuk össze. Viszont ebben a félévben az utolsó témát, a Java platform bevezetéséről szólót nem tárgyaltuk.
I.
1) A hallgató tudjon értelmezni egy állapotátmenet diagramjával megadott Turing gépet (elmondani, hogy „a gép ebben az állapotban van, ezt olvassa, akkor átmegy ebbe, ezt írja és ide lép”)
2) Adott egyszerû grammatika esetén ismerje fel, mi a generált nyelv
3) Szintaktikai elemzés fogalmát meg tudja világítani
4) BNF-bentudjon definiálni egyszerû fogalmakat, például mi egy „egész szám”
5) C nyelv kapcsán: típusok, vezérlési szerkezetek, mutatók, deklarációk, kifejezések, függvények, paraméterátadás
- I/1,2,4 -re ha a hallgató hoz magával egy (vagy esetleg több) példát, az a legszerencsésebb, ha azokat magyarázza el és nem itt kap egy meglepetést.
- I/4-nél érdemes pár mondatot mesélni, nagyon távolról a "fordítóprogram" feladata témában (ha az előadáson nem jegyzeteltél, akkor pl. olvasd el hozzá a "Pici jegyzet" 12. oldala környékét.)
- I/5-öt jól kell tudni (string_masolo_man_pl_alapjan-os laborkártyát és a kapcsolódó karakterhegyezés fóliák példáit jól kell érteni, illetve a deklarációs laborkártyát)
II.
1) Tudjon mesélni olyan problémákról, amit nem lehet (a klasszikus értelemben vett számítógépes) programmal megoldani. Például megállási probléma (lásd az elsõ elõadást), Kolmogorov bonyolultság, esetleg a Radó Tibor féle szorgos hód probléma.
2) A Kolmogorovbonyolultság fogalmának felhasználásával meg tudja mutatni, hogy (a klasszikus értelemben vett számítógépes) programmal nem lehet véletlen számsorozatot generálni.
3) Hatáskör, élettartam fogalma, lyuk a hatáskörben jelensége.
4) C nyelv kapcsán: belsõ, külsõ és statikus változók, extern deklaráció, deklaráció és definíció különbözõsége.
5) C nyelv kapcsán: mutatók, mutatókés tömbök, mutatók és több
dimenziós tömbök, mutatóaritmetika.
- II/1: megállási problem egy fólia Móricka rajza, azt érteni tökéletes.
- II/2: ugyancsak 1 fólia Móricka rajza, azt érteni tökéletes megintcsak.
- II/3-ra mutathatsz egy példát az előadás fóliáin
- II/4 az előző tételnél már megtanult deklarációs laborkártya kell ide is
- II/5-öt jól kell tudni: mutatók és (többdim) tömbök kapcsolatát lerajzolni az előadásban megszokott Móricka rajzokkal
III.
1) C nyelv kapcsán: struktúrák, önhivatkozó struktúrák.
2) Bináris fa (pre, in, posztorder) bejárása
3) Állománykezelés kapcsán bevezetve: a GNU/Linux PCB néhány tagjának bemutatása (pl. taskstruct/pid, /filesstb.)
4) Programkönyvtárak(statikus, megosztott), LD_LIBRARY_PATH, LD_PRELOAD
5) Rendszerhívások (néhány példával)
6) Splint kimenetének részleges ismerete (pl. a poloskak.c-re engedve)
- III/1-et jól kell tudni: példaként a védett program (C ősét) is használhatod
- III/2 mese és rajzolgatás
- III/3-ból csak a fájlkezelés kell, az előadásban van alacsony/magas, karakteres/szöveges (gyök kettes példák), de ha a védésedben binárisan alacsonyan (open/read) kezelted a bemenetet, karakteresen a kimenetet, akkor az is tökéletes ide. Linux PCB és a következő
- III/4,5,6-ból csak az csemegézzen, aki (nagyon) jó jegyet akar
IV.
1) IPC, nevezetes problémák „elmesélése”
2) Legalább az egyik nevezetes IPC probléma megoldása (ez a fóliákon is látható „szemi-formális” (vagy C) nyelven bemutatott megoldás részletes interpretálását jelenti)
- IV/1 mese mese mátka
- IV/2-t jól kell tudni: az írók-olvasókat a legkönnyebb szerintem áttekinteni, ott már laborkártyán a tipikus kérdésemet is kilőttem :)
V.
1) OO alapelvek (egységbezárás, adatrejtés, öröklés)
2) Egyszerû osztályok (például a PolarGen) elkészítése
3) Dinamikus tárkezelés: new, new[ ] alapvetõ használata
4) Az Aranycsapat felállása az évszázad mérkõzésén
- V/1 mese
- V/2 kapcsán jól kell tudni: a polártranszformációs példa osztály működése
- V/3 jól kell tudni: a tárkezeléses (free/delete) Móricka rajzos fóliákat érteni kell
- V/4 (Középkezdés című fólián)
VI.
1) C++ típusok, a referencia típus, paraméterátadás
2) Másoló konstruktor, másoló értékadás
3) Függvény, operátor túlterhelés
- VI/1 kapcsán jól kell tudni: a referencia típust
- VI/2,3-t számtalan példában használtuk (Verem, saját Int, 1. védés progija) ezekben jól kell tudni
VII.
1) Öröklõdés, a Liskov-félehelyettesítési elv
2) Virtuális függvények, polimorfizmus
3) C és C++ összehasonlítása
4) Dinamikus tárkezelés áttekintáse: a malloc()-tól
a new-ig(a több dimenziós példákon át is), példát
mutatva a memória szivárgásra
- VII/4-et jól kell tudni: a tárkezeléses (free/delete) Móricka rajzos fóliák kellenek
VIII.
1) OPC, LSP
2) Korai, késõi kötés
3) Sablonok
- VIII/3 kapcsán jól kell tudni: a sablonosztályos bináris fánkat.
- VIII/2 kapcsán az előző tételhez is kapcsolódva mese a virtual kulcsszóról, szerencsés az előadás kapcsolódó fóliája példájának értése
- VIII/1 -ből csak az csemegézzen, jobb (>=3) jegyet akar
IX.
1) Vektor (dinamikus tömb, vector)
2) Lista (kétszeresen láncolt, list)
3) Halmaz, set
4) Asszociatív tömb, map
5) Bithalmaz
- IX/1-et jól kell tudni: ismerni az osztály használatát, metódusait, példát a használatra stb. (az előző év tapasztalata alapján: nem saját kell, hanem az STL-beli.)
- IX/5-re is szerencsés egy példa ismerete
- IX/2,3,4 -ből csak az csemegézzen, jobb (>=3) jegyet akar
További szabályok
- 54 pont felett (nagyobb egyenlő), +3 jegy az írásbelihez, ha az elégtelentől jobb, a szóbelin is +3 (ha az elégtelentől jobb) és a hallgató az általa választott három tételből húz.
- 18 pont felett (nagyobb egyenlő), +2 jegy az írásbelihez, ha az elégtelentől jobb, a szóbelin is +2 (ha az elégtelentől jobb) és a hallgató az általa választott öt tételből húz.
- 6 pont felett (nagyobb egyenlő), +1 jegy az írásbelihez, ha az elégtelentől jobb, a szóbelin is +1 (ha az elégtelentől jobb) és a hallgató az általa választott hét tételből húz (tehát az összesen 9-ből kettőt biztosan elkerülhet).
(a trófeák természetesen csak akkor érvényesek, ha a hallgató a jelen félévben szerezte őket, azaz nem egy vagy több évvel korábban).
Írásbeli vizsga
Állítom össze az írásbeli tesztet. A feladatok gép nélkül is megválaszolhatóak, de vitathatatlan, hogy a géppel történő munka sokat segíthet. Ha lesz Nálad gép, az alábbiakat érdemes megfontolni az előkészítésében:
- jó, ha rajta vannak a
Az írásbeli teszt
Tavalyi (1, 2, 3) példák, bár most kicsit kreatívabbak is lehetünk, mert immár RC is volt!
Érzelmi bemelegítésül, két kép, hogyan festett az írásbeli tavaly:
"Ugyancsak "tartva a hagyományokat" valódi informatika vizsga volt:"
írásbeli ponthatárok és eredmények
11 feladat, 1 pont egy feladat, összesen 11 pont. (Előadáslátogatási jogosítvány +.5 pont.)
százalék | pont (elm.) | pont (gyak.) | érdemjegy |
% 50 | 5.5 | 5.5 |
2 |
% 65 | 7.15 | 7.5 |
3 |
% 80 | 8.8 | 9 |
4 |
% 90 | 9.9 | 10 | 5 |
- 2 elégtelen
- 0 elégséges
- 2 közepes (1 fő kettesről +1 jeggyel)
- 4 jó (3 fő hármasról +1 jeggyel)
- 6 jeles (2 fő hármasról, 3 fő négyesről + jegyekkel)
- 1 fő nem jelent meg
a 2. alkalommal 6 főből
- 3 elégtelen
- 1 közepes (+1 jeggyel)
- 2 jó