Haladó programozás (GINFBAN-HALAPROG-1)
Alapadatok
Oktatók
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
Előadás
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.
Laboratórium
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
Az órák látogatása, az ott hallottak otthoni áttekintése és kiegészítése az ajánlott irodalom alapján. A kiadott házi feladat elkésztése. A gyakorlati jegy megszerzésének feltétele az elméleti ZH-n 20 pont megszerzése a megszerezhető 40 pontból és a projektfeladattal 30 pont megszerzése a megszerezhető 60 pontból. A projektfeladat egyénileg vagy csoportosan vállalható, előre egyeztetett témában. A projektfeladat megoldását a GitHub-on kell közétenni és folyamatosan dokumentálni. Az elméleti ZH egy alkalommal pótolható. A félév során az előadásokon további pluszpont szerzési lehetőségeket hirdet meg az oktató.
Vizsgakövetelmények
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