Haladó programozás (GINFBAL-HALAPROG-1)

Alapadatok
Szak és képzési szint
Mérnökinformatikus alapszak, BSc
Tanterv
2017
Óraszám
16 (Konzultáció)
Kreditérték
4 kredit
Elmélet-Gyakorlat arány
Elmélet: 50%, Gyakorlat: 50%
Tantervi félév
5. félév
Oktatók
Tantárgyfelelős
Dr. Drenyovszki Rajmund
Felelős tanszék
Informatika Tanszék
Oktatók
Cserkó József, - nincs
Ellenőrzésért felel
Prof. Dr. Johanyák Zsolt Csaba
Tantárgy célja

A hallgatók megismerkedjenek a Python nyelvvel és alkalmazási lehetőségeivel a gépi tanulás és az adatfeldolgozás területén.

Elsajátítandó ismeretanyag

A Python alkalmazási területei. Python adatszerkezetek, list comprehension, dict comprehension. Matematikai számítások és adatszerkezetek (NumPy), függvények megjelenítése (Matplotlib). Objektum orientált programozás Pythonban. Kivételek kezelése. Python Standard Library. Optimalizálás nyílt forráskódú Python alapú eszközökkel. Gépi tanulás alapja. Neurális hálózatok és Deep Learning. Az interpreter használata. Változók, típusok. Sztring és fájl kezelés. Adatszerkezetek (list, dictionary, set, stb.) és kezelésük bemutatása gyakorlati példákon keresztül. Függvények és használatuk. Optimalizálás nyílt forráskódú Python alapú eszközökkel. Klaszterezés. Osztályozás. Projektfeladat.

Szakmai kompetenciák
Tudás

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.

Képesség

képességei - Képes alkalmazást fejleszteni, kliens-szerver és WEB, mobil rendszereket programozni, multiplatform rendszereket kialakítani. - 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. - Képes szakterületén elemzési, specifikációs, tervezési, fejlesztési és üzemeltetési feladatok ellátására, alkalmazza a fejlesztési módszertanokat, hibakeresési, tesztelési és minőségbiztosítási eljárásokat. - Együttműködik informatikusokkal és villamosmérnökökkel a csoportmunka során, és más szakterületek képviselőivel is az adott probléma követelményelemzésének és megoldásának kimunkálása során. - Folyamatosan képezi magát és lépést tart az informatikai szakma fejlődésével.

Attitűd

- 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

A konzultációkon elhangzott és kiadott tananyag feldolgozása és elsajátítása. Önálló gyakorlás és feladatok megoldása. Labor ZH (30 pont, legalább 15 pont), Elméleti ZH (30 pont, legalább 15 pont), Projektfeladat (40 pont, legalább 20 pont).  Géptermi (labor) ZH a Python programozás alpajaiból. Progrmozási projektfeladat megoldása önállóan vagy csapatban. A nagyfeladat témáját és leírását egyeztetni kell előre az oktatókkal, valamint a megoldásokat a GitHub-on kell közzétenni és folyamatosan dokumentálni.

Vizsgakövetelmények

A gyakorla

Generatív MI használata

2. álláspont: Az GMI eszközök használata korlátozottan engedélyezett (pl. irodalomkutatási segítségnyújtás vagy meghatározott eszközök). Ez azt jelenti, hogy a GMI eszközök előre meghatározott módon használhatók a feladatok elkészítéséhez, megoldásához. Ebben az esetben a tantárgy gondozójának feladata és felelőssége meghatározni, hogy a GMI eszközök használata mely esetekben megengedett vagy nem megengedett. A tantárgyleírásban részletesen meg kell határozni, hogy a GMI eszközök milyen módon használhatóak az adott kurzus során.

Irodalom
Kötelező irodalom

Google's Python Class: https://developers.google.com/edu/python Kaggle Learn: https://www.kaggle.com/learn Andriy Burkov: The hundred-page machine learning book, http://themlbook.com/ Andriy Burkov: The Hundred-Page Language Models Book: hands-on with PyTorch, True Positive Inc. (January 18, 2025), ISBN-13:978-1778042737, On-line: https://www.thelmbook.com/

Ajánlott irodalom

François Chollet and Matthew Watson: Deep Learning with Python, Third Edition, Manning; 3rd edition (September 2025), ISBN-13:978-1633436589 Kevin P. Murphy: Probabilistic Machine Learning: An Introduction (Adaptive Computation and Machine Learning series), The MIT Press (March 1, 2022), ISBN-13:978-0262046824, https://probml.github.io/pml-book/book1.html