Tantárgy neve, kódja: Haladó programozás, GINFBAL-HALAPROG-1

Szak neve, képzési szintje: Mérnökinformatikus alapszak, BSc
Tanterv: 2017
Féléves konzultációs órák száma: 16
Kreditérték: 4
Elmélet: 50 %
Gyakorlat: 50 %
A tantárgy tantervi helye: 5. félév
Munkarend: Levelező
Előtanulmányi feltételek: Programozási paradigmák és technikák
Értékelés: gyakorlati jegy
Tantárgy besorolása: szakmai törzsanyag
Oktatás nyelve: Magyar
Tantárgyfelelős: Dr. Drenyovszki Rajmund
Felelős tanszék: Informatika Tanszék
Tantárgy oktatója(i): Cserkó József
Ellenőrzésért felel: Prof. Dr. Johanyák Zsolt Csaba
Tárgy oktatásának 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.

Elsajátítandó szakmai kompetenciák (tudás, képesség, attitűd, autonómia és felelősség, további szakmai kompetenciák):
Tudása:

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égei:

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űdje:

- Törekszik a hatékony és minőségi munkavégzésre.

Autonómia és felelősség:


További szakmai kompetenciák:


A számonkérés és értékelés rendszere:
Félévközi tanulmányi követelmények:
A konzultá
Vizsgakövetelmények:

A gyakorla

Tanulmányi segédanyagok, laborháttér:

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.

Kötelező irodalom:

[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/

Ajánlott irodalom:

"[1] Richard L. Halterman: Fundamentals of Python Programming, 2017, https://python.cs.southern.edu/pythonbook/pythonbook.pdf"