Programozási alapismeretek A.
önálló vizsga kurzusleírás
2021/2022 II. félév
Alapadatok
-
A tantárgy kódja: IBN8501E
-
Kreditérték: 1.
-
Heti óraszám: 1.
-
A tantárgy típusa és értékelés módja: előadás, kollokvium.
-
Tantárgyfelelős és oktató:
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ó képes legyen alapvető JavaScript
grafikai utasítások használatával látványos
grafikákat, animációkat készíteni érdekében,
hogy megtapasztalja az értelmező programozási
nyelvek működését, a vizuális ábrázolások
segítségével jobban megértse a
programvezérlések működését, továbbá a
kurzus tanulása során több sikerélménye legyen.
-
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
-
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.
-
A számítógép működésének alapjai.
Értékek memóriabeli tárolásának alapjai
(példa: egész értékek tárolása).
Adattípusok. A C nyelv elemi adattípusai.
A programkódba beírt értékek jelölése és tárolása.
-
További műveletek.
Signed és unsigned összehasonlítása.
Feltételes művelet. Inkrementáló műveletek.
Értékadó műveletek és kifejezések.
Szintaxisdiagram. Kifejezések kiértékelése
(prioritás, asszociativitás).
-
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.
-
HTML alapjai: charset, lang, title, script, div, id.
Formázás alapjai: pozícionálás, méretek
(width, height), border.
Színek HTML-ben, RGB kódolás.
JavaScript alapok: beillesztés, változók,
műveletek, stringek.
Hibakeresés JavaScript-ben (böngésző konzol,
alert() használata). Vonalak rajzolása JavaScript-el
HTML5 Canvas használatával. getElementById.
-
Alapvető vezérlések, szemléltetés
HTML5/JavaScript-ben és C-ben.
Egyszerű és többszörös szelekciós vezérlések.
Kezdőfeltételes, végfeltételes és számlálásos
ismétléses vezérlések.
-
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.
Ajánlott irodalom
-
BME C programozás előadás videók, Porkoláb Zoltán
-
BME C programozás jegyzet, 2018 és
további anyagok.
-
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
-
Brian W. Kernighan, Dennis M. Ritchie:
A C programozási nyelv. Az ANSI szerint
szabványosított változat,
Műszaki Könyvkiadó, Budapest, 1994
-
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
-
Ismeri a a programozási alapfogalmakat
(program, nyelv, kódolás, változó).
Elmagyarázza a fordítás célját, és a
fordítás fázisait fordító, illetve értelmező
programozási nyelvek esetén.
Felsorolja a C nyelv adattípusait és
legfontosabb műveleteit, elmagyarázza
azok működését.
-
Felsorolja a leggyakoribb szintaktikai és
szemantikai hibákat.
-
Felsorolja és összehasonlítja a vezérlési
szerkezeteket, elmagyarázza azok
működését.
-
Értelmezi az értékek bekérésének és
kiíratásának alapvető parancsait úgy konzol,
mint fájlhasználat esetén (printf, scanf,
fprintf, fscanf), illetve a fájlvége
ellenőrzésének lehetőségét (feof).
-
Leírja az egy- és többdimenziós tömbök
felépítését, használatának szintaxisát,
illetve elmagyarázza a tömbök tárolásának
mechanizmusát.
-
Ismerteti a karaktersorozatok beolvasásának,
eltárolásának módját, és a legfontosabb
műveletekhez tartozó parancsok (másolás,
összehasonlítás, összefűzés) szintaxisát és
működését.
-
Ismerteti a struktúrák felépítését és szintaxisát.
-
Leírja a sorozatszámítást megvalósító
programok vázlatát.
-
Elmagyarázza a lineáris keresés, eldöntés,
kiválasztás, maximum, szétválogatás.
kiválogatás algoritmusok működését,
leírja azok megvalósítását.
-
Ismerteti az adathalmazok tárolásának
lehetőségeit. Elmagyarázza az adathalmazok
metszetét, egyesítését, összefuttatását,
illetve buborékrendezését megvalósító
algoritmusok működését.
-
Leírja a HTML5 Canvas-ban használható
alapvető JavaScript utasításokat.
-
Bemutatja a számítógép működésének
alapjait. Érti az értékek memóriabeli
tárolásának logikáját, elmagyarázza az
egész értékek tárolásának mechanizmusát.
- Képességek
-
Struktúrák és tömbök segítségével az
eltárolandó adatoknak megfelelő
adatszerkezeteket hoz létre és használ.
-
Egyszerűbb ábrákat készít JavaScript-el
HTML5 Canvas használatával.
- Attitűd
-
Törekszik a programok működésének
megértésére.
- Autonómia-felelősség
-
A képesség részben leírt tevékenységeket
önállóan végzi.
Teljesítési feltételek
-
Szabályzat szerint a kurzust az a hallgató veheti fel,
aki előzőleg teljesítette a tárgyhoz kapcsolódó gyakorlatot.
Technikai okokból a Neptun a kurzusfelvételt azoknak a
hallgatóknak is engedheti, akik nem rendelkeznek teljesített
gyakorlattal, azonban nem fogja engedni majd a vizsgára
jelentkezést, így a hallgató nem fogja tudni teljesíteni a kurzust, és
ottmarad egy feleslegesen elhasznált kurzusfelvétellel.
Tehát, aki nem rendelkezik teljesített gyakorlattal,
ne vegye fel a kurzust!
-
A kurzus keretében sem előadást, sem gyakorlatot
nem tartunk, a hallgatónak kizárólag vizsgáznia kell.
-
Az önálló vizsgakurzus felvétele tárgyfelvételt jelent,
mely csökkenti a lehetséges tárgyfelvételek számát.
-
A kurzus teljesítésének feltétele
(online vizsga esetén szóbeliveli kiegészített)
írásbeli kollokviumon az elérhető pontszám
legalább 50%-ának elérése.
-
Az osztályzat kiszámítása az elért pontszám arányában:
-
50-64 %: elégséges (2),
-
65-79 %: közepes (3),
-
80-89 %: jó (4),
-
90-100 %: jeles (5).
-
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ó.
Kapcsolat
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!