Junior Visual C# fejlesztő tanfolyam

  • Leírás
  • Időpontok
  • Tananyag
  • Tudnivalók
Egy átfogó képzést keresel, amely az alapoktól vezet végig egészen a Visual C#-ban történő szoftverfejlesztésig? Olyan tanfolyamra gondoltál, ahol nem csak a programnyelvet és a fejlesztés technikai hátterét sajátíthatod el, hanem megtanulsz „programozói fejjel”, logikai kapcsolatokban gondolkodni? Ahol nem kell keresgélve, különböző rész-tanfolyamokból összeállítanod a célodhoz vezető utat?
Pontosan erre alkottuk meg a Visual C# szoftverfejlesztő tanfolyamunkat!
A közhiedelemmel ellentétben a programozás tanulása nem csupán egy, vagy több programnyelv elsajátításából áll. Ahhoz, hogy jó programozó váljon belőled, át kell látnod a technológiai környezetetés értened kell a háttérben megbúvó logikai folyamatokat - ehhez pedig magát a gondolkodási módot is el kell sajátítanod.
Tanfolyamunkon modulokra (témakörökre) lebontva ötvöztük a szükséges elméleti háttérismeretet és gyakorlati bemutatást a Te gyakorlati munkáddal. Így a képzés végén egy olyan komplex szakmai tudás birtokában leszel, amellyel stabilan megállod helyed a munkaerő-piaconés amelyet akár az informatika és programozás egyéb területein is kamatoztathatsz.
2024-09-24 - 2025-08-26
Oktatási napok, időpontok
kedd, csütörtök
17:00 - 20:15


Időtartam
49 hét (368 óra)


Ár
790.000 Ft


Oktatás módja
Online
2024-09-28 - 2025-10-04
Oktatási napok, időpontok
szombat
09:00 - 16:00


Időtartam
54 hét (368 óra)


Ár
790.000 Ft


Oktatás módja
Online

Tanfolyamunkat modulárisan építettük fel, így a képzés végére egy komplex, önállóan használható szakmai tudásanyag birtokában leszel.

Infokommunikációs technológiák

Az első modul egy kis hardveres és szoftveres bemelegítés. Talán elsőre úgy tűnik, hogy a mai fejlesztési technológiák mellett egy szoftverfejlesztőnek ezekre nem lesz szüksége, de gondoljunk csak bele példaként: hosszú hónapok fejlesztése után mihez kezdünk, ha olyan erőforrásigényű programot hoztunk létre, amelyet alig lehet hardverrel kiszolgálni.

-          Számítógép hardveres felépítése

-          Az alapvető hardverek működése

-          Perifériák és azok kezelhetősége

-          Alapvető matematikai ismeretek

-          Matematikai logika

-          Operációs rendszer ismeretek

  • Windows operációs rendszer alapvető kezelése
  • Windows eszközeinek ismerete a szoftverfejlesztéshez kapcsolódóan (Eseménynapló, Időzítők, Teljesítmény mérők)
  • Linux operációs rendszer alapvető kezelése
  • Linux operációs rendszer ismerete a szoftverfejlesztéshez kapcsolódóan (Log-ok elérése, CRON időzítés, performance counter-ek)

-          Virtualizációs technológiák

  • Gépek virtualizációja
  • Programok és környezetek virtualizációja

Hálózati ismeretek

A hálózatok felhasználói szintű ismerete elengedhetetlen, hogy később hálózati alkalmazásokat, multiplayer játékokat, vagy akár megfelelően felépített weboldalakat tudjunk készíteni. Mindezt természetesen saját, szoftverfejlesztői szempontunkból is megvizsgáljuk.

-          Hálózatok alapjai

-          Hálózatok csoportosítása

  • Kiterjedés alapján
  • Topológia alapján
  • Kapcsolat típusa alapján

-          Hálózatok rétegződése

  • OSI (Open Systems Interconnection) modell megismerése
    • A 7 réteg áttekintése
    • A rétegek szerepe és a hálózat elméleti működése
    • A rendszer részletességéből adódó gyakorlati problémák
  • TCP/IP (Transaction Control Protocol / Internet Protocol) modell megismerése
    • A 4 réteg áttekintése
    • Az OSI rétegek átvezetése TCP/IP modellbe

