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: 2022. február 14.

    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. Csorba Kristóf,
    A tantárgy tanszéki weboldala https://www.aut.bme.hu/Course/VIAUAB01
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Csorba Kristóf

    egyetemi docens

    Automatizálási és Alkalmazott Informatikai Tanszék

    5. A tantárgy az alábbi témakörök ismeretére épít Nincs
    6. Előtanulmányi rend
    Kötelező:
    (TargyEredmeny( "BMEVIAUAA01" , "jegy" , _ ) >= 2
    VAGY TargyEredmeny( "BMEVIAUAA00" , "jegy" , _ ) >= 2
    VAGY TargyEredmeny( "BMEVIAUA116" , "jegy" , _ ) >= 2
    VAGY
    ((TárgyEredmény("BMEVIAUAA00", "FELVETEL", AktualisFelev()) > 0
    VAGY TárgyEredmény("BMEVIAUAA01", "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)

    ÉS (Training.Code=("5N-A7") VAGY Training.Code=("5N-A7H") VAGY Training.Code=("5NAA7"))

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

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    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:
      1. 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.
      2. Az Internet protokoll rétegeinek bemutatása:

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

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

                                                              iii.      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).

                                                              iv.      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).

                                                                v.      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.

    1. Adatbázis-kezelés:
      1. Alapfogalmak: adatbázis, adatbázis-kezelő rendszerek szolgáltatásai, relációs adatmodell.
      2. Az SQL programozási nyelv:

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

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

                                                              iii.      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.

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

      1. Tranzakciókezelés, tranzakciók alaptulajdonságai, izolációs alapproblémák, ütemezés, izolációs szintek.
      2. 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.
    1. Nyelvek és automaták:
      1. 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.
      2. Szerver oldali programozás például PHP-ban. Alapfogalmak, nyelvi elemek, webprogramozás: űrlapok, adatbázis programozás, munkamenet kezelése.
      3. 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 a szoftverfejlesztésben. 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). Az előadások az adatbáziskezelés résszel kezdődnek, a ZH anyaga az előadáson addig elhangzottak, de legfeljebb az adatbáziskezelés és PHP, HTML/CSS témaköre. Az elégséges szint 40%. A ZH-n 35 pont érhető el.

    -          Házi feladat: a tantárgyból a házi feladat nem kötelező, de a tantárgyból elérhető maximális pontszám mellé bónusz pontok szerezhetők vele, valamint erre járnak az IMSc pontok is. A házi feladattal maximálisan 30 bónusz pont szerezhető, kiemelkedően jó munka esetén pedig megajánlott jegy is adható rá. A házi feladat leadási határideje a 14. héten esedékes, a félév elején kihirdetett időpontban.

    -          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.

    o   A 7. gyakorlat témája a házi feladat bemutatása.

    o   Az első 6 gyakorlatból 4-et sikeresen teljesíteni kell. A gyakorlatra a hallgatónak fel kell készülnie a kiadott segédletből, ennek ellenőrzése kb. 10 perces beugró formájában történhet.

    o   Bizonyos laborokat távolról is el lehet végezni, ezekre külön, az órarendi időpont utáni leadási határidő is megadható.

    o   Amennyiben egy labort jelenléti vagy távolléti formában is lehet teljesíteni, akkor a jelenléti részvétel 24 órával korábbi, online regisztrációhoz köthető.

    -          A félév végi aláírás feltétele:

    o   A zárthelyi dolgozat legalább elégséges szintű teljesítése és

    o   a számítógépes laboratóriumból legalább 4 sikeres elvégzése

    -          A tantárgy munkafolyamataitól történő eltérés (például github pull request hibás leadása a laboron) esetenként legfeljebb -2 „munkafolyamat hiba” ponttal büntethető. Ezek a pontok a félév végi értékelésnél csökkentik a pontszámot.

     

    A vizsgaidőszakban: a vizsga írásbeli, 2 témakörből áll (számítógépes hálózatok és automaták és nyelvek), a ZH témaköre már nem szerepel benne. Témakörönként minimum 20% teljesítendő, összességében 40%. A vizsgáztató jogosult szóbeli kérdéseket is feltenni. A vizsga összességében 65 pontos.

     

    A félév során a maximális pontszám a házi feladat nélkül is elérhető, a plusz pontok nem befolyásolják a ponthatárokat. A ponthatárok a következők:

     

    -          85 ponttól: jeles (5)

    -          70-84 pont: jó (4)

    -          55-69: közepes (3)

    -          40-54: elégséges (2)

     

     

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

    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.

    Sikertelen számítógépes laboratórium az oktatóval egyeztetve más csoport óráján lehet pótolni évközben. Szorgalmi időszak után számítógépes labor pótlására nincsen lehetőség.

     

    Mivel a házi feladat nem kötelező és bónusz- és IMSc pontokat ér, pótleadásra nincsen lehetőség.

    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 óra

    56

    Félévközi készülés órákra, kiadott anyagok önálló feldolgozása

    21

    Felkészülés zárthelyire

    13

    Házi feladat elkészítése

    30

    Kijelölt írásos tananyag elsajátítása

     

    Vizsgafelkészülés

    30

    Összesen

    150

    15. A tantárgy tematikáját kidolgozta

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Vajk István DSc

    egyetemi tanár

    Automatizálási és Alkalmazott Informatikai Tanszék

    Asztalos Márk PhD

    egyetemi docens

    Automatizálási és Alkalmazott Informatikai Tanszék

    Dr. Csorba Kristóf PhD

    egyetemi docens

    Automatizálási és Alkalmazott Informatikai Tanszék

    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 félév során maximálisan 25 IMSc pont szerezhető (5 kredites tárgy). IMSc pont csak akkor szerezhető, ha a tárgyból a hallgató jeles osztályzatot ér el. IMSc pont a házi feladattal szerezhető.

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