Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Informatika 2

    A tantárgy angol neve: Informatics 2

    Adatlap utolsó módosítása: 2017. július 3.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    Villamosmérnöki szak BSc képzés
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIAUAB01 4 3/0/1/v 5  
    3. A tantárgyfelelős személy és tanszék Dr. Vajk István, Automatizálási és Alkalmazott Informatikai Tanszék
    A tantárgy tanszéki weboldala https://www.aut.bme.hu/Course/VIAUAB01
    4. A tantárgy előadója

    Dr. Vajk István

    egyetemi tanár

    Automatizálási és Alkalmazott Informatikai

    Dr. Asztalos Márk

    egyetemi docens

    Automatizálási és Alkalmazott Informatikai

    5. A tantárgy az alábbi témakörök ismeretére épít Nincs
    6. Előtanulmányi rend
    Kötelező:
    (TargyEredmeny( "BMEVIAUAA00" , "jegy" , _ ) >= 2
    VAGY TargyEredmeny( "BMEVIAUA116" , "jegy" , _ ) >= 2
    VAGY
    (TárgyEredmény("BMEVIAUAA00", "FELVETEL", AktualisFelev()) > 0
    ÉS (StudentTraining.Startingdate < Datum(2014, 8, 20)
    VAGY EgyenCsoportTagja("VILL régi tanterv")) ) )


    ÉS NEM ( TárgyEredmény( "BMEVIAUA203" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIAUA203", "FELVETEL", AktualisFelev()) > 0)

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    Ajánlott:

    (TargyEredmeny( "BMEVIAUAA00" , "jegy" , _ ) >= 2
    VAGY TargyEredmeny( "
    BMEVIAUA116" , "jegy" , _ ) >= 2 
    VAGY
    (TárgyEredmény("
    BMEVIAUAA00", "FELVETEL", AktualisFelev()) > 0 
    ÉS (StudentTraining.Startingdate < Datum(2014, 8, 20) 
    VAGY EgyenCsoportTagja("VILL régi tanterv")) ) )

    ÉS NEM ( TárgyEredmény( "
    BMEVIAUA203" , "jegy" , _ ) >= 2 
    VAGY 
    TárgyEredmény("
    BMEVIAUA203", "FELVETEL", AktualisFelev()) > 0)

    7. A tantárgy célkitűzése

    A tantárgy elsődleges célja az Internet és a webes alkalmazások működéséhez szükséges alapvető módszerek bemutatása. Az információ tárolásának egyik alapvető módszere a relációs adatbázisok használata, ezért cél, hogy a hallgatók megismerjék ezek működésének alapjait és az SQL programozási nyelvet. Az Internet működéséhez a számítógépes hálózatok felépítését, a TCP/IP protokollrétegek ismerete szükséges. Végezetül az elosztott rendszerek és protokollok fejlesztéséhez, leírásához szükséges a webes környezetben használt nyelvek (pl. HTML, szerveroldali programozási nyelvek – pl. PHP) és formális módszerek (pl. reguláris kifejezések) ismerete.


    8. A tantárgy részletes tematikája

    Előadás

    1.     Számítógép-hálózatok

    Alapfogalmak bemutatása: számítógépes hálózat, Internet, protokoll fogalma, az Internet protokollrétegei (TCP/IP), hálózatok felépítése, csomag és vonalkapcsolás, elosztott alkalmazás, szolgáltatásmodellek.

    Az Internet protokoll rétegeinek bemutatása:

    ·       Alkalmazási réteg: elosztott alkalmazások protokolljai, fontosabb alkalmazási rétegbeli protokollok működése (HTTP, Elektronikus levelezés, DNS).

    ·       Kapcsolata az alkalmazási és a szállítási rétegek között: alapszintű kliens és szerveroldali socket programozás.

    ·       Szállítási réteg: szolgáltatásmodell, nyalábolás/nyalábbontás, UDP működése, TCP működése (kapcsolatfelépítés és bontás, megbízható adatátvitel, forgalomszabályozás, torlódáskezelés), biztonságos átvitel (SSL/TLS).

    ·       Hálózati réteg: szolgáltatásmodell, kapcsolatalapú és kapcsolat nélküli hálózatok, virtuális áramkör és datagram alapú hálózatok, útválasztás. Az Internet hálózati rétege (IP), címzés, hierarchikus címzés, alhálózatok, címek kiosztása, DHCP, hálózati címfordítás (NAT), ICMP, IPv6, útválasztó algoritmusok, autonóm rendszerek (AS).

    ·       Adatkapcsolati réteg és helyi hálózatok: hibajelzés, többszörös hozzáférési protokollok (csatornaosztásos, véletlen hozzáférési, adásjog-átvételi protokollok: TDMA, FDMA, CDMA, CSMA/CA, CSMA/CD). Fizikai címzés (MAC), ARP protokoll, Ethernet, Ethernet kapcsolók, vezeték nélküli hálózatok, CDMA, 802.11 (WiFi), mobilitás az IP hálózatokban.

    2.     Adatbázis-kezelés

    Alapfogalmak: adatbázis, adatbázis-kezelő rendszerek szolgáltatásai, relációs adatmodell.

    Az SQL programozási nyelv:

    ·       Alapfogalmak, típusok, elsődleges és külső kulcsok, kényszerek.

    ·       Adatbázistáblák létrehozása (CREATE, DROP utasítások).

    ·       Lekérdezések relációs adatmodellen: vetítés, kiválasztás, halmazműveletek, illesztés (természetes, theta, külső), aggregálás, csoportosítás, rendezés, beágyazott lekérdezések (SELECT utasítás). Nézetek használata.

    ·       Adatmódosító utasítások (INSERT, UPDATE, DELETE).

    Tranzakciókezelés, tranzakciók alaptulajdonságai, izolációs alapproblémák, ütemezés, izolációs szintek.

    Adatbázis tervezés entitás-relációs diagramok segítségével. Chen / Crow’s feet jelölésmód, entitás-relációs diagram leképzése relációs sémára.

    3.     Nyelvek és automaták

    Webes szabványok, kliens oldali programozás: html, css, javascript, DOM (document object model). HTML: html alapjai, html dokumentum szerkezete, html elemek, blokk szintű és inline elemek. Űrlapok kezelése. CSS: css szerkezete, kiválasztók és tulajdonságok.

    Szerver oldali programozás PHP-ban. PHP alapfogalmak, nyelvi elemek, webprogramozás PHP nyelven: űrlapok, adatbázis programozás, munkamenet kezelése.

    Formális módszerek az információátvitelben:  Nyelvek fogalma. Nyelvtan és automata. Chomsky féle nyelvosztályok. Reguláris nyelvek, reguláris kifejezések, véges automaták fogalma. Reguláris nyelvtanok, reguláris kifejezések és véges automaták kapcsolata.  Reguláris kifejezések használata PHP-ben és MySQL-ben. Környezetfüggetlen nyelvek. Levezetési fa, absztrakt szintaxisfa. LL(k) nyelvek fogalma és elemzése.

    Számítógépes gyakorlat

    1.      Egyszerű TCP/IP kliens implementációja. TCP socket kezelése, HTTP protokoll vizsgálata.

    2.      HTML oldal készítése és formázása CSS segítségével.

    3.      Egyszerű adatbázisok tervezése és implementációja, alapvető SQL utasítások gyakorlása.

    4.      Összetett lekérdezések készítése, táblák összekapcsolása, csoportfüggvények használata, tranzakciókezelés.

    5.      Szerver oldali webes programozás PHP segítségével.

    6.      Hálózat monitorozás.


    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

     Páratlan és páros heteken felváltva 4, ill. 2 óra előadás (átlag heti 3 óra),  illetve  kéthetente 2 óra számítógépes laboratórium.

     

    10. Követelmények

    A szorgalmi időszakban:

    ·       Zárthelyi dolgozat: A félévben 1 db nagy zárthelyi dolgozatot írnak a hallgatók (javasolt időpontja a 10. oktatási hét). A ZH anyaga az előadáson addig elhangzottak. (2 témakör, témakörönként nincs minimum feltétel) Az elégséges szint 45%.

    ·       Házi feladat: A félévben a hallgatóknak házi feladatként egy egyszerű WEB alkalmazást kell elkészítenie. A feladat kiadása a 3. héten, beadása a 12. héten esedékes. Az elkészült feladatra 10 pont adható.

    ·       Számítógépes laboratórium: A hallgatónak a félév során 7 laboratóriumi gyakorlatot is el kell elvégeznie. A gyakorlatra fel kell készülnie. Ennek ellenőrzése kb. 10 perc.

    ·       A félévvégi aláírás feltétele: A zárthelyi dolgozat legalább elégséges szintű teljesítése és a számítógépes laboratóriumból legalább 5 sikeres elvégzése (a megszerezhető pontok 50%-ának megszerzése), a házi feladat sikeres teljesítése. Sikertelen zárthelyi dolgozat, laboratóriumi gyakorlat, illetve házi feladat esetén ennek sikeres pótlása. Csak 1 laboratóriumi gyakorlat pótolható.

    A vizsgaidőszakban:

    ·       A vizsga módja: A vizsga írásbeli 3 témakörből. Témakörönként 3-5 kérdés (20-25 pont) összesen 70 pont. Témakörönként minimum 20% teljesítendő, összességében 45%. A vizsgáztató jogosult szóbeli kérdéseket is feltenni.

    ·       A vizsgaosztályzat kialakítása: BSc: A vizsgaosztályzat a vizsgán elért eredmény (70%), a félévközi nagy ZH (20%) és a házi feladat eredményétől (10%) függ.

    Kreditpontok: A tárgyból csak az kapja meg az előírt kreditpontokat, aki sikeres vizsgát tett.

    11. Pótlási lehetőségek

    A sikertelen zárthelyit egy alkalommal lehet pótolni szorgalmi időszakban és a pótlási héten lehetőség van az eredménytelen zárthelyi újbóli pótlására.

    Egy számítógépes laboratóriumi gyakorlat pótolható a pótlási héten.

    A házi feladat pótlólagosan beadható a pótlási héten.


    12. Konzultációs lehetőségek

     

    Igény szerint, az oktatóval egyeztetve.

     

    13. Jegyzet, tankönyv, felhasználható irodalom

    ·       Vajk I, Asztalos M, Mészáros T: Informatika 2. Egyetemi jegyzet

    ·       Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom: Database Systems – The Complete Book, Prentice Hall, 2008

    ·       Jim Kurose, Keith Ross: Computer Networking: A Top-Down Approach, Addison-Wesley, 2012

    ·       Andrew S. Tanenbaum, David J. Wetherall: Számítógép-hálózatok. 3. kiadás. Panem Kiadó, Budapest, 2012.

    ·       Bach Iván: Formális nyelvek. Typotex. http://www.typotex.hu/download/formalisnyelvek.pdf


    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra56
    Félévközi készülés órákra14
    Felkészülés zárthelyire15
    Házi feladat elkészítése30
    Kijelölt írásos tananyag elsajátítása
    Vizsgafelkészülés35
    Összesen150
    15. A tantárgy tematikáját kidolgozta

    Dr. Vajk István

    egyetemi tanár

    Automatizálási és Alkalmazott Informatikai

    Dr. Asztalos Márk

    egyetemi docens

    Automatizálási és Alkalmazott Informatikai

     
    IMSc tematika és módszer

    Az IMSc programban résztvevő hallgatók számára külön számítógépes laborgyakorlatot tartunk. A laborokon leadott törzsanyag azonos a programban nem részt vevő hallgatóknak oktatott anyaggal, azonban az IMSc-s hallgatókkal összetettebb, több mérnöki átgondolást igénylő feladatokat oldunk meg.

    IMSc pontozás

    A tárgyból összesen 25 IMSc pont szerezhető a félév során. IMSc pont a házi feladattal, illetve az írásbeli számonkéréseken (zárthelyi és vizsga) szerezhető az alábbiak alapján: 

     

    ·       Minden írásbeli számonkérésen (zárthelyi és vizsga) szerepel egy plusz feladat, amellyel 5 extra pontot lehet szerezni. Az extra pont az érdemjegyet nem befolyásolja, csak IMSc pontok szerzéséhez használható.

    ·       A házi feladat elkészítése során lehetőség van arra, hogy a hallgató a kötelező minimumkövetelményeken túl összetettebb, nagyobb méretű házi feladatot adjon be, amely szintén extra pontokat ér, de maximum 25-öt. A házi feladatok specifikációját a hallgatók a laborvezetőkkel a félév elején egyeztetik, és előre megállapodnak, hogy egy adott specifikációnak megfelelő feladat teljesítése mennyi extra pontot ér. Az irányelv, hogy a maximális 25 extra pont megszerzéséhez a minimumkövetelményeken túl kb. 30%-os többletmunka befektetésre legyen szükség. Az extra pont a házi feladatok esetében sem számít be a jegy számításába, az csak IMSc pontok szerzésére használható. 

     

    A félév során maximálisan 5 (zárthelyi) + 5 (vizsga) + 25 (házi feladat) = 35 extra pont szerezhető. A megszerzett extra pontok (XP) átszámítása IMSC pontokra (IMScP) a következő képlet szerint történik: IMScP = MAX(XP, 25). IMSc pont csak akkor szerezhető, ha a tárgyból a hallgató jeles osztályzatot ér el. 

     

    Az IMSc pontok megszerzése a programban nem résztvevő hallgatók számára is biztosított.