me-profile

Sipos Miklós

Egyetemi Tanársegéd Doktorandusz

Elérhetőség

sipos.miklos [kukac] nik.uni-obuda.hu

+36-1-666-5579

Óbudai Egyetem Neumann János Informatikai Kar

Szoftvertervezés és –fejlesztés Intézet

1034 Budapest, Bécsi út 96/b, 3.08 iroda

Full-stack Szoftverfejlesztés

FS 2024-25-2 frontend backend fullstack REST API ASP.NET MVC szerveroldali programozás JavaScript DOM manipuláció vanilla JS HTML CSS reszponzivitás REST API CRUD szerver-kliens kommunikáció Bootstrap adatbázis perzisztens adattárolás repository pattern tervezési minták HTTP státuszkódok

A tárgy célja, hogy a hallgatók megismerkedjenek a full-stack fejlesztéshez kapcsolódó témakörökkel, módszerekkel, nyelvekkel és eszközökkel. Ezeken keresztül megismerik a webfejlesztés útját, a kezdetektől egészen napjainkig. Megismerik az ok-okozati összefüggéseket, ezáltal pedig az egyes módszerek közötti különbségeket fel tudják ismerni, előnyök és hátrányok szempontjából. Megismernek dedikált szerveroldali és kliensoldali módszereket és nyelveket, valamint a két oldal közötti kapcsolatot.

Tovább a tárgy anyagaihoz

Kliensoldali Fejlesztés

KF 2022-23-2 HTML CSS Sass Less JavaScript vanilla JS event loop BOM DOM CORS promise array methods map filter reduce Angular adatkötés komponens dependency injection routing service

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.), valamint CSS preprocesszorokat (pl. Sass, Less). 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 az Angular keretrendszerrel részletesebben, és az ide vonatkozó elméleti témakörökkel (pl. adatkötés, komponensek, dependency injection, routing stb.).

Tovább a tárgy anyagaihoz

Szoftvertervezés és -fejlesztés Specizalizáció (BPROF)

BPROF-SPEC 2022-23-2 frontend backend fullstack ASP.NET Vue JS Angular vanilla JS HTML CSS Sass Less Git SCM GitHub SCRUM Jira GitKraken issue ticket feature branch

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 anyagaihoz

Szakdolgozat témavezetés

SZAKD 2025 gépi tanulás neurális hálózatok webfejlesztés backend frontend fullstack beágyazott rendszerek alkalmazás fejlesztés Angular ASP.NET

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 anyagaihoz

Tudományos Diákköri Konferencia témavezetés

TDK 2025 gépi tanulás neurális hálózatok webfejlesztés backend frontend fullstack beágyazott rendszerek alkalmazás fejlesztés Angular ASP.NET

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. E-mail címemen elérhető vagyok kérdésekre, valamint személyes konzultáció egyeztetésére.

Tovább a tárgy anyagaihoz

Software Technology and GUI Design

SGUI 2022-23-2 C# XAML JSON WPF GUI ASP.NET API MVVM MVC DESIGN PATTERN GAME DEVELOPMENT DATA BINDING GIT INTERMEDIATE

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 anyagaihoz

Szoftvertechnológia és Grafikus Felhasználói Felület Tervezése

SzGUI 2019-20-2 C# XAML JSON WPF GUI ASP.NET API MVVM MVC DESIGN PATTERN GAME DEVELOPMENT DATA BINDING GIT INTERMEDIATE

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 anyagaihoz

Projektmunka koordinálás

PROJM 2025 gépi tanulás neurális hálózatok webfejlesztés backend frontend fullstack beágyazott rendszerek alkalmazás fejlesztés Angular ASP.NET

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 anyagaihoz

Webprogramozás Alapjai

WPA 2019-20-1 HTML CSS PHP JS HTTP HTTPS UDP TCP GET request POST request security XSS CSRF session hijack SQL injection hashing salting peppering API CORS JWT SSH Twig

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 anyagaihoz

Advanced Development Techniques

ADT 2021-22-1 C# XML SQL Git basics delegate LINQ XML DLL database Entity framework Core reflection unit testing nUnit mocking Moq layering MVC process thread task

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 anyagaihoz

Webprogramozás és Haladó Fejlesztési Technikák

WHP 2020-21-1 C# XML SQL Git alapok haladó delegált kezelés LINQ XML DLL adatbázis Entity framework Core reflexió egységtesztelés nUnit mockolás Moq rétegzés MVC process thread task

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 anyagaihoz

Haladó Fejlesztési Technikák

WHP 2022-23-1 C# XML SQL Git alapok haladó delegált kezelés LINQ XML DLL adatbázis Entity framework Core reflexió egységtesztelés nUnit mockolás Moq rétegzés MVC process thread task

A C# nyelv haladó eszközei (delegáltak, lambda kifejezések, LINQ, Entity Framework Core, Code-first adatbázis, attribútumok, reflexió, DLL készítése és használata, unit tesztelés, mock-ok és fake-ek használata, folyamatok és szálak kezelése).

Tovább a tárgy anyagaihoz (mérnökinfó) Tovább a tárgy anyagaihoz (bprof)

Java Alapú Fejlesztés

JAVA 2020-21-1 C# JSON HTML CSS PHP JS

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 anyagaihoz

Szoftvertervezés és -fejlesztés I.

SzTF1 2018-19-1 C# konzolos környezet tömb metódus osztály objektum OOP objektum orientált programozás

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 anyagaihoz

Szoftvertervezés és -fejlesztés II.

SzTF2 2018-19-2 C# haladó OOP OOP alapelvek öröklődés polimorfizmus interfész esemény delegált visszalépéses keresés adatszerkezetek sor verem láncolt lista bináris keresőfa hasítótábla gráf

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. Programozási paradigmák.

Tovább a tárgy anyagaihoz

Software Design and Development II.

SWDD2 2020-21-1 C# advanced OOP OOP principles inheritance polymorphism interface event delegate back track search data structures queue stack linked list binary search tree hash table graph

Students will become familiar with the advanced tools of the object-oriented paradigm and the basic data structures used in practice. Main competencies: Building a hierarchy between classes. Inheritance. Constructors in inheritance. Overriding and hiding methods. Polymorphism. Abstract classes. Interfaces. Event handling options. Delegates. Traditional methods of error handling. Exception handling. Generic classes. Iterators. Simple unidirectional and ordered linked lists. Other implementations of the linked list. Binary search tree. B-tree. Directed and undirected graphs. Spanning trees. Kruskal and Prim's algorithm. Graph traversals. Breadth-first and depth-first search. Path search. Dijkstra's algorithm. Finding connected components. Topological sorting. Split tables. Backtracking search. Dynamic programming. Greedy algorithms. Programming paradigms.

Tovább a tárgy anyagaihoz