1. Számítástechnikai alapismeretek

1.1 Bevezetés az számítástechnikába

  • Informatikai alapfogalmak (jel, adat, információ)
  • Informatikai eszközök működésük és jellemzőik
  • Az informatika története
  • Az informatika területei
  • Számítási problémák és feladatok

1.2. Operációs rendszerek

  • Operációs rendszer alapvető feladatai, tulajdonságai, típusai, felületei.
  • Számítógép kezelése az operációs rendszer grafikus interfészével.
  • Fájlrendszerek, prartíciók, alrendszerek.
  • Processzusok, fonalak, erőforrások, ütemezés.
  • Shell, kapcsolók, paraméterek, környezeti változók.
  • Konzol alkalmazások, ssh, ftp, ...
  • Shell parancsok
    • fájl és könyvtárstruktúra és kezelése (cd, ls, mkdir, rm, chmod, chown, ...)
    • processek és kezelésük (&, ps, top, kill, )
    • jogosultságkezelés, felhasználók kezelése
    • linkek, környezeti változók, szűrük
    • ssh, ftp
  • Shell Scripting

1.3. Felhasználói adatfájlok

  • Szövegfájlok, karakterkódolás (ASCII, ISO-8859-2, UTF-8).
  • Formázott szöveg (Markdown, KaTeX, HTML, ...)
  • Dokumentumkészítés ( Markdown, LaTex, ... )
  • Prezentációkészítés ( reveal.js )
  • Képformátumok ( pixeles és vektor-grafikus képek )
  • Hang digitalizálása, hangformátumok
  • Video formátumok + multi formátumok

1.4. Informatikai alkalmazások

  • Program futtatása, grafikus ablak felépítése, felhasználói intefész elemei, kezelésük
  • Internetes alkalmazások:
    • hírportálok
    • felhő alapú szolgáltatások
    • közösségi médiák, profilok, álprofilok
    • elektronikus banki és ügyfélkapcsolati szolgáltatások
    • digitális térképek és alkalmazásai
  • Számítógépes játékok:
    • Keretrendszerek (Steam, EPIC, Battle.net, ...)
    • Arcade játékok: Pacman, Super Mario, ...
    • Stratégiai játékok (StarCraft, Sims, Age of...)
    • FPS (UT, CS:GO, Fortnite, ...)
    • Racing (F1, NFS, ...)
    • Saját játékok és digitális tartalom fejlesztése (Unreal Engine, Unity, ...)
  • Virtuális valóság és alkalmazásai.
  • Csoportunka szoftverek
    • Felhő-alkalmazások, felhő-szolgáltatások
    • Verziókezelők ( GitHub, GitLab, ... )
    • Collaboration Hubs ( SLACK, ... )
  • Kódszerkesztő programok (Visual Studio Code, Coda, ...)
    • programozási környezet kialakítása, lint, beautify
    • editor kezelése és pluginjai,
    • CodeSandbox (codesandbox.io)

1.5. Hálózati alapismeretek

  • hálózati struktúrák
  • hálózati eszközök
  • kliens-szerver architektúra
  • peer-to-peer hálózatok
  • az internet felépítése működése
    • protokollok (http, ftp, tcp/ip, pop3/imap/smtp)
    • címzések (ip-cím, dns)
    • szerver típusok (tűzfal, proxy, NAT, DHCP)
    • hálózati eszközök (router, switch, ...)

1.6. Digitális tartalmak létrehozása

  • Szövegszerkesztés célszoftverrel
  • Tábázatkezelés célszoftverrel
  • Diagramtípusok, grafikonok készítése
  • Animáció-készítés célszoftverrel
  • Prezentáció-készítés célszoftverrel
  • Képszerkesztés, grafikai programok használata
  • Zene-szerkesztés célszoftverrel
  • Film-vágás célszoftverrel
  • Interaktív tartalmak létrehozása célszoftverekkel

1.7. Vizuális programozás

( Scratch, Lego Mindstorm, Unity, Unreal Engine, ... )

  • Az első programunk.
  • Objektum fogalma, jellemzők, adatok, metódusok.
  • Események kezelése, interfészek.
  • Kommunikáció az objektumok között.
  • Komplex példaprogram.

