A kurzus egy átfogó akadémia a C# programozás és alkalmazásfejlesztés elsajátítására a .NET platformon. A programozás alapjaira összpontosít, fokozatosan lefedi az objektum-orientált programozás (OOP), a kódkezelés, az adatkezelés, a gyűjteményekkel való munka és egyebek kulcsfogalmait. A résztvevők megtanulnak robusztus és hatékony alkalmazásokat létrehozni és fejleszteni C# nyelven különböző koncepciók és technológiák felhasználásával, mint például az OOP, memóriakezelés, adatkezelés, kivételkezelés, párhuzamos programozás stb.
A C# fejlesztő szakember rendelkezik azzal a szakértelemmel, hogy egy alkalmazás fejlesztésén belül számos szempontot kezeljen, túlmutatva a teljesítményre, képességekre és biztonságra vonatkozó szempontokon.
A .Net/C# nyelvet ismerő fejlesztők képesek fejlett alkalmazásokat létrehozni, legyen szó kifinomult asztali alkalmazásokról vagy a modern webalkalmazások mögött álló összetett infrastruktúráról. Képesek szoftvermegoldásokat tervezni és fejleszteni, beleértve a teljesítményoptimalizálást, a megfelelő tesztelés révén minőségbiztosítást, a biztonsági megvalósítást és még sok mást. Így hozzájárulhatnak megbízható, méretezhető és az aktuális technológiai követelményekhez igazodó szoftvertermékek fejlesztéséhez.
A program után a résztvevők megtanulják:
- Ismerje meg a programozás alapvető fogalmait és a C# nyelv jelentőségét a szoftverfejlesztésben.
- Használja az integrált fejlesztői környezetet (IDE) a C# programok létrehozására, fordítására és futtatására.
- Manipuláljon változókat, adattípusokat és operátorokat C#-ban számítások és logikai műveletek végrehajtásához.
- A programvégrehajtás folyamatát döntési és interakciós utasításokon keresztül irányítja.
- Modellezze és valósítsa meg az OOP fogalmakat, például osztályokat, objektumokat, öröklést, interfészt és absztrakciót.
- Dolgozzon adatgyűjtésekkel és -struktúrákkal, beleértve az általános és gyűjtési algoritmusok használatát.
- Párhuzamos alkalmazások fejlesztése szálak és aszinkron programozási technikák segítségével.
- Kezeli a C# programok kivételeit és hibáit.
- Interakció az adatbázisokkal az ADO.NET és az Entity Framework használatával.
- Webszolgáltatások létrehozása és közzététele az ASP.NET Web API használatával.
- Végezze el az egységtesztet, és írjon tiszta és jól strukturált kódot.
A programozási nyelv ismerete előnyt jelent, de nem feltétel. Ha a résztvevők alapvető ismeretekkel rendelkeznek a matematikai és logikai fogalmakról, ez a programozás tanulásában is hasznos lehet.
1. lecke – Bevezetés
- Mi az a program? Mi a programozás célja? Mit tehetünk a .NET-tel?
- Mi az IDE? Hogyan könnyítik meg a programozók életét
– Mi az a .NET és mi a C#?
– Az első programunk C# nyelven az IDE-ről fut
– C#, mint lefordított és értelmezett nyelv (azoknak a lépéseknek a parancssori reprodukálása, amelyeket az IDE-nk a bemutatott program futtatása érdekében tett nekünk)
– Változók. Mi az a változó?
– Literálok: egész szám, lebegőpontos, logikai, karakter és karakterlánc
– Üzemeltetők
- Átruházás
- Matematikai operátorok
- Automatikus növelés és csökkentés
- logikai operátorok
- Relációs operátorok
- Bitenkénti operátorok (magyarázza meg, hogyan "gondolkodnak" a számítógépek bitekben, és végezzenek néhány konverziót 2-es bázisról 10-re és 16-ra)
- Műszakos operátorok
- Háromszoros if-else operátor
- Karakterlánc-összefűzési operátor (+, +=)
- Casting operátorok
- Speciális operátorok (pl. példány)
– Végrehajtás szabályozása: döntési utasítások, interakciós utasítások, szünet parancs, folytatás parancs
- Példák és gyakorlatok
2. lecke – Kódkezelés
– Verzióvezérlés
- SVN, Mercurial, Git
- Git Setup
- Github, tolja be az első kódot a Githubba
- Hozzászólások
- Írja be a megjegyzéseket
- Írjon megjegyzéseket a dokumentációhoz
– Névterek
- A kód rendszerezése névterekben
- Speciális névterek egy C# programon belül
– Futtasson egy C# programot
- Normál mód
- Hibakereső mód
- Futtasson speciális érvekkel
- Példák és gyakorlatok
3. lecke – Tömbök és karakterláncok
- Kik ők?
– Tömb hossza
– Többdimenziós tömbök
– Egy tömb elemeinek elérése, megváltoztatása
– Egy tömbön keresztüli hurok
– Adjon meg egy tömböt függvényargumentumként
– Példák a leggyakrabban használt metódusokra az Arrays segédprogram osztályból
– Karakterláncok kezelése (részkarakterlánc, karakterláncok összehasonlítása, konvertálás char tömbből stb.)
- Példák és gyakorlatok
4. lecke – Funkciók
– Mi a funkció és mi az általános célja
– Funkcióparaméterek, opcionális paraméterek, visszatérési értékek
– Funkciók írása (Robert C. Martin "Clean Code" című könyve szerint)
– A helyi változók életciklusának magyarázata
– Primitív változók paraméterként való átadása a függvényeknek
– Átmenni érték mellett
– Függvények hívása, elnevezett argumentumok
– Példák és gyakorlatok
5. lecke – Bevezetés az OOP-ba
– Mi az OOP, OOP vs Procedural
- Mi az az osztály
- Mi az a tárgy
– Konstruktor
- Alapértelmezett konstruktorok
- Ez a kulcsszó
- polimorfizmus
– Osztálypéldány deklarálása és inicializálása
– Memóriakiosztás és szemétgyűjtő
– Példányváltozók/módszerek kontra statikus változók/módszerek
– Statikus konstruktor
– Nem statikus konstruktor
– C# hozzáférés módosítók
– Példák és gyakorlatok
6. lecke – Öröklődés, absztrakt osztályok, interfészek
- Az öröklés magyarázata
– Módszerek felülbírálása
– Kulcsszóbázis
- magyarázta Protected
- Lezárt kulcsszó
– Absztrakt osztályok
- Interfészek
– Interfészek vs. absztrakt osztályok
– Interfészek többféle megvalósítása
– Példák és gyakorlatok
7. lecke – Belső osztályok, objektumosztály, null objektum
– Operátorként/operátorként
– Upcasting & downcasting
- Minden egy tárgy
– magyarázta az objektumosztály
– ToString() metódus célja iii. Egyenlő() metódus célja iv. HashCode() metódus
– Objektumok klónozása – IClonozható felület
– Véglegesítő módszer
– Null objektum
– Példák és gyakorlatok
8. lecke – Enumok, kivételkezelés
– magyarázta Enum
– Kivételek hierarchiája
– Ellenőrzött és nem ellenőrzött kivételek
– magyarázta meg végre-elkapni-próbál
- Dobási kivételek (dobás parancs)
– A kivételeket helyben kezelték, vagy delegálták azokat
– Saját kivételeink meghatározása
– Példák és gyakorlatok
9. lecke – Bemeneti/kimeneti adatfolyamok, sorozatosítás
– A Fájl osztály
– Byte Streams
– Karakterfolyamok
– Pufferelt adatfolyam
– Adatfolyamok
– Tárgyfolyamok
– Sorozatosítás
– Példák és gyakorlatok
10. lecke – Általános szerek, gyűjtemények
– Általános osztályok
– Általános funkciók
– Általános elnevezési konvenció
– Gyűjtemények megvalósítási példákkal:
– Általános gyűjtemények: lista, szótár , SortedList, Queue, Stack, Hashset
– Nem általános gyűjtemények: ArrayList, SortedList, Stack, Queue, Hashtable
– Példák és gyakorlatok
11. lecke – Általános szerek, gyűjtemények
– Iterátorok
– Előzetes utasítás
– Szótártípus
- Gyűjtemények algoritmusok
- Fajta
- Összehasonlítható felület
- IComparer felület
- Bináris keresés
- Fordított
- Minimum maximum
- Csere
- Linq műveletek gyűjteményeken: pl. Find, First, Skip, Take stb
– Példák és gyakorlatok
12. lecke – Szálak, foglalatok, feladatok (aszinkron vár)
– Kód szekvenciális futtatása vs. párhuzamosan
– Async Await in .net (C#)
- Szál létrehozása és indítása C#-ban
- Szál osztály
- Feladat osztály
– A szál életciklusa
– A szál végrehajtásának szüneteltetése
– A szál csatlakozik
– Szinkronizálás és zárak
– Monitor segítő osztály: Várj, Pulse, PulseAll
– Példák és gyakorlatok
13. lecke – Szálak, foglalatok, feladatok (aszinkron vár)
– Atomváltozók
– Illékony kulcsszó
– Megmásíthatatlan tárgyak
– Párhuzamos programozási buktatók
– Kliens aljzat
– Server Socket
– Példák és gyakorlatok
14. lecke – Függőségkezelők, C# database kapcsolat
– Nuget csomagkezelő
– Több projekt importálása a projektbe
– Kapcsolat beállítása SQL Serverrel C#-ból
- SQL kód hívása C#-ból
- SqlCommand
- SqlDataReader
– C# kapcsolat bezárása az SQL Serverrel
– Lekérdezési eredmények olvasása: ExecuteScalar vs ExecuteReader
15. lecke – Entitáskeretrendszer
– Mi az Entity Framework?
– Különböző ORM-ek
– Lambda kifejezések
– Migrációk
– Csomagkezelő konzol
– EF Code First vs Database vezetéknév
– Példák és gyakorlatok
16. lecke – Névtelen tárgyak. Küldöttek, Dependency Injection
– Példák az Anonymous Objectsre
– Küldöttek
– Lambda kifejezések
– Dependency Injection
– Fixing null: Opcionális osztály
– Példák és gyakorlatok
17. lecke – MVC, webes API és kódgenerálás
– MVC (Model View Controller minta)
– Mi az a webes API
– HTTP igék
– JSON / XML
– Példák és gyakorlatok
18. lecke – Egységteszt és tiszta kód
– Tiszta kód
- Miért fontos a tiszta kód?
- Általános kódírási irányelvek
- SZÁRAZ elv
- Csók elve
- Yagni-elv
– Egységteszt
- xUnit
- nUnit
- Egységtesztek vs integrációs tesztek
- Gúnyos könyvtárak használata
- Leválasztott kód- és egységtesztek
19. lecke – Végső projekt
A résztvevők a tanfolyam elvégzése és az értékelő vizsga letétele után érettségi oklevelet kapnak.