-          Hálózati eszközök

  • Passzív hálózati eszközök
  • Aktív hálózati eszközök

-          Hálózatok egy szoftverfejlesztő szemével

  • Meddig érdekes a hálózat működése a szoftverfejlesztési oldalról
    • Mi az a Net socket és hogyan tudjuk alkalmazni később
  • Felhasználási módok és lehetőségek

Programozási alapismeretek

Itt már belecsapunk a programozás rejtelmeibe! Ebben a modulban megismerjük az alapvető fogalmakat, elemeket és tételeket, valamint elkezdjük ezeket „programozói szemszögből” vizsgálni. Ez a gondolkodásmód szükséges ahhoz, hogy később nagy méretű, összetett alkalmazásokat is minőségi szinten tudjunk készíteni.

-          Programozás történelme

-          Programnyelv generációk

-          Programnyelv fogalma, csoportosíthatósága

-          Programozás alapfogalmai

  • Adatok tárolása programban
  • Adatszerkezetek
    • Adatszerkezetek csoportosítása
  • Típusok
    • Típus fogalma
    • Programozási nyelvek típusossága
    • Alapvető adattípusok
  • Vezérlési szerkezetek
    • Elágazások
    • Ciklusok
  • Operátorok

-          Algoritmusok fogalma

-          Alapvető programozási tételek

  • Keresések
  • Rendezések
  • További problémák megoldása

-          Programozási technikák / paradigmák

  • A legalapvetőbb programozási paradigmák átnézése, tulajdonságaik, előnyeik, hátrányaik ismertetése.

SQL Alapok

Megismerjük az adatbázisokat, melyeket minden nagy szoftverrendszer használ az adatok tárolására, szűrésére. Az SQL alapok ismerete kulcsfontosságú későbbi alkalmazásaink kialakításához.

-          Adatbázisok történelme, fejlődése

  • Mik az adatbázisok
  • Fejlődésük
  • Felhasználásuk kulcspontjai

-          A különböző adatbázismotorok áttekintése, telepítési lehetőségeik, főbb felhasználási területeik

-          Relációs adatbázisok alapjai

  • Alapfogalmak
    • Inkonzisztencia
    • Redundancia
  • Elemek
    • Entitások
    • Attribútumok
    • Attribútumok tulajdonságai
  • Normalizálás
    • 1. normálforma
    • 2. normálforma
    • 3. normálforma
    • Boyce-Codd normálforma
  • ER (Entity-Relationship) diagram
    • Létrehozása, értelmezése, szabályai
  • Gyakorlati megvalósítás
    • Adatbázisok
    • Táblák
    • Rekordok
    • Kapcsolatok

-          Az SQL nyelv alapjai

  • Kifejlődése, fontossága
  • Részegységei
    • DDL (Data Definition Language)
    • DML (Data Manipulation Language)
    • DQL (Data Query Language)
    • DCL (Data Control Language)
  • DDL nyelv részei
    • Az adatbázis szerkezeti felépítése
    • Adatbázis, tábla, nézettábla, esemény indítók létrehozása (CREATE)
    • Adatbázis, tábla, nézettábla, esemény indítók módosítása (ALTER)
    • Adatbázis, tábla, nézettábla, esemény indítók törlése (DROP)
  • DML nyelv részei
    • Az adatbázis adatainak kezelése
    • Adatok beszúrása (INSERT)
    • Adatok módosítása (UPDATE)
    • Adatok törlése (DELETE)
  • DQL nyelv részei
    • Az adatbázis adatainak kiolvasása, megjelenítése
    • Adatbázis szerkezetének megtekintése (SHOW)
    • Adatok lekérdezése táblából, nézettáblából (SELECT)
  • DCL nyelv
    • Az adatbázis jogok kiosztása
    • Adatbázis jogok biztosítása (GRANT)
    • Adatbázis jogok megtagadása (REWOKE)