1.8. A számítógép működése

  • Számítógép felépítése, Neumann elvek.
  • Hardver elemek és funkcióik
    • CPU
    • ALU
    • regiszterek
    • Memória
    • Címbusz
    • Adatbusz
    • Vezérlőbusz
  • Program elhelyezkedése a memóriában, program (gépi kód) futása, alapvető gépi utasítások, verem memória.
  • Alapvető vezérlési szerkezetek (szekvencia, szelekció, iteráció, alprogram-hívás, rekurzió).
  • Programozási nyelvek áttekintése (JS, Python, Java, C++).
  • Operációs rendszer szerepe a programok futtatásában.
  • Programok felépítése, felhasználói interfészek típusai.
  • A böngésző kezelése, fejlesztői eszközök, bővítmények.

1.9 Információs társadalom

  • informatikai biztonság
  • adatvédelmi irányelvek
  • szerzői joggal kapcsolatos alapfogalmak
  • kommunikációs illemszabályok
  • az információ és az informatika
    • gazdaságra,
    • környezetre,
    • kultúrára,
    • személyiségre,
    • egészségre gyakorolt hatása.

2. Web alapismeretek

2.1. HTML

  • HTML objektumok (div, br, hr, ...)
  • jellemzők (id, class, ...)
  • szelektorok
  • fejléc
  • felsorolás
  • táblázatok
  • hivatkozások
  • képek beillesztése
  • SVG
  • Szintaxis diagramok
  • HTML űrlapok
  • HTML események (egér, billentyűzet, ...)
  • DOM

2.2. CSS

  • szintaxis
  • színek
  • doboz modell
  • szegélyek
  • szövegformázás
  • igazítás
  • színek
  • ikonok
  • grid
  • animáció
  • külső ikon- és fontkészletek
    • Feather
    • Font Awesome
    • Google
    • Ionicons
  • scss, less

2.3 Statikus tartalmak hostingja

  • GitHub Hosting
  • Google analitics

3. JavaScript ( ECMAScript )

3.1. Javascript futtatása

  • node konzol
  • .js file futtatása (node index.js): console.log
  • a böngészőben: document objektum
    • write,
    • getElementById,
    • querySelector,
    • querySelectorAll,
    • title,
    • oncontextmenu

3.2. JavaScript (ES9) és python (3.7)

3.2.1. Szintaxis (javascript és python)

  • Blokkok és tabulálás
  • Változók, utasítások, kifejezések, kommentek, változók. Operátorok és precedencia.

3.2.2. Típusok (sok gyakorlással és pédával node és böngészős futtatás is)

  • JavaScript primitívek.
  • Python primitívek
  • Függvények, paraméterek, függvény paraméter, objektum paraméter.
  • Objektumok, jellemzők, metódusok.
  • Stringek, számok és tömbök mint objektumok: mezők, jellemzők, metódusok.
  • Osztályok (class, new, constructor, this, ...).
  • Consol objektum, ui.

3.2.3. Rekurzió

  • a rekurzió működési mechanizmusa, a verem
  • példák rekurzióra: faktoriális, fibonacci sorozat, hanoi tornyai
  • rekurzióval megoldható további feladatok (6.3)

3.2.4. Standard built-in objekutumok

  • Array
    • fill, map, join, forEach, find, filter, sort, reverse,
    • pop, push, shift, unshift, reduce, slice, splice, includes
  • String
    • template, literals
    • slice, split, toLocaleLowerCase, toLocaleUpperCase,
    • search, localeCompare, repeat, includes, replace
  • Set
  • Map
  • Date
  • JSON
  • Math
  • RegExp
  • Buffer

3.2.5. Vezérlési szerkezetek

  • { ... }
  • if ... else
  • for
  • for ... in
  • for ... of
  • do ... while
  • while
  • switch
  • brake
  • continue
  • try ... catch, throw

3.2.6. JS-Python és HTML kapcsolata

  • JS Stringkezelés a gyakorlatban
  • HTML generálás JS segítségével
  • SVG generálás JS segítségével

3.2.7. Callback függvények (JS)

  • Callback függvény. Promise objektum. Async Functions.
  • Párhuzamos programozás, Worker

3.3. Böngésző funkciók

  • HTML DOM elérése JS-ből
  • HTML APIs (Geolocation, Drag&Drop, Local Storage, Web Workers, SSE )
  • Böngésző local tárolók (Session Storage, IndexedDB, Web SQL, Cookies).

