Programozási alapismeretek gyakorlat
Nappali tagozat
2018/2019 I. félév
Alapadatok
-
A tantárgy kódja: IBN850L
-
Kreditérték: 2.
-
Heti óraszám: 2 .
-
A tantárgy típusa és értékelés módja: laboratóriumi gyakorlat, gyakorlati jegy.
-
Tantárgyfelelős:
Dr. Holló Csaba, egyetemi adjunktus,
Szoftverfejlesztés Tanszék.
-
Oktatók:
Tematika
-
A C programozási nyelv alapjai.
A DevCpp konfigurálás, fordítás,
hibakeresés.
A C nyelv alapvető típusai (int, float, double,
char), alapvető műveletei (+,-,*,/,%, i++).
Bevitel (scanf) és kivitel (printf).
Változó. Az előfordító, #include, #define.
-
Egy és több dimenziós tömbök,
sztringek és karaktertömbök használata.
-
Struktúrák és struktúra tömbök használata.
-
Alapvető fájlkezelés: fprintf, fscanf.
Programok közötti adatcsere fájlok
használatával.
-
Alapvető szelekciós és ismétléses vezérlések
(if-else, for, while, do-while), megvalósítás
C-ben.
-
Függvények és eljárások.
Paraméterátadás (érték és cím szerinti).
Mutatók.
Tömbök, struktúrák átadása paraméterként.
A -> művelet.
Blokkstruktúra.
Globális, lokális és statikus változók.
-
Alapvető probléma-megoldási módszerek:
sorozatszámítás (összeg, szorzat, logikai
műveletek, számlálás), keresés, eldöntés,
kiválasztás, válogatás, rendezés, rekurzió.
Rekurzív és iteratív képletek számolása.
Ajánlott irodalom
-
Juhász István, Kósa Márk, Pánovics János, Édelkraut Róbert:
C példatár
- Márton Gyöngyvér, Sapientia
Megoldott programozási feladatok standard C-ben
-
C programnyelv kezdő programozóknak
-
C programozás középiskolásoknak
-
C programming Solved Programs/Examples with Solutions
-
Learn C - Interactive C Tutorial
- Pohl László, BMGE
A programozás alapjai
-
Dr. Schuster György:
C programozási nyelv
- Burián Ágnes, BMF:
A C programozási nyelv
-
Kochan, Stephen G., Programfejlesztés C nyelven :
átfogó bevezetés a C programozási nyelvbe, Budapest,
Kiskapu Kft., 2008, 550 oldal, ISBN: 9639637450
-
Andrew Koenig, C csapdák és buktatók, Kiskapu Kft. 2005,
208 oldal, ISBN: 9789639301900
-
Herbert, Schildt, C/C++ Referenciakönyv, Panem, 1998.
A kurzus felvételének feltétele
-
Az
IBN850E Programozási alapismeretek előadás párhuzamos felvétele.
A foglalkozásokon való részvétel követelményei
és a távolmaradás pótlásának lehetősége
-
A gyakorlatok látogatása kötelező.
Hiányozni annyit lehet, ami még lehetővé teszi a
szükséges pontszámok elérését, azonban a foglalkozásokon
(előadás, gyakorlat) elhangzottakat ismerteknek tekintjük
és a hallgató semmilyen célból nem hivatkozhat
arra, hogy hiányzása következtében ezekről nem
szerzett tudomást. Igazolás nem szükséges,
pótlás nem lehetséges.
A félévközi ellenőrzések
(beszámolók, zárthelyik) száma,
témaköre és időpontja, pótlásuk
és javításuk lehetősége
-
A korábbi (előző félévekben kifejtett) gyakorlati teljesítmény
nem vehető figyelembe, ezért az aktuális félév gyakorlati
kötelezettségeinek teljesítése alól sem mentesít.
-
Zárthelyi dolgozatok: a szorgalmi időszak
5., 7., 10., és 12. heteinek gyakorlatain
a következő témakörökben és pontozással.
-
Minden zérthelyi dolgozatban:
-
Amennyiben a program nem pontosan
azt csinálja, amit a feladat kér, az eltérés
mértékétől függően a ZH-ban gyűjthető
pontszám a gyakorlatvezető megítélése
szerint tetszőlegesen csökkenthető akár
0 pontig.
-
Átlátható (jól tabulált, függvények)
program készítése:1 pont / ZH.
-
Hibajavítás, szintaktikailag hibátlan
program készítése: 3 pont / ZH.
-
Alapvető szelekciók és ciklusok
megfelelő használata (mikor melyiket
és hogyan kell használni):
if-else: 2 pont, for: 3 pont, while: 2 pont,
do-while: 2 pont, tehát
összessen 9 pont,
zárthelyi dolgozatonként legalább az egyik
részismeret ellenőrzése megtörténik.
-
1. ZH (5. hét):
-
Adatok felhasználótól történő bekérése,
illetve kiíratása: 2 pont
-
Egy és több dimenziós tömbök
használata: 4 pont
-
Sztringek beolvasása és eltárolása:
2 pont.
-
Műveletek sztringekkel: 1 pont.
-
Több sztring tárolása egy
többdimenziós tömbben:
2 pont.
-
Struktúrák használata: 3 pont
-
Adatok tárolása struktúra
tömbökben: 2 pont.
-
Megfelelő adatszerkezetek kialakítása
tömbökkel és struktúrákkal: 1 pont.
-
Fájlkezelés használata adatok
tárolására (kiírás + beolvasás): 5 pont
-
Függvénykönyvtárak használata: 1 pont.
-
Összeg. Szorzat. Logikai műveletek.
Számlálás. Átlag.: 3 pont
-
Lineáris keresés. Eldöntés.
Kiválasztás, maximum.: 4 pont
-
2. ZH (7. hét)
-
Függvények használata érték szerinti
paraméterátadással: 7 pont.
-
Tömb átadása függvény
paramétereként: 3 pont.
-
Struktúra átadása függvény
paramétereként: 3 pont.
-
Cím szerinti paraméterátadás
használata (nem tömb): 4 pont.
-
Globális, lokális és statikus változók
megfelelő használata: 3 pont.
-
3. ZH (10. hét)
-
Képletek számolása.: 7 pont
-
Rekurzió a képletek számolásában.: 3 pont
-
Szétválogatás. Kiválogatás.: 5 pont
-
4. ZH (12. hét)
-
Metszet. Unió.
Összefuttatás (rendezett sorozatok
uniója).: 7 pont
-
Rendezés: 3 pont.
-
Zárthelyi dolgozatokban nem számonkért,
de indokolt esetkben hsználható és
plusz pontot érő ismeretek:
-
Esetkiválasztásos szelekció
(switch-case) használata: 2 pont.
-
Dinamikus memóriafoglalás és
felszabadítás: 2 pont.
-
Hatékony (dinamikus) adatszerkezetek
(pl. láncok, fák) használata: 4 pont.
-
Rekurzió, mint feladatmegoldási
módszer: 3 pont.
-
További programozási ismeretek: az
ismeretektől függően legfeljebb 3 pont.
-
Az összpontszám kiszámításához
nem a zárthelyi dolgozatokban elért
pontok adódnak össze, hanem az egyes
ismeretekre szerzett pontok.
A fokozatosan egyre bonyolultabb
feladatok jellegéből következően
bizonyos ismeretek több ZH-ban is
előfordulhatnak, ebben az esetben az
ilyen ismeretre nem jár plusz pont,
de helyes használata növelheti az adott
ismeretre előzőleg szerzett
részpontszámot.
-
Az ZH-k a félév végi Javító/Pót ZH
keretében javíthatók, pótolhatók.
További javítás, pótlás nem lehetséges.
-
Javító/Pót ZH
-
Megírható a szorgalmi időszak 13. hetén.
-
Tartalmazni fog a fenti pontozás szerint
legalább 90 pontnak megfelelő kötelező
ismeretet.
-
Az egyes ismeretekre előzőleg kapott
pontszámokat nem csökkenti, mélyebb
ismeret bizonyítása esetén növeli.
-
Gyakorlati tevékenyég
-
A gyakorlaton való részvételre, és a
feladatok másolgatására önmagában
nem jár pont.
-
Hogyha a hallgató bizonyítja a
gyakorlatvezetőnek valamely fenti
ismeret megfelelő mélységű
elsajátítását (pl. jó kérdés, megjegyzés,
feladatmegoldás során egyedi ötlet stb.
által), akkor jár annak az ismeretnek a
ZH pontszáma (azaz, hogyha a ZH-ban
elrontja, ez a pontszám akkor is meglesz).
-
A gyakorlaton önállóan megoldandó
feladatok számától, nehézségétől és
a megoldások önállóságának
valószínűségétől függően a hallgató
gyakorlatonként legfeljebb 2 pontot
kaphat. Ebből arra, hogy a hallgató
önállóan igyekszik megoldani a
feladatokat (még ha az nem is sikerül)
0.5 pont jár, több pont az önálló
megoldások sikerességének függvénye.
-
A hallgató gyakorlatokon kifejtett
elvárhatón felüli igyekezetére és olyan
kivételesen jó meglátásaira, ötleteire
(melyek akár kérdésben is
megfogalmazódhatnak), melyekre az
ismeretek táblázatában nem adható pont,
a gyakorlatvezető gyakorlatonként
további 1-2 plusz pontot adhat.
-
Projekt munka
-
A projekt munka készítése opcionális,
ugyanakkor nagyon ajánlott, és
esetlegesen javíthatja az egyes
ismeretekre a ZH-kban szerzett
pontszámokat.
-
A projekt munka egy vagy több
C vagy JavaScript programból állhat,
mely(ek)nek témáját a hallgató találja ki,
annak figyelembe vételével, hogy
abban csak a ZH-ban is pontozható
ismeretek lesznek értékelve.
-
A projekt munka leadható
2018. november 30-án 23 óra 55 percig
a CooSpace-ben erre a célra létrehozott
Feladat eszközben. Mivel nincsenek
elvárások, ezért javítási lehetőség sincs.
-
A beadott projekt csak akkor érvényes,
hogyha azt a hallgató megvédi.
A védés a 14. heti gyakorlaton -
amennyiben ez nem megvalósítható,
akkor a gyakorlatvezetővel egyeztetett
időpontban - lesz.
A projekt védés azt a célt szolgálja,
hogy a gyakorlatvezető meggyőződjön
arról, hogy a hallgató a projektet ismeri,
így arra külön pont nem jár. A védés
során az oktató a projekt tartalmával és
az annak megvalósításához szükséges
ismeretekkel kapcsolatban kérdéseket
tehet fel, illetve a projekt olyan helyben
történő módosítását kérheti, melyhez
a projekt elkészítéséhez szükséges
ismeretek és készségek használatára
van szükség. Amennyiben a hallgató
ezekre a kérdésekre nem tud válaszolni,
vagy a kért módosításokat nem tudja
elvégezni, ez annak bizonyítékául
szolgál, hogy a projektet nem (teljes
egészében) a bemutatója írta, akkor a
védés sikertelen, csalásnak pótlása
nincs, a hallgató a projektre nem kap
pontot.
Tehát, bemutatót készíteni nem kell,
de készülni kell, mert az oktató olyan
kifogást nem fogadhat el, hogy valaki
a projekt megírása óta a projekt
tartalmát, vagy az ahhoz szükséges
ismereteket elfelejtette.
-
Mivel a védés során nem ellenőrizhető,
hogy a feladat megoldásának logikáját a
hallgató találta-e ki, illetve a gyakorlat
időkeretben az is csak részben
ellenőrizhető, hogy a projekt tartalmát a
hallgató szerzői minőségben ismeri,
ezért a projektben csak a Programozási
eszközök kategóriába tartozó ismeretek
lesznek pontozva, a fenti pontozásnál
sokkal kisebb pontszámokkal.
Amennyiben a védésen a
gyakorlatvezetőnek lehetősége lesz
valamely ismereteket az átlagosnál
mélyebben is kikérdezni (például azért,
mert a többi ismeret elsajátítását a
hallgató a ZH-kban már bizonyította),
akkor azokra az ismeretekre akár több,
legfeljebb az adott ismereteknél fentebb
meghatározott pontszámot is adhat.
A kurzus teljesítésének feltétele:
-
a fenti ZH-kban számonkért ismeretekből
a Programozási eszközök ismerete
témakörből legalább 34 pont elérése, ÉS
-
a fenti ZH-kban számonkért ismeretekből
az Alapvető probléma-megoldási módszerek
témakörből legalább 16 pont elérése.
-
Tehát a fenti ZH-kban számonkért
ismereteken kívüli gyakorlati
tevékenységekre kapott pontok nem
számítanak bele a minimum pontokba.
Az osztályzat kialakításának módja
-
Összegzésre kerülnek az egyes
részismeretekből szerzett pontrszámok és
a gyakorlati tevékenységből származó
plusz pontok.
-
Az osztályzat kiszámítása:
-
50-64 pont: elégséges (2),
-
65-79 pont: közepes (3),
-
80-89 pont: jó (4),
-
90-111 pont: jeles (5).
További tudnivalók
-
A számonkéréseken a hallgató köteles személyazonosságát
igazolni. Amennyiben a diákigazolványban található fénykép
alapján nem azonosítható egyértelműen, úgy köteles más
érvényes fényképes igazolvánnyal is azonosítani magát.
-
A számonkérések során semmilyen segédlet nem használható.