-          Komplexebb lekérdezések

  • Egybeágyazott lekérdezések
  • Több táblás lekérdezések (JOIN)

-          Betekintés a tranzakciós adatbázisok működésébe

  • Tranzakció lényege, működése
  • ACID elvek
  • TCL (Transaction Control Language) nyelv részei
    • Különböző adatbáziskezelők tranzakciókezelésének áttekintése

Szoftverfejlesztés Visual C# alapokon

Elérkeztünk a tanfolyam csúcspontjához: elmerülünk a szoftverfejlesztésben, valamint mélyebben megismerkedünk elsődleges referencianyelvünkkel, a C#-pal! A modul végére már használjuk újonnan kialakult gondolkodásmódunkat és a korábbi modulok segítségével komolyabb alkalmazásokat is képesek leszünk lefejleszteni.

-          .NET keretrendszer alapjai / Keretrendszer alapú nyelvek

-          A C alapú nyelvek operátorainak megismerése

  • rövidítési lehetőségek

-          Visual C# primitív típusai

-          Adattárolás Visual C#-ban

-          Kommentezési lehetőségek és fontossága

-          Típus konverziók

-          Visual Studio megimserése

  • Alapvető felhasználási lehetőségei
  • Felépítési alapjai
  • Solution és Project fogalma

-          Vezérlési szerkezetek Visual C#-ban

  • Elágazások
  • Ciklusok

-          Procedurális programozás alapjai

  • Alprogramok működése – vezérlésátadás és visszaadás, paraméterezés oda-vissza
  • Alprogramok formája Visual C#-ban
  • A funkció és a metódus közti különbségek
  • Rekurzió
    • Megvalósítása
    • Felhasználási lehetőségei

-          A struktúra megismerése

  • Alapvető felépítése
  • Célja, felhasználása

-          Szöveges fájlkezelés

  • Plain Text állományok kezelése
  • Különböző műveletek megvalósítása
  • Erőforrás felszabadítás lényege
  • Kiíratás szabályai, veszélyei

-          Szövegfüggvények

  • A Visual C#-ban lévő alapvető szövegkezelő és manipuláló függvények átnézése

-          CSV fájl kezelése

-          Állományok kezelése

  • Fájl és mappa műveletek megvalósítása
  • Fájlokra vonatkozó műveletek és fájlokról lekérdezhető adatok
  • Mappákra vonatkozó műveletek és lekérdezhető adatok

-          Objektum-Orientált Programozás

  • A paradigma alapvetései, céljai
  • Alapvető elemek:
    • Osztály
    • Objektum
    • Névtér
  • Az OOP alapvető 6 kritérium eleme (elmélet):
    • Absztrakció
    • Egységbezárás
    • Adatrejtés
    • Öröklés
    • Polimorfizmus
    • Kód újrafelhasználhatóság
  • Valósvilág modell
    • Felderítés
    • Absztrakció
    • Implementáció
    • Példányosítás

-          Az OOP Visual C#-ban

  • A Visual C# mint OO nyelv
  • Osztály létrehozásának formája
  • Láthatósági szintek
  • Osztályok alapvető szerkezete:
    • Változó (Field) deklarációk
    • Tulajdonságok
    • Konstruktor, [Destruktor]
      • A Konstruktor Lényege, alapvető feladata, szerkezete, létrehozása
      • A Destruktor alapvető célja, feladata, miért nincs rá szükség C#-ban a legtöbb esetben
        • Összehasonlítás a Garbage Collector-ral
        • Metódusok, Funkciók
          • Logikai csoportosítás lényege
  • Statikusság
    • Statikus osztály
    • Statikus elemek
  • Enum
    • Az Enum alapjai
    • Felhasználása, háttértípusa
  • Típuskikényszerítés
    • Gyenge kikényszerítés
    • Erős kikényszerítés
    • Ellenőrzések
    • String konverziók

-          A Visual C# alapvető grafikus felületeinek áttekintése (elmélet)

  • Windows Forms
  • WPF
  • UWP
    • XAMARIN

