Oktatott tárgyak kivonata
minden eddigi szemeszterKliensoldali fejlesztés
A tantárgy célja, hogy a hallgatók megfelelő ismereteket szerezzenek a kliensoldali fejlesztés témakörében. Megtanulják a web alapjaként szolgáló HTML leíró nyelvet, kiegészítve a stíluslapokkal CSS, így saját struktúrákat, elrendezéseket képesek kialakítani. Megtanulnak használni külső stíluskönyvtárakat is (pl. Bootstrap, Material UI stb.). Megtanulják a JavaScript kliensoldali nyelv alapvető működését, nyelvi sajátosságait. Megismerkednek a következő fogalmakkal: DOM, Web APIs, events, JSON, jQuery, AJAX, TypeScript, lifecycle, cookie. Megismerkednek a Vue keretrendszer alapjaival, adatkötéssel, CDN felhasználással. Megismerkednek az Angular keretrendszerrel részletesebben.
Tovább a tárgy anyagaihozSzoftvertervezés és -fejlesztés specizalizáció (Üzemmérnök-informatikus)
A specializáció célja, hogy a hallgatók átfogó ismereteket kapjanak a szoftverek tervezésének, fejlesztésének és üzemeltetésének alapvető területeiről. Ez magába foglalja a programtervezés alapjait (alapvető architektúrák, üzemeltetési kérdések), a szerver- (programozási nyelvek, keretrendszerek, protokollok) és kliensoldali (JavaScript, Android, iOS) alkalmazásfejlesztési technikákat és egyéb kapcsolódó témaköröket (verziókezelés, tesztelés, telepítés, üzemeltetés).
A specializáció hallgatói a félévek során megismerkednek a nagyobb projektek fejlesztésének menetével, a nagyvállalati szoftverfejlesztés sajátosságaival (csapatmunka, fejlesztési módszertanok).
A szakdolgozat tárgy keretein belül pedig egy saját, kellően komplex alkalmazást fejlesztenek a tanult módszerek gyakorlati alkalmazásával.
A fentebb leírtak egy más megfogalmazásban érthetők úgy is, hogy a specializáció célja, hogy a hallgatók mély ismereteket és valós gyakorlati tapasztalatot szerezzenek a szoftverfejlesztés témakörében, ipari szinten. További cél a hallgatók tudásának szélesítése a fejlesztéshez szorosan kapcsolódó témakörökben, így fejlesztve az ún. soft-skill területet is.
Tovább a tárgy anyagaihozSoftware Technology and GUI Design
During the practices, the students are familiarized with the MVVM/MVC patterns using the C# language. During the lectures, the students are familiarized with the GoF Basic Design Patterns. Course description: MVVM design pattern in the WPF framework (controls, events, data binding). Using the MVC design pattern in the ASP.NET framework (razor, controllers, API endpoints, API access). Simple game development in WPF framework. GoF Basic Design Patterns. JavaScript fundamentals, DOM manipulation, events, Web API usage.
Tovább a tárgy anyagaihozSzoftvertechnológia és Grafikus Felhasználói Felület Tervezése
A tárgy keretében az előadásokon a hallgatók megismerkednek a szoftvertechnológia paradigmáival, a szoftver tervezés, fejlesztés metodikájával, különös tekintettel az objektum-orientált modellezésen alapuló modern megoldásokra. Az előadások főbb tématerületei: a szoftvertechnológia trendjei és tendenciái, a szoftverfejlesztés paradigmái, módszertanai, az informatikai tervek és dokumentációk jelölésrendszere. Az agilis fejlesztési modellek. A szoftverfejlesztés lehetőségei, az objektum-orientált analízis és tervezési módszerek, modellezés, a modell-alapú szoftverfejlesztés, a Unified Modelling Language, az UML modelljei, alkalmazásuk a fejlesztés során, az UML profilok, a modell-vezérelt architektúra (MDA), a tervezési minták alkalmazása, alkalmazásfejlesztés az UML és RUP segítségével. Nagy rendszerek, Felhő alapú alkalmazások fejlesztése. Esettanulmányok, mintapéldák.
A tárgy laborfoglalkozásainak keretében a hallgatók az előadáson elsajátított elméleti ismereteknek a gyakorlatban történő alkalmazásával ismerkednek meg. A félév során a hallgatók csoportmunkában egy komplex feladatot oldanak meg CASE eszköz segítségével. A feladat megvalósítása során törekedni kell a gyakorlatorientált feladatmegoldásra, a fejlesztés készség szintű kialakítására, a csoportmunkában történő fejlesztés bemutatására. A gyakorlat súlyponti része a megvalósított rendszer modern grafikus felhasználói felületének tervezése és fejlesztése.
Tovább a tárgy anyagaihozProjektmunka koordinálás
A Szoftvertervezés és -fejlesztés szakirány fontos részét képezi a négy félévet felölelő projektmunka. A specializációt megkezdő hallgatók az első félévtől kezdődően aktívan tevékenykednek témavezetőjük közreműködésével, melynek eredményeként olyan összetett megoldások születnek, amelyek a későbbiekben TDK dolgozatként és szakdolgozatként is bemutathatóak.
A szakirány, valamint ezáltal a Projektmunka tárgy megtalálható mind Mérnökinformatikus, mind pedig Üzemmérnök-informatikus (BPROF) képzésen egyaránt, más-más felosztásban.
Tovább a tárgy anyagaihozSzakdolgozat témavezetés
BSc szakdolgozatok, MSc diplomamunkák valamint Tudományos Diákköri Konferencia munkák témavezetését vállalom. Téma megkötés nincs, nyitott vagyok sok mindenre. Ettől függetlenül preferált témák: gépi tanulás, neurális hálók, webfejelsztés (front- és backend), beágyazott rendszerek valamint mobil app fejlesztés.
Tovább a tárgy anyagaihozWebprogramozás Alapjai
A tárgy keretében az előadásokon a hallgatók megismerkednek a web alapvető működésével és felépítésével, mind hardveres (hálózati), mind pedig szoftveres oldalról. Az előadások főbb tématerületei: az internet működése és alapjai, weboldal felépítése, webes programozási nyelvek, webes biztonság. A hallgatók megismerkednek a HTML és CSS fontosabb részeivel, azok kialakulásával, betekintést kapnak a hálózati topológiák működésébe. A web alap protokolljai (HTTP, HTTPS, UDP, TCP) ismertetésre kerülnek. Statikus és dinamikus weboldalak kapcsán betekintést nyernek a szerver- és kliensoldali programozási nyelvekbe (PHP, JS). Hosszú témaként előkerül a webes biztonság kapcsán, különböző támadások és általuk okozott problémák (SQL injection, XSS, CSRF, social-engineering, DOS változatok stb.), valamint ezek elkerülésére szolgáló biztonsági módszerek (SSH kulcs, token based authentication (JWT), hardverkulcs, többfaktoros azonosítás, átgondolt programírás, szűrőfüggvények alkalmazása, jelszavak tárolása (hash, salt, pepper) stb.). Végezetül a hallgatók megismerkednek az aktuális ipari trendekkel (keretrendszerek oka és célja, CMS rendszerek, teszteléssel kapcsolatos tudnivalók, tervezési minták (MVC-MVVM), API first alapú fejlesztés, template engine-k, CORS jelenség, verziókezelés alkalmazása).
Tovább a tárgy anyagaihozAdvanced Development Techniques
Advanced techniques of the C# language (Lambda expressions, LINQ, Entity Framework, Attributes, Reflection, DLL, Unit tests, Mock, Processes, Threads and Tasks as part of parallel programming).
Tovább a tárgy anyagaihozWebprogramozás és Haladó Fejlesztési Technikák
A tárgy egyik célja a webes alkalmazások fejlesztésének elsajátítása. HTML dokumentumok generálása. HTML formok készítése. Session kezelés. Cookie kezelés. Rejtett űrlapmezők. A tárgy másik felének részei: Lambda kifejezések és LINQ, XLINQ és LINQ To Entities. ADO.NET Entity Framework, felépítés, adatmodell (EDM). Database Engine Query használata. Alkalmazásfejlesztés, entitások és asszociációk. Adatok frissítése és beszúrása. Folyamatok kezelése, folyamat indítása statikus metódusból és objektumból, folyamat leállítása, EnableRaisingEvents, HasExited tulajdonságok. Szálak és szinkronizációjuk, indítás, prioritás, állapot átmeneti diagram. Előtér- és háttérszálak, ThreadPool osztály, szálak csoportba gyűjtése. Szinkronizálási alapok. Lockolás, Monitor osztály és szálműködés-szinkronizáció, várakozás. TPL betekintés. Párhuzamos programozási algoritmusok.
Tovább a tárgy anyagaihozJava Alapú Fejlesztés
Alapvető HTML és CSS ismeretek bemutatása. Alapvető szerver- és kliensoldali programozás, valamint programozási nyelvek bemutatása (PHP, JavaScript).
Tovább a tárgy anyagaihozSzoftvertervezés és -fejlesztés I.
A hallgatók megismerkednek a strukturált és objektum orientált programozás alapelveivel és módszereivel, valamint egy konkrét objektum orientált programnyelv használatával. Főbb kompetenciák: Algoritmusok felépítése, vezérlési szerkezetek. Az algoritmus leírásának eszközei, pszeudokód. Egyszerű programozási tételek: sorozatszámítás, eldöntés, kiválasztás, lineáris keresés, megszámlálás, maximum kiválasztás. Összetett programozási tételek: másolás, kiválogatás, szétválogatás, metszet, egyesítés, összefuttatás. Programozási tételek összeépítése. Az objektum orientált paradigma: objektum, osztály, osztályok közötti kapcsolatok. Az OOP megvalósítások általános jellemzői: egységbezárás, adatrejtés, öröklés, többalakúság, kód újrafelhasználás. Rendezések: egyszerű cserés, buborék, beillesztéses, Shell, gyorsrendezés, összefésülő rendezés. Nem összehasonlító rendezések. Logaritmikus keresés. Halmazműveletek. Rekurzív algoritmusok. Kupacok, kupacrendezés.
Tovább a tárgy anyagaihozSzoftvertervezés és -fejlesztés II.
A hallgatók megismerkednek az objektumorientált paradigma haladó eszközeivel, illetve a gyakorlatban használatos alapvető adatszerkezetekkel. Főbb kompetenciák: Osztályok közötti hierarchia felépítése. Öröklés. Konstruktorok az öröklésben. Metódusok felülírása és elrejtése. Polimorfizmus. Absztrakt osztályok. Interfészek. Eseménykezelés lehetőségei. Delegáltak. Hibakezelés hagyományos módszerei. Kivételkezelés. Generikus osztályok. Iterátorok. Egyszerű egyirányú és rendezett láncolt lista. A láncolt lista egyéb megvalósításai. Bináris keresőfa. B-fa. Irányított és irányítatlan gráfok. Feszítőfák. Kruskal és Prim algoritmusa. Gráfbejárások. Szélességi és mélységi keresés. Útkeresés. Dijkstra algoritmus. Összefüggő komponensek keresése. Topológiai rendezés. Hasító táblázatok. Visszalépéses keresés. Dinamikus programozás. Mohó algoritmusok. Branch and Bound módszer. Programozási paradigmák.
Tovább a tárgy anyagaihoz