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: 2020. január 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,
    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( "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 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). 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 témaköre. Az elégséges szint 40%. A ZH-n 35 pont érhető el.

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

    o   A 7. gyakorlaton a házi feladatot kell bemutatni.

    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 perc, beugró formájában.

    -       A félévvé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 és

    o   a házi feladat sikeres teljesítése.

     

    Házi feladat plusz pontok:

    -       Nagyobb mértékű és komplexitású házi feladattal plusz pontok szerezhetők, legfeljebb 10.

    -       Az irányelv, hogy a maximális 10 pont megszerzéséhez a minimumkövetelményeken túl a házi feladat megírásába kb. mégegyszer annyi többletmunka befektetésére legyen szükség.

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

    -       Plusz pontot csak a szorgalmi időszakban beadott házi feladattal lehet szerezni.

     

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


     

    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.

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

    -       A ZH-n IMSc pontért plusz feladatot adtunk, ez a ZH rendes pontszámába nem számít be.

    -       A vizsgán IMSc pontért szintén plusz feladatot adunk, ez a vizsga rendes pontszámába nem számít be.

    -       Amennyiben valaki plusz házi feladatot készített és a plusz pont nélkül is eléri a jeles osztályzat ponthatárát, akkor a házi feladatra kapott plusz pontok 2-es szorzóval IMSc pontra beválthatók. Fontos, tehát, hogy a plusz házi feladat pontszám nem használható fel egyszerre az érdemjegy javítására és IMSc pontok szerzésére.

     

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