-          A Windows Forms App megismerése

  • Eseményvezérlés áttekintése
  • Vezérlők áttekintése
  • Vezérlők paramétereinek áttekintése
  • Több ablakos megoldások
    • Modális és nem modális ablakhívások
  • Dinamikus komponensek
    • Futásidőben létrehozott komponensek felhasználása
  • Időzítés
    • A Timer-ek típusai C#-ban

-          Haladó programozás Visual C#-ban

  • Alprogramok paramétermódosítói
  • Opcionális paraméterek
  • Alprogram túltöltés
  • Speciális adatszerkezetek
  • Típus kibővítések
    • Az Extension-ök működése, felhasználása

-          Haladó OO programozás 1. rész

  • Öröklődések és hierarchiák
    • Alapvető megvalósítás
    • A paraméteres konstruktorok szabályai
  • Alprogram felülbírásálok
    • Virtual-Override
    • Alprogram eltakarás, new alprogram
    • Összehasonlítás
  • Absztrakt osztály
    • Alapvető feladata, felépítése, szabályai
    • Abstract alprogramok létrehozása
  • Interface
    • Az interface-ek létjogosultsága
      • Az egy ősű OO hierarchia hiányosságai
      • Alapvető felépítése
      • Kialakításának szabályai
      • Az absztrakt osztály ás az interface közti különbségek és hasonlóságok
      • A Visual C# beépített alapvető interface-ei
  • Sealed osztályok és metódusok
    • Lényegük, kialakításuk

-          A S.O.L.I.D. szabályainak áttekintése, megértése, reprezentálása

-          Kivételkezelés

  • A kezelés
    • Szabályok, szerkezeti felépítés
    • Újítások Visual C# 6.0-tól
  • A dobás
    • Lényege, feladata
  • Saját kivétel dobása
    • Lényege, feladata

-          Haladó OO programozás 2. rész

  • Delegáltak
    • Single és Multicast delegáltak
  • Saját események
    • Események kialakításának feladata
      • Események interface-ekkel
      • Események delegáltakkal
      • Események szabályai
  • DLL (Dynamic Link Library) létrehozása
    • DLL-ek lényege, felhasználása
  • GDI (Graphics Device Interface) felhasználása
    • A GDI alapvető eszközei

-          Generikusság

  • Generikus típusok
    • Generikus megvalósítás alkalmazása
    • Generikus típusok kötései
  • Generikus alprogramok
    • Felhasználási területek

-          Reflekció bevezetése

  • Mi az a reflekció, hol tudjuk alkalmazni
  • Alapvető reflekciós megoldások

-          Adatbáziskezelés programból elmélete

-          Az OO és Relációs modellek illeszthetősége

-          Visual C# saját adatbáziskezelési lehetőségei

  • Adatbázis szerinti csoportosítás
    • MSSQL
      • Lokális (Service-Based)
      • Szerver
      • MySQL – külső lib használata
  • Programozási oldal szerint
    • Natív SQL-es vezérlés (OO Wrapper)
      • Helyes kiépítés logikája
        • Az OO logika és relációs logika kapcsolata
        • Prioritások a programtervezés és az adatbázistervezés szempontjából.
        • Felépítés logikája és alapvetések
          • Connection string helyes beolvasása
          • Megfelelő elhelyezés
          • DataSet-ek és azok alkalmazása
            • Előnyök és hátrányok elemzése
  • Adatok reprezentációja Windows Forms-al
    • DataGridView
    • ListView
    • Reflekció alkalmazása a feltöltésre adattípusból

-          A Lambda kifejezések szerkezete

  • Anonymous függvények alkalmazása

-          A LINQ alapjai

  • LINQ to Objects
  • LINQ to XML
    • Az XML leírónyelv alapjai, szerkezete
    • Objektum szerializáció és deszerializáció XML-lel
  • LINQ to Entities
    • Az adatábziskezelés formája LINQ-val
    • Előnyei és hátrányai

-          JSON feldolgozása és létrehozása programból

  • JSON felhasználásának előnyei, szükségessége
  • A JSON.NET alkalmazása
  • A JSON leírónyelv megismerése
  • Összehasonlítás az XML leírónyelvvel

