Programozási alapismeretek B. gyakorlat
Levelező tagozat
2022/2023 II. félév
Alapadatok
-
A tantárgy kódja: IBL8502G
-
Kreditérték: 1.
-
Féléves óraszám: 6.
-
A tantárgy típusa és értékelés módja:
gyakorlat, 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
IBL8501 Programozási alapismeretek A. kurzus
előzetes teljesítése és
-
az
IBL8502E 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 gyakorlatok online formában lesznek megtartva,
az egyes alkalmak előtt a CooSpace-ben
kihirdetett felületeken.
-
A projekt munka megvédése érdekében a
gyakorlatvezető által meghatározott védési
időpontban kötelezőképpen meg kell jelenni.
A védésről való igazolatlan hiányzás
esetén, az elért pontszámoktól függetlenül,
a projekt nem értékelhető.
A hiányzás akkor igazolt, ha azt a
gyakorlatvezető előzetesen engedélyezte,
vagy ha azt a folyamatos hiányzás(oka)t
követő 10 naptári napon belül a hallgató megfelelően
igazolja (pl. orvosi igazolással), mely esetben
további védési időont kerül kijelölésre.
További pótlás nem lehetséges.
-
A többi gyakorlaton való részvétel ugyan nem
kötelező, de fontos a tananyag megértéséhez,
az ott elhangzottak ismerete, illetve ahhoz
kapcsolódó tananyagok feldolgozása
szükséges a gyakorlatok sikeres teljesítéséhez.
Továbbá, ha a projekt nem értékelhető,
akkor gyakorlati részvétel hiányában a hallgató
féléves tevékenysége sem értékelhető.
-
A gyakorlatokon 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.
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) gyakorlati
teljesítmény nem vehető figyelembe, ezért az
aktuális félév gyakorlati kötelezettségeinek
teljesítése alól nem mentesít.
-
Gyakorlaton beadandó egy projekt munka.
-
Elérhető a projektben 100 pont.
-
Teljesítendő legalább 50 pont.
-
A projekt követelményeinek közzététele és
a projekt beadása a CooSpace rendszerben
történik.
-
A projektben tilos a gyakorlatvezető
engedélye nélkül más projektek,
programok, keretrendszerek, eszközök
felhasználása.
-
A projekt beadási határideje
2023. április. 9. vasárnap 23 óra 55 perc.
-
A határidőig be nem adott projekt
később is beadható, de a késésért minden
megkezdett napra 7 pont levonás jár.
-
A projekt javítása egy alkalommal, a
gyakorlatvezető értékelését
követő egy héten belül lehetséges.
A javítást is a CooSpace-ben kell beadni.
-
A beadott projektet az utolsó gyakorlat
időpontjában (2023.05.06. 8-10)
(kivételes esetben egyeztetett időpontban)
meg kell védeni.
Védés hiányában a projekt pontszáma
érvénytelen, a projekt nem értékelhető!
-
A hallgató köteles a projektvédésre az
alábbiaknak megfelelően felkészülni.
A védés során a gyakorlatvezető a projekt
hallgató által késztített részeiből kérdéseket
tehet fel, illetve ezeknek olyan módosításait
kérheti, melyekhez szükséges ismeretekkel
azok teljes mértékű megértéséhez és
elkészítéséhez a hallgatóknak rendelkeznie
kellett és kell.
Amennyiben a védés során kiderül, hogy
a hallgató a projekt állítólagosan általa
készített valamely részét nem teljes
mértékben ismeri és érti, ez annak
bizonyítékául szolgál, hogy a hallgató ezt
nem (teljes egészében) a hallgató készítette,
akkor a projekt nem értékelhető.
-
Elégtelen gyakorlati jegy javítása vizsgaidőszakban
-
Elégtelen gyakorlati jegy javítása a projekt
javításával, annak ismételt beadásával és
megvédésével lehetséges.
-
A projekt védése vizsgaidőszakban a meghirdetett
időpontokban (várhatóan május 20. és 27. 9 óra)
lehetséges. A projektet értékelés céljából
legkésőbb a választott védés időpontja előtt
4 nappal be kell adni.
A kurzus teljesítésének feltételei
-
A követelményeket kielégítő projekt fentebb
meghatározott feltételek szerinti határidőre
történő leadása, abban legalább
50 pont elérése, és a projekt sikeres megvédése.
Az osztályzat kialakításának módja
-
A projekre kapott pontszám alapján
a gyakorlat értékelése:
-
nem értékelhető projekt,
előadás vagy gyakorlat jelenléti alkalmakon
való részvétel hiányában:
nem értékelhető,
-
nem értékelhető projekt,
előadás vagy gyakorlat jelenléti alkalmakon
való részvétel birtokában:
elégtelen (1),
-
50-64 pont: elégséges (2),
-
65-79 pont: közepes (3),
-
80-89 pont: jó (4),
-
90-100 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!