Programozási alapismeretek B. szeminárium
Nappali tagozat
2022/2023 II. félév
Alapadatok
-
A tantárgy kódja: ITNA2502sz
-
Kreditérték: 1.
-
Heti óraszám: 1.
-
A tantárgy típusa és értékelés módja:
szeminárium, gyakorlati jegy.
-
Tantárgyfelelős:
Dr. Holló Csaba, egyetemi adjunktus,
Szoftverfejlesztés Tanszék.
A kurzus célja
-
A hallgató képes legyen alapszinten algoritmikus
gondolkodásra és feladatmegoldásra: feladatok
modellezésére, algoritmusok készítésére,
eszközök választására, és kódolásra.
-
A hallgató ismerje az elterjedt programozási
nyelvek alapvető működési mechanizmusait,
annak érdekében, hogy a jövőben képes legyen új,
különböző célokra hatékonyabban használható
programozási nyelvek könnyebb megértésére
és önálló megtanulására.
-
A hallgató haladó szinten ismerje minden idők
(egyik) legszélesebb körben használt
programozási nyelvét, a C-t, annak érdekében,
hogy ezzel - számos más programozási nyelvvel
ellentétben - gyakorlatilag is tanulmányozni tudja
a tanult működési mechanizmusokat, képes
legyen gyors programok írására, és a
C nyelvre épülő, illetve ahhoz
hasonló számos más programozási nyelv
(R, C#, C++, Java, JavaScript, PHP stb.)
könnyebb megértésére és megtanulására.
-
A hallgató képes legyen programozási
ismereteit más kurzusokban sikeresen
használni.
Tematika
-
Programok szervezése.
Függvények és eljárások. Blokkstruktúra.
Globális, lokális és statikus változók.
-
Mutatók. A -> művelet.
Paraméterátadás (érték és cím szerinti).
Tömbök, struktúrák átadása paraméterként.
-
Mutatók és dinamikus változók.
Mutatók és egydimenziós tömbök.
Dinamikus változók.
Felhasználó által definiált adattípus nevek.
Dinamikus adatszerkezetek, hatékonyság.
-
Rekurzió. A rekurzió működése.
-
További vezérlések (esetkiválasztásos, hurok,
diszkrét).
-
Előfeldolgozó. Paraméteres makrók.
-
További lehetőségek C-ben és más programozási nyelvekben.
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.
Tanulási eredmények
A kurzust maximális jeggyel teljesítő hallgató
az alábbi kompetenciákkal rendelkezik.
A kurzust elégséges jeggyel teljesítő hallgató
ezeknek 50%-át birtokolja.
- Tudás
-
Elmagyarázza a függvények működését,
a paraméterétadás lehetőségeit, tömbök
és struktúrák paraméterként történő
átadásának működését.
-
Elmagyarázza a konstansok, globális,
lokális és statikus változók célját,
használati eseteit és működését.
-
Elmagyarázza a rekurzió működését.
-
Érti a vezérlések működését.
-
Érti a dinamikus változók és alapvető
hatékony dinamikus adatszerkezetek
(dinamikus tömb, lánc, bináris keresőfa)
működését, ismeri azok megvalósításának
szintaxisát.
Érti, hogy ezek használatával bizonyos
feladatokat miért lehet sokkal hatékonyabban
megoldani. Elmagyarázza az alapvető
hatékony dinamikus adatszerkezeteket
tartalmazó programok működését.
-
Ismerteti az előfeldolgozó célját, és a
makrók működését.
- Képességek
-
Átlátható programot készít.
-
A feladatok megoldását átláthatóan és
hatékonyan függvényekbe szervezi.
-
A probléma megoldásának megfelelően
használja a konstansokat, továbbá a
globális, lokális és statikus változókat.
-
Tetszőleges rekurzív és nem rekurzív
képletet kiszámol.
-
A feladatmegoldás során szükség szerint
rekurziót használ.
-
Felismer bizonyos dinamikus adatszerkezetek
segítségével hatékonyabban megoldható
részfeladatokat.
-
* Dinamikus változók segítségével hatékony
adatszerkezeteket hoz létre és használ.
- Attitűd
-
Programozási tevékenységét pontosan végzi.
-
Fontosnak tartja, hogy az általa készített
program hibamentes legyen.
-
Törekszik a jobb átláthatóságot biztosító
vezérlési szerkezetek és függvények
használatára.
-
Igyekszik a feladatok megoldására a tanult
algoritmusok használatával minél
hatékonyabb megvalósítást adni.
-
Programírás során igyekszik a program
átláthatóságát, hatékonyságát és
memóriafoglalását figyelembe vevő
legjobb megoldást megtalálni.
- Autonómia-felelősség
-
Önállóan dönt arról, hogy adott helyzetben
hogyan tudja minél inkább átláthatóbbá
tenni a programját.
-
A képesség részben leírt tevékenységeket
önállóan végzi.
-
Önállóan kijavítja a program esetleges hibáit.
-
Az adatok memóriabeli eltárolására önállóan
megfelelő adatszerkezeteket hoz létre.
-
Önállóan megtervezi és megvalósítja a
megoldáshoz használandó megfelelő
függvényeket.
-
Önállóan helyes döntéseket hoz a
konstansok, globális, lokális és statikus
változók használatára vonatkozóan.
A kurzus felvételének feltétele
-
Az
IBN8501 Programozási alapismeretek A. kurzus
előzetes teljesítése és
-
az
IBN8502E Programozási alapismeretek B.
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 szemináriumokon folyamatos számonkérés történik,
azok látogatása kötelező.
Hiányozni annyit lehet, ami még pontszám
tekintetében lehetővé teszi a kurzus teljesítését.
Igazolás nem szükséges, pótlás nem lehetséges.
-
A szemináriumokon elhangzottakat ismerteknek,
az esetleges megállapodásokat elfogadottaknak
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.
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
-
Korábbi teljesítmények beszámítása
-
Korábbi (előző félévekben kifejtett)
teljesítmény nem vehető figyelembe, ezért az
aktuális félév kötelezettségeinek
teljesítése alól nem mentesít.
-
A hallgatók felkészülnek
a Programozási alapismeretek A. és B. kurzusok
korábban tárgyalt tananyagából, elvégzik és
a megadott határidőre beadják az oktató által
kért házi felaatokat, továbbá ezek alapján aktívan
részt vesznek az egyes témák megbeszélésében,
melyek során az oktató értékeli a hallgató tevékenységét
és tudását, továbbá segít a tananyag megértésében.
-
A kifejtett tevékenységekre és a tananyag ismeretére
hetente tanóránként legfeljebb 9 pont kapható.
-
A pontszámításnak megfelelően esetleges 3 hiáyzás
mellett is jeles jegy kapható, ezért ezen lehetséges
hiányzásokba az esetleges rektori/dékáni szünetek is
beleszámítanak, és további pótlásra nincs lehetőség.
A kurzus teljesítésének feltételei
-
Az egyes alkalmakon szerzett értékelésekből
legalább 60 pont összegyűjtése.
-
Mivel a gyakorlatokon folyamatos számonkérés zajlik,
az elégtelen gyakorlati jegy utólagos javítására
nincs lehetőség.
Az osztályzat kialakításának módja
-
Az osztályzat kiszámítása az elért
összpontszámnak megfeleően:
-
60-69 pont: elégséges (2),
-
70-79 pont: közepes (3),
-
80-89 pont: jó (4),
-
90-117 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ó.
-
Felhívjuk a tisztelt hallgatók figyelmét a következőkre:
- Kizárólag az u-szeged.hu tartományból
küldött levelekre
garantáljuk a választ, és személyes
információkat (pl. pontszámot) csak a
hallgató
http://www.stud.u-szeged.hu/ címen található
egyetemi levelező rendszerbeli saját címéről küldött
levelére válaszolva, vagy CooSpace üzenetben
adunk ki.
- Levélre, üzenetre csak akkor válaszolunk,
hogyha az tartalmazza a hallgató nevét,
Neptun kódját, pontos szakját (azt is, hogy
nappalis vagy levelezős), és a tárgy pontos
nevét, amivel kapcsolatban megkeres.
Ezen információk hiányában a levél/üzenet
válasz nélkül törlésre kerül!