-          Többszálú alkalmazások fejlesztése

  • A többszálúsítás felhasználása
  • Feladatok többszálúsításának hatékonysági számítása
  • Többszálú alkalmazások kialakításának lehetőségei
  • Thread, ThreadPool, Task, stb.
  • PLINQ (Parallel Language Intergrated Query) felhasználása
  • Összehasonlítás a szekvenciális LINQ működésével.

-          Hálózati erőforrások elérése, használata programból.

  • TCP és UDP alapú hálózati kommunikáció
  • A HTTP protokoll használata (WebClient, HTTPRequest, HTTPListener, stb.)
  • Az alkalmazásréteg egyéb protokolljainak használata:
    • FTP kliens
    • SMTP kliens

Szoftvertechnológia

Ebben a modulban tekintjük át, hogyan is néz ki egy szoftverprojekt, miért kell tervezni a szoftvereket és miért fontosak a logikai összefüggések. Megismerjük, milyen módszertanok és modellek állnak rendelkezésünkre ehhez, megtanuljuk modellezni a folyamatokat.

-          Bevezetés

-          Történelmi visszatekintés – miért fontos a szoftverek tervezése

  • Szoftverkrízis és annak kialakulásának oka
  • A krízis hatásai

-          Szoftverprojekt elemei

  • Analízis – követelményfeltárás
  • Tervezés
  • Fejlesztés
  • Tesztelés
  • Követés

-          Szoftverprojekt költségei

  • Egy szoftverprojekt általános költségvetése

-          Szoftver, mint termék előállítása

  • Általános alapelvek

-          Projekt modellezési alapok / technikák

  • Modellek felépítése, modellek alapvetései
  • Alapvető modellek:
    • Vízesés (Waterfall)
    • Evolúciós (Evolutional)
    • Formális (Formal)
  • Iterációs modellek
    • A szoftverprojekt mint körfolyamat
    • Inkrementális fejélesztés (Incremental development)
      • Alapvető megállapításai, szabályai
      • Gyakorlati megvalósítások
        • RAD (Rapid Application Development)
        • Agilis szoftverfejlesztés (Agile development)
          • SCRUM, XP, AM stb.
          • Spirális fejlesztés
            • Alapvető megállapításai, szabályai
            • Gyakorlati megvalósítások
              • Boehm spirál

-          Tervezés általános elvei

  • A tervezéshez használt szabályok, mérőszámok

-          Tervezés eszközei

  • Tervezési alapok és kategóriák
    • Adatszerkezet orientált tervezés
    • Adatfolyam orientált tervezés
    • Objektum-orientált tervezés
    • Általános tervezés
  • UML (Unified Modelling Language)
    • Tulajdonságok, előnyök, hátrányok
    • Felhasználási területek
    • Főbb diagramok felépítése és feladata
      • Struktúrát modellező diagramok (UML Structural)
        • Csomag diagram (Package diagram)
        • Osztály diagram (Class diagram)
        • Objektum diagram (Object diagram)
        • Komponens diagram (Component diagram)
        • Telepítési diagram (Deployment diagram)
        • Viselkedést modellező diagramok (UML Behavioral)
          • Használatieset diagram (Use Case diagram)
          • Állapotgép diagram (State Machine diagram)
          • Szekvencia diagram (Sequence diagram)
          • Aktivitás diagram (Activity diagram)
          • Időzítés diagram (Timing diagram)

-          Sparx Systems - Enterprise Architect használata

  • Az Enterprise Architect általános megismerése
    • Felépítés és nézet
    • Működés
    • Licence-elés
  • Projektek indítása
    • Absztrakciós nézetek használata
    • Diagramok absztrakciós szintekhez rendelése
    • Diagramok készítésének gyakorlata

-          Szoftverdokumentáció

  • A tervezet dokumentációba öntése
  • Dokumentációk típusai:
    • Felhasználói dokumentáció
    • Fejlesztői dokumentáció
  • Dokumentáció automatizált létrehozása
  • Szoftver csontvázának automatikus generálási lehetősége