3.4. Vue.js

  • Hello World!
  • Feltételek és iterátorok, események, komponensek
  • Adatok, Metódusok
  • Életciklus, életciklus-diagram
  • Template szintaxis
  • Dinamukus argumentek
  • Számított jellemzők, setter és getter
  • v-if szintaxis
  • v-for szintaxis, :key
  • Vue.set, ForceUpdate
  • Eseménykezelés, módosítók
  • Form-input hozzárendelés, refs
  • Komponensek, props
  • Slot
  • Single File Components
  • Routing

4. Node.js

4.1. Node.js alapok

  • nodejs telepítése
  • command line interface
  • js fájl futtatása
  • online felületek (runkit, repl.it, codesandbox.io...)

4.2. Globals

  • console ( log, time, table, ... )
  • Internationalization
  • eseményvezérelt programozás, events, EventEmitter
  • __dirname, __filename, TextDecoder, util, stream
  • process ( argv, execPath, chdir, env, exit, getid, stdout, ... )
  • process.stdin.on( 'data', callback ), .setRawMode( true )
  • readline
  • setImmediate, setInterval, setTimeout
  • Worker Threads, cluster, Child Processes *
  • File System
  • HTTP

4.3. JS könyvtárak és Node.js modulok

  • module.exports
  • require
  • import ( mjs mudules )
  • npm
    • install
    • semantic versioning (major, minor, patch)
    • publish
  • nodemon

4.4. Fejlesztés közbeni feladatok

  • Debugolás
  • Logolás
  • Hibakezelés ( Jest, Nightwatch.js )
  • Hibakeresés
  • Tesztelés ( Mocha )
  • Automatikus tesztelés
  • Dokumentáció generálás ( JSDoc, ... )

4.5. Node Fejlesztői környezetek

  • Webpack
  • Grunt

4.6. MVC Frameworks ( Koa, Express, Adonis, Basys, Nuxt, ... )

  • 'Hello world' app
  • serving static files
  • routing (get, post, put, del, all, ...)
  • Middleware, params
  • koa-body, kcors
  • cookies, session variables
  • hibakezelés
  • adatbázis-integráció
  • template engines (edge, swig, vue-server-renderer, ejs, ...)

4.7. Egyéb modulok és kezelésük

  • Vue-CLI module
  • Vue-CLI konfiguráció (vue.config.js, baseUrl, publicPath, outputDir, crossorigin)
  • Vizualizációs könyvtárak (Chart.js, Vis, ...)
  • Hasonlósági mértékek (damerau-levenshtein, fuzzy-matching, string-similarity)
  • Titkosítás, digitális aláírás (crypto-js, bigint-crypto-utils, ...)
  • Egyéb node package-k és alkalmazásuk

4.8. Tartalomkezelő rendszerek

  • Ghost, KeystoneJS, ApostropheCMS, Strapi, Siberian CMS
  • Install CMS
  • Run CMS
  • Configure and management
  • Deploy

4.9. Webszerverek üzemeltetési kérdései

  • Forever, PM2. Statikus webszerverek, Serve static files. http-server, VuePress.

5. Adatbáziskezelés

5.1. Áttekintés

  • Kapcsolódás NoSQL és SQL adatbázisokhoz (NeDB, MongoDB, SQLite, MySQL, PostgreSQL...).

5.2 NoSQL adatbázisok speciális kérdései

  • Kulcs-érték adatbázisok
  • Gráf adatbázisok
  • Dokumentumtárolók (NeDB, MongoDB, ...)
  • Objektum-adatbázisok

6. WEB API-k

6.1 OAuth 2.0

6.2 Google API-k

6.3. Egyéb API-k

7. Full-stack alkalmazásfejlesztés

  • Webes alkalmazások felépítése, működési elve, kliens és szerver oldal, RESTful API-k, axios.
  • Vue UI-k ( Bootstrap-VUE, Semantic, Vuetify, ... ), VUEX, Vue Router.
  • Vue Material Dashboard.
  • Google API-k az alkalmazásfejlesztésben
    • autentikáció folyamata (vue-google-oauth2)
    • Google analitics (vue-analitics)
  • Cloud platormok ( HEROKU, Firebase, ... ).
  • Komplex skálázható webes rendszerek, webes kommunikációs interfészek ( ws, sse ).
  • Esemény-alapú kliens-szerver kommunikáció (socket.io).
  • Platformfüggetlen alkalmazásfejlesztés (NW.js, ElectronJS, Cordova, ...).
  • Mobil alkalmazások fejlesztése: accelerometer, GPS, kamera, ... ( NativeScript, ... ).
  • Server side rendering, ( koa-vue-ssr, express-vue, ... ).
  • Starter kitek.
  • Full stack web frameworks ( Basys, NUXT, Quasar ).
  • Webes IOT és beágyazott rendszerek programozása, RPI-GPIO.

