Programozási paradigmák és technikák (GINFBAL-PROPARTE-1)
Alapadatok
Oktatók
Tantárgy célja
A tárgy célja kettős: egyrészt az objektum-orientált programozás alapjainak megismertetése a C#-nyelven keresztül, másrészt felkészíti a hallgatókat a vizuális programozás tantárgyra
Elsajátítandó ismeretanyag
Elsajátítandó ismeretanyag előadás: 1. A C# project alap-elemei, konzol input-output, string-numerikus konverziók. 2. Az OOP alapelemei: osztály, tagok és metódusok, osztály-példány, példányosítás, a konstruktor. 3. Elérési szintek, statikus tagok és metódusok, névterek és kész osztályok használata. 4. Tömb típusok használata, kétdimenziós tömbök. A foreach ciklus. 5. Kivétel-kezelés, fontosabb kivétel-típusok. 6. Szöveg-kezelő metódusok. Az enum típusok. 7. Szöveges és általános fájl input-output eszközök. 8. Osztály-öröklődés, metódus felülírás, absztrakt és virtuális metódusok. 9. Érték- és referencia-típusú változók, a ref, out módisító. A Copy-konstruktor alkalmazása. 10. List és Dictionary osztályok. Getter és setter tulajdonságok. Osztály-indexelő. 11. Interfészek. Az IComparable interfész. 12. Lambda kifejezés, alkalmazás listáknál. 13. A delegate típus, delegate változó. Elsajátítandó ismeretanyag laboratórium: 1. A C# project alap-elemei, konzol input-output, string-numerikus konverziók. 2. Az OOP alapelemei: osztály, tagok és metódusok, osztály-példány, példányosítás, a konstruktor. 3. Elérési szintek, statikus tagok és metódusok, névterek és kész osztályok használata. 4. Tömb típusok használata, kétdimenziós tömbök. A foreach ciklus. 5. Kivétel-kezelés, fontosabb kivétel-típusok. 6. Szöveg-kezelő metódusok. Az enum típusok. 7. Szöveges és általános fájl input-output eszközök. 8. Osztály-öröklődés, metódus felülírás, absztrakt és virtuális metódusok. 9. Érték- és referencia-típusú változók, a ref, out módisító. A Copy-konstruktor alkalmazása. 10. List és Dictionary osztályok. Getter és setter tulajdonságok. Osztály-indexelő. 11. Interfészek. Az IComparable interfész.
Szakmai kompetenciák
Tudás
képességei - Képes a megszerzett alapismeretekre építve egy-egy műszaki informatikai területen mélyebb ismeretek önálló megszerzésére, a szakirodalom feldolgozására, majd a területhez kapcsolódó informatikai problémák megoldására. - Folyamatosan képezi magát és lépést tart az informatikai szakma fejlődésével.
Képesség
tudása - Ismeri a főbb programozási paradigmákat, programnyelveket, fejlesztési eszközöket. Tudása kiterjed az információs rendszerek modellezésére, adatbázis alapú rendszerek kialakítására, számítógépes hálózatok felépítésére, működésére és implementációjára, intelligens rendszerek jellemzőire, a mobil alkalmazásfejlesztés sajátosságaira, a korszerű, általános célú operációs rendszerek menedzselésére, és az IT biztonság szempontjaira - Ismeri a fontos szoftverfejlesztési módszertanokat, informatikai tervek és dokumentációk jelölésrendszerét. - Ismeri az informatika és a mérnöki szakma szókincsét és kifejezési sajátosságait magyar és angol nyelven, legalább alapszinten.
Attitűd
- Hitelesen képviseli a mérnöki és informatikai szakterületek szakmai alapelveit. -Nyitott az új módszerek programozási nyelvek, eljárások megismerésére és azok készség szintű elsajátítására - Törekszik a hatékony és minőségi munkavégzésre.
Autonómia és felelősség
Számonkérés és értékelés
Félévközi követelmények
Programozási és elméleti zárthelyi dolgozat(ok) írása számítógépen.
Vizsgakövetelmények
A programo
Generatív MI használata
1. álláspont: A GMI eszközök használata nem engedélyezett a feladatok megoldása során. Ez azt jelenti, hogy a GMI eszközök nem használhatók a formatív vagy szummatív értékelési elemek elkészítése, megoldása során és a generatív MI használata tanulmányi kötelességszegésnek minősül. Az MI eszközök nyelvi és helyesírás-ellenőrzésre történő használata nem tartozik az 1. álláspont szerinti teljes tilalom alá.
Irodalom
Kötelező irodalom
[1] István, Reiter. C# programozás lépésről lépésre. Jedlik Oktatási Stúdió, 2018. ISBN 9786155012174
Ajánlott irodalom
[1] Troelsen, Andrew W., and Philip Japikse. Pro C# 10 with. NET 6: Foundational principles and practices in programming. Apress, 2022. ISBN 1484278682