Tantárgy neve, kódja: Haladó programozás, GINFBAN-HALAPROG-1
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.
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.
Elsajátítandó ismeretanyag 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.
Tudása:
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.
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.
- Törekszik a hatékony és minőségi munkavégzésre.
Félévközi tanulmányi 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 feladatok elkészítése. A gyakorlati jegy megszerzésének feltétele a 30 pontos elméleti ZH és a 30 pontos gyakorlati ZH legalább 50-50%-os teljesítése és a projektfeladattal legalább 20 pont megszerzése a megszerezhető 40 pontból. Az elméleti és a gyakorlati 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:
Az ajánlott irodalom, előadásvázlat, a gyakorlatokon megírt programok, a fejlesztőkörnyezet súgója. A gyakorlatokon - minden hallgatónak külön - korszerű számítógépes hozzáférés biztosított.
[1] A Python 3 nyelv hivatalos dokumentációs oldala: https://docs.python.org/3 [2] Andriy Burkov: The hundred-page machine learning book, http://themlbook.com/
[1] Richard L. Halterman: Fundamentals of Python Programming, 2017, https://python.cs.southern.edu/pythonbook/pythonbook.pdf