Programozási alapismeretek B. gyakorlat
Levelező tagozat
2022/2023 I. félév
Alapadatok
-
A tantárgy kódjai: IBL8502G, ITLA2502g.
-
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
-
A
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 kötelező program megvédése céljából az utolsó gyakorlaton
(2022.12.10. Szo. 8-10) kötelező online videókapcsolattal
megjelenni. Ezen gyakorlatról való hiányzás kizárólag
abban az időpontban lebonyolítható orvosi vizsgálatot vagy
kezelést bizonyító igazolással, vagy a gyakorlatvezető
által elfogadott nagyon kivételes helyzetekben megengedett,
ebben az esetben a projektvédés pótolható a gyakorlatvezetővel
egyeztetett időpontban, viszont a hallgató vizsgalehetőségektől
eshet el. További pótlás nem lehetséges.
-
A védésről való igazolatlan hiányzás esetén a
gyakorlat (az elért pontszámoktól függetlenül)
nem teljesítettnek minősül.
-
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.
-
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 (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.
-
A gyakorlatokhoz kapcsolódóan beadandó egy projekt munka:
-
Elérhető maximális pontszám: 100
-
Teljesítendő minimális pontszám: 50
-
A projekt követelményei a CooSpace-ben lesznek közzétéve.
-
A projekt forráskódját a CooSpace rendszerben kell beadni a
gyakorlatvezetőnek az alábbiakban megadott határidőig.
-
A projektet alkotó program(ok)nak minden módosítás nélkül
fordulnia és működnie kell.
-
A projektben tilos a gyakorlatvezető előzetes engedélye nélkül
más projektek, programok felhasználása.
-
A projekt leadási határideje:
2022. november 27. vasárnap 23 óra 55 perc.
-
A projekt javítása a gyakorlatvezető értékelésétől
számított egy héten belül lehetséges.
Egynél több javítást a gyakorlatvezető csak
abban az esetben fogadhat el, ha a
hallgatónak önhibáján kívül nem sikerült
elérnie a számára megfelelő pontszámot.
-
A határidő után leadott projekt esetében
nincs javítási lehetőség, és minden
megkezdett napra 10 pont levonás jár,
így 5 nap után nem érdemes beadni.
-
A leadott projektet az utolsó gyakorlaton meg kell védeni.
- Egy projekt csak akkor védhető meg, ha:
-
a fentiekben meghatározott módon le lett adva és
-
elérte a minimális pontszámot és
-
az összes kötelező követelményt teljesíti.
-
A projekt védés azt a célt szolgálja, hogy a gyakorlatvezető
meggyőződjön arról, hogy a projektet a hallgató szerzői
minőségben 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 készítette,
akkor a projektre kapott jegy tetszőleges mértékben
csökkenthető, indokolt esetben a hallgató ellen etikai
eljárás indítható.
-
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.
-
Zárthelyi dolgozat nem lesz.
A kurzus teljesítésének feltétele
-
A követelményeket kielégítő projekt fentebb meghatározott
feltételek szerinti leadása, abban legalább 50 pont megszerzése,
és annak sikeres megvédése.
-
A számonkérések során semmilyen segédlet nem használható.
Az osztályzat kialakításának módja
-
Az osztályzat kiszámítása a kötelező
programban elért pontszám alapján:
-
0-49 pont: 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).
Az elégtelen gyakorlati jegy javítása
-
Az elégtelen gyakorlati jegy javítása érdekében
a projektet a vizsgaidőszakban is be
lehet adni, elfogadása esetén azt az oktató
által kijelölt időpontban meg kell védeni.
-
A vizsgaidőszakban beadott projektre
legfeljebb elégséges jegy kapható, mivel
más esetben hátrányba kerülnének azok
a hallgatók, akik a szorgalmi időszakban
határidőre legalább elfogadható projektet
készítettek és legalább elégséges gyakorlati
jegyüket a TVSZ szerint nem javíthatják
(TVSZ 29.o. 15. pont).
-
A projekt a vizsgidőszakban tetszőleges
időpontban beadható, viszont annak
értékelése és védése a beadástól számított
14 napon belül várható.
Az a hallgató felelőssége, hogy ennek ismeretében
a projektet időben adja be ahhoz, hogy a sikeres
védés után vizsgára is tudjon jelentkezni (ha akar).
-
A vizsgaidőszakban beadott projekt vagy annak
védése alapján kapott elégtelen gyakorlati jegy
még egyszer javítható azonos feltételekkel.
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!