RapidAPI (opens new window)

8. Algoritmizálás

(Informatikatanár szak)

8.1 Alapfogalmak, algoritmusok elemei

  • Változó fogalma, adattípusok.
  • Statikus és dinamikus memóriakezelés
  • Elemi utasítások, a gépi kód működése. Szekvencia, ugrás, feltételes ugrás, szubrutin hívása.
  • Algoritmusok elemei magas szintű programozási nyelvekben:
    • szekvencia,
    • szelekció,
    • iteráció,
    • rekurzió.
  • A tömb fogalma és kezelése.
  • Algoritmusok jellemzői, a futási idő és tárigény fogalma. Elemi kereső és rendező algoritmusok:
    • beszúró- és buborék rendezés, lineáris- és logaritmikus keresés
    • külső és helyben rendezések
    • függvények növekedési üteme, jelölések
    • rendezések futási idejének elemzése, rendezések típusai.
  • A függvény fogalma, függvényhívás formái, bemeneti paraméterek, visszatérési érték és funkciói.

8.2 Alapvető adatszerkezetek, algortimusok tulajdonságai

  • A verem és sor adatszerkezet és működése, a verem jelentősége a függvényhívások folyamán.
  • Rekurzió működése az informatikában, rekurzióval megoldható feladatok.
  • Kupacrendezés, gyorsrendezés, vödrös és radix rendezés, időigény elemzése.
  • Rendező algoritmusok futási idejének elemzése.
  • Struktúra és Osztály típus. Láncolt listák és megvalósításuk.
  • Elemi és absztrakt adatszerkezetek, az interfész funkciója:
    • verem, sor
    • bináris kupac, prioritási sor, binomiális kupac és alkalmazásai
    • halmaz és függvény absztrakt adatszerkezet (Map, Set)
    • bináris keresőfák, önszervező keresőfák (Splay, AVL, 2-3, B, Piros-fekete)
    • hasítótáblák, ugrólisták
  • Amortizációs költségelemzés.
  • Kettős adatszerkezetek.

8.3 Nevezetes informatikai problémák és algoritmusok

  • Mintaillesztés: automatával, Knuth-Morris-Pratt algoritmus.
  • Hátizsák feladat, tükörszó probléma.
  • Eseménytér fogalma, dinamikus programozás, mohó stratégia.
  • Optimális pénzváltás, hátizsák probléma, türedékes hátizsák probléma
  • Csoportkép optimális időpontjainak meghatározása feladat.
  • Hemming-távolság, Damerau–Levenshtein-távolság, Wagner–Fischer algoritmus.
  • Számelméleti algoritmusok, nyilvános kulcsú tikosítás, RSA algoritmus.
  • Gráf absztrakt adattípus, gráf tárolási módok, számított gráf fogalma és példák.
  • Gráf-algoritmusok (gráf bejárás, Floyd-Warshall, PageRank algoritmus).
  • Dijkstra- és A* algoritmus.
  • Speciális gráfok, páros gráfok és párosítási problémák. Magyar módszer.
  • Kruskal-algoritmus, halmazerdő adatszerkezet. Prím-algoritmus.
  • Ajánlórendszerek. Számítási bonyolultság fogalma, Turing-gép, bonyolultsági osztályok.
  • Gráfok tulajdonságai, gráf alapú adatbányászati módszerek. Adattudomány.
  • A mesterséges intelligencia alapfogalmai.
  • Visszalépéses keresés, alfa-béta vágás, gráfjátékok.
  • Approximációs algoritmusok, utazóügynök probléma és időbonyolultsága, approximációs megoldások.
  • Tanuló algoritmusok, genetikus algoritmusok.
  • Neurális hálózatok, gépi tanulás. Tensorflow.
  • Véletlenített algoritmusok.
  • Online problémák és online algoritmusok:
    • átlagos eset elemzés, versenyképességi elemzés
    • online algoritmusok empírikus vizsgálata
    • online klaszterezezési és ütemezési feladatok
    • online nyugtázás, ládapakolás, k-szerver probléma
    • véletlenített online algoritmusok
    • online tanuló algoritmusok

Külső hivatkozások

Utoljára frissítve: 10/21/2021, 10:23:13 PM