-          Reverse engineering

  • Fordított kódfeldolgozás lehetősége – „ha mégsem minden a tervek szerint ment”

Verziókezelő és projektvezető eszközök

Manapság már hatalmas szoftverek készülnek, melyeket hosszú időn keresztül, csapatmunkában fejlesztenek. Megtanuljuk, melyek azok az eszközök, amik segítenek koordinálni ezeket a munkafolyamatokat - akár rövidebb, akár hosszabb munkaidő-távlatokban is.

-          Verziókezelés lényege, alapjai

-          Verziókezelő rendszerek típusai, működése

-          A Git verziókezelő megismerése

  • Felépítése
  • Parancssoros vezérlése (Git Bash)
  • lehetséges GUI kiegészítések (pl.: Git GUI stb.)
  • Beépülő modulok IDE-khez (pl.: Visual Studio Git Extension stb.)

-          Git alapú verziókezelő rendszerek és szerverek megismerése

  • GitHub
    • Felhasználása, működése
  • Atlassian Bitbucket
    • Felhasználása, működése

-          SVN megismerése, rövid betekintés

-          Projektkezelés lényege

-          A verziókezelés és projektvezetés különbségei és közös pontjai

  • Meddig elég a verziókezelés és mikortól kell projektkezelés?

-          Microsoft TFS (Team Foundation Services)

  • A projekt és csapatmenedzsment kulcspontjai TFS-ben
  • A rendszer alapvető konfigurálása
  • A TFS Git alapú működésének teljes átnézése

-          Atlassian JIRA

  • Az ügy és projektmenedzsment JIRA-ban
  • A rendszer alapvető konfigurálása és használata

Szoftvertesztelés

A fejlesztési folyamat egyik legfontosabb része, hiszen ha a szoftverünk fut, még közel sem biztos, hogy jól csinálja a dolgát. Olyan eszközöket ismerünk meg, melyek segítségével képesek leszünk kiszűrni a lehető legtöbb anomáliát, a lehető legegyszerűbb módokon - manuálisan és tesztelőprogramokkal is.

-          Tesztelési alapfogalmak

  • A tesztelés meghatározása
  • A tesztelés szükségessége
  • A tesztelés előnyei és céljai
  • A tesztelés alapelvei
  • Teszttevékenységek
  • A hiba fogalma
  • A hiba típusai

-          Szoftvertesztelés és szoftverfejlesztés kapcsolata

  • Tesztelés a fejlesztés folyamatában
  • Tesztszintek
  • Teszttípusok

-          Tesztelői szerepkörök és menedzsment

  • Tesztelő
  • Tesztmenedzser
  • Tesztmenedzsment
  • Tesztterv és tesztstratégia

-          Teszttechnikák I. (elmélet)

  • Statikus technikák
  • Dinamikus technikák
    • Feketedoboz technikák
    • Fehérdoboz technikák
    • Tapasztalat alapú technikák

-          Teszttechnikák II. (gyakorlat)

  • Példák
  • Feladatok
  • Esettanulmányok

-          Tesztautomatizálás

  • Előnyök, hátrányok, alapelvek
  • Manuális és automata tesztelés összehasonlítása
  • Teszteszközök használata
    • Atlassian JIRA
    • Selenium IDE

    A tanfolyam adatai:
    Nyilvántartásba vételi száma: -
    Tanfolyam díja: 790.000 Ft
    Tanfolyam vizsgadíja: 0 Ft
    Tanfolyam óraszáma: 368 óra
    Tanfolyam végét igazoló dokumentum: Tanúsítvány
    Tanfolyam helyszíne: 1139 Budapest, Frangepán utca 3.

    A tanfolyam megkezdésének feltételei:
    Iskolai végzettség: nem feltétel
    Szakmai végzettség: nem feltétel
    Szükséges előismeretek: -

    A képzést a RUANDER Oktatóközpont szervezi. Ha részletesebb tájékozatást szeretnél, kérünk keresd fel a weboldalunkat a részletek gombra kattintva.