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

Szak neve, képzési szintje: Mérnökinformatikus alapszak, BSc
Tanterv: 2021
Heti órászám (előadás + gyakorlat + labor): 2+0+2
Kreditérték: 4
Elmélet: 50 %
Gyakorlat: 50 %
A tantárgy tantervi helye: 5. félév
Munkarend: Nappali
Előtanulmányi feltételek: Programozási paradigmák és technikák
Értékelés: gyakorlati jegy
Tantárgy besorolása: Kötelező
Oktatás nyelve: Magyar
Tantárgyfelelős: Dr. Drenyovszki Rajmund
Felelős tanszék: Informatika Tanszék
Tantárgy oktatója(i): Dr. Drenyovszki Rajmund , Gurka Dezsőné Csizmás Edit
Ellenőrzésért felel: Halczman Szilvia Lídia
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 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.


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.

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:

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.

Képességei:

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

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