Programozási alapismeretek B. gyakorlat
Nappali tagozat
2022/2023 II. félév
Alapadatok
-
A tantárgy kódjai: IBN8502G, ITNA2502g
-
Kreditérték: 1.
-
Heti óraszám: 1.
-
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
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 gyakorlatokon folyamatos számonkérés történik,
azok látogatása kötelező.
A 3. héttől számított legfeljebb 4 hiányzás,
tehát az első két hetet is beleszámítva 6 hiányzás
megengedett, azonban a hiányzások igazolására
és pótlására nincs lehetőség.
Hogyha a hallgató onhibáján kívül (pl. betegség miatt)
kénytelen ennél többet hiányozni, próbálkozhat
- a TVSZ-el kiegészített Kari Ügyrend szerint -
kivételes tanulmányi rend kérésével.
-
A projekt munka megvédése érdekében a
gyakorlatvezető által meghatározott
gyakorlaton vagy előadáson, kivételes
esetben a hallgatóval egyeztetett időpontban,
kötelezőképpen meg kell jelenni.
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 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). További
pótlás nem lehetséges.
-
A gyakorlatokon való részvétel szükséges
a beugró pontszámok megszerzéséhez,
lehetőséget teremt a projektek rendszeres
megbeszélésére, továbbá ezek során a
gyakorlatvezető segít a tananyag
megértésében és a projektek elkészítésében.
-
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.
-
Ugyanakkor, annak nincs akadálya, hogy a
hallgató előző évben készített saját projektjét
felhasználja.
-
A 3. héttől kezdődően a gyakorlatokon
megírható 10 darab beugró a
korábbi és az aktuális gyakorlathoz
előzetesen közzétett tananyagokból,
melyekre darabonként legfeljebb 6 pont kapható.
A gyakorlat pontozásában ezekből a legjobb 8 lesz
figyelembe véve, ily módon 2 hiányzás büntetlenül
lehetséges, melyek igazolására és pótlására
nincs lehetőség.
A beugrókkal legfeljebb 6x8 = 48 pont szerezhető.
A beugrókban teljesítendő legalább 18 pont.
-
A gyakorlatokhoz kapcsolódóan beadandó
egy projekt munka.
-
Egy projektet azonos csoportban résztvevő
2 (kivételesen indokolt esetben 1)
hallgató készít.
A hallgatók a csoportokat szabadon
kialakíthatják és beregisztrálhatják a
CooSpace erre kialakított felületén
2023.02.19-ig, ami után azokat a hallgatókat,
akik nem regisztráltak valamely csoportban,
a gyakorlatvezető fogja csoportokba osztani
és ugyanazon felületen beregisztrálni.
Ezután csoportot módosítani csak kivételes
esetben, a gyakorlatvezető engedélyével lehet.
-
A választott projekt tématervét, a tervezett
funkciókkal, a CooSpace-ben megadott formában,
mindkét hallgatónak fel kell töltenie a CooSpace-be
2023.03.05-ig.
A tématervet a gyakorlatvezető véleményezi,
ennek esetleges javítását az értékeléstől számított,
a gyakorlatvezető által megadott legalább
egy hetes határidőn belül fel kell tölteni.
Ennek hiányában a gyakorlat nem teljesített.
-
Hallgatónként a projektben elérhető 140 pont,
amiből teljesítendő legalább 70 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 projektet minden hallgató beadja.
A 2 fős csoport tagjai által beadott projekteknek
azonosaknak kell lenniük, ezek közül
véletlenszerűen lesz kiválasztva az, amelyik
pontozásra kerül.
-
A projekt beadási határideje
2023. április. 23. 23 óra 55 perc.
-
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 projektek elkészítéséhez kapcsolódóan
a CooSace-ben leírt módon munkanaplót
kell vezetni, amelyet 2023. március 20-tól
kezdődően a projekt véglegesítéséig
minden héten fel kell tölteni, az addig elkészült
forráskóddal együtt.
-
A munkanaplókra 2023. március 20. és
2023. április. 23. között hetente legfeljebb
2 pontot lehet kapni, ami kiegészül a projekt
javítási időszakára vonatkozó naplóra kapható
további 2 ponttal, ily módon a naplókra összesen
legfeljebb 12 pont kapható.
Hogyha nem lesz szükség javításra, vagy
a projekt határidő előtt elkészül és
véglegesen leadásra kerül, akkor a hallgatók
automatikusan megkapják a hátralevő hetekre
vonatkozó naplókra járó maximális pontokat is.
-
A beadott projektet a gyakorlatvezető által
kijelölt gyakorlat vagy előadás keretében
(kivételes esetben egyeztetett időpontban)
meg kell védeni.
Védés hiányában a projekt elfogadása és
pontszáma érvénytelen!
Egy projekt csak akkor védhető meg, ha
elérte a minimális pontszámot.
-
A hallgató köteles a projektvédésre az
alábbiaknak megfelelően felkészülni.
A védés során a projekt azon részeiből,
melyeket a beadott napló alapján a hallgató
önállóan vagy a társával együtt készített,
a gyakorlatvezető a hallgatónak 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.
Hogyha a hallgatónak a projekt általa
készített valamely részének megértésében
kisebb hiányosságai vannak, de annak
lényeges elemeivel tisztában van, az a
pontszám csökkentését eredményezi.
Amennyiben viszont a védés során kiderül,
hogy a hallgató a projekt állítólagosan általa (is)
készített valamely részének lényeges elemeivel
sincs tisztában, vagy nem tudja elmagyarázni
a programrész működését, az annak
bizonyítékául szolgál, hogy annak
elkészítésében a hallgató érdemben
nem vett részt, a hallgató a projektre
0 pontot kap, és a gyakorlatot nem teljesítette.
-
A projektvédésnek javítása nincs, pótlása csak
igazolt hiányzás esetén lehetséges.
A kurzus teljesítésének feltételei
-
A hallgató által:
-
a 3. héttől kezdődően 4 vagy annál kevesebb
hiányzás, ÉS
-
a beugrókban legalább 18 pont teljesítése, ÉS
-
a projekt elvárásoknak megfelelő tématervének
határidőben történő feltöltése, ÉS
-
a követelményeket kielégítő projekt fentebb
meghatározott feltételek szerinti határidőre
történő leadása, ÉS
-
a projektben legalább 70 pont elérése, ÉS
-
a projekt fentiekben leírtak szerinti sikeres
megvédése, ÉS
-
a beugrókra, a projektre, és az együttműködésre
összesen legalább 100 pont megszerzé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
-
A beugrókra, a projektre, és az együttműködésre
összesen kapott pontszám alapján az osztályzat:
-
100-129 pont: elégséges (2),
-
130-159 pont: közepes (3),
-
160-179 pont: jó (4),
-
180-200 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!