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ó    

    Programozási paradigmák

    A tantárgy angol neve: Programming Paradigms

    Adatlap utolsó módosítása: 2006. július 1.

    Tantárgy lejárati dátuma: 2015. január 31.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar

    Műszaki Informatika Szak

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIFO3230 6 4/0/0/v 5 1/1
    3. A tantárgyfelelős személy és tanszék Dr. Szeredi Péter,
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    dr. Hanák Péter

    adjunktus

    Irányítástechnika és Informatika T. / OM KFHÁ

    dr. Szeredi Péter

    docens

    Számítástudományi T. / IQSoft Rt.

    Benkő Tamás

    doktorandusz

    Számítástudományi T. / IQSoft Rt.

    5. A tantárgy az alábbi témakörök ismeretére épít

    Programozás, programozási technológia, matematikai logika

    6. Előtanulmányi rend
    Kötelező:
    TárgyEredmény( "BMEVIFO2228" , "jegy" , _ ) >= 2

    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:

    Tematikaütközés miatt a tárgyat csak azok vehetik fel, akik korábban nem hallgatták a következő tárgyakat:

    ---

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

    A hallgatók az előző félévekben tanult imperatív programozás után ismerkedjenek meg a deklaratív programozással.

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

    Az imperatív és a deklaratív (funkcionális és logikai) programozás összevetése.

    Funkcionális programozás SML nyelven.

    Név, függvény, típus, ennes, lista, fa, egyéb összetett adattípusok. Típuslevezetés. Rekurzív algoritmusok és adatstruktúrák. Iteráció. Mintaillesztés. Típusparaméter. Polimorfizmus. Magasabb rendű függvények. Részlegesen alkalmazható függvények. Lusta listák. Absztrakt típusok. Struktúra, szignatúra, funktor. SML Basis Library. Funkcionális programok helyessége. Kitekintés: gyökerek, hagyományok és új irányzatok a funkcionális programozásban.

    Logikai programozás Prolog nyelven.

    A Prolog nyelv alapjai: eljárások, vezérlési szerkezet, összetett adatszerkezetek, diszjunkciók, operátorok, listák. Beépített eljárások, dinamikus adatbázis-kezelés. Programozási módszerek. Fejlettebb nyelvi elemek és alkalmazásuk. Fejlesztési ciklus, modularitás, hibakezelés. Új irányzatok a logikai programozásban. Párhuzamos megvalósítások.

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

    Előadás, konzultáció, önálló gyakorlás számítógépen.

    10. Követelmények
    1. A szorgalmi időszakban:
    2. Kötelező: nincs.

      Ajánlott: a nagyzárthelyi (pótzárthelyi) megírása, valamint a házi feladat megoldása mindkét programozási nyelven.

      A nagyzárthelyit a 11. oktatási héten íratjuk meg, pótlására, illetve javítására egyetlen alkalommal, a szorgalmi időszak utolsó hetében megírandó pótzárthelyin adunk lehetőséget. A zárthelyiken semmilyen jegyzet, feljegyzés, könyv nem használható. A dolgozat beadása esetén a dolgozatra adott pontszámot 15%-os súllyal vesszük figyelembe a féléves osztályzatban.

      A házi feladatot a szorgalmi időszak első felében adjuk ki. Az SML- és Prolog-nyelven megírt programokat, valamint a dokumentációt elektronikus levélben kell beadni legkésőbb az utolsó oktatási héten. A pontos beadási határidőt és a beadás módját a tantárgy honlapjáról letölthető feladatkiírás tartalmazza. Beadása esetén a házi feladatra kapott pontszámot 15%-os súllyal vesszük figyelembe a féléves osztályzatban. A házi feladat a beadási határidő után nem pótolható. A (mindkét nyelvből külön-külön) maximális pontszámot elérő programok létraversenyben vesznek részt. A leggyorsabb programok – feltéve, hogy helyesek és a dokumentáltságuk is megfelelő – pluszpontot kapnak. A létraversenyről a további tudnivalókat a tárgy honlapján tesszük közzé.

    3. A vizsgaidőszakban:
    4. A vizsga szóbeli, amelyre a kiadott feladatok írásbeli megoldásával és a tételek írásbeli kidolgozásával fel kell, ill. lehet készülni. A félévvégi osztályzatban a vizsgára kapott pontszámot 70, a zárthelyire (pótzárthelyire) és a házi feladatra kapott pontszámot 15-15%-os súllyal vesszük figyelembe. A létraversenyen kapott pontszám az összpontszámot javítja.

      A sikeres vizsga feltétele a maximális pontszám 40%-ának megszerzése mind a vizsgán, mind a félév egészét tekintve külön-külön mindkét programozási nyelvből (azaz a kétszer 35, ill. kétszer 50 pontból legalább kétszer 14, ill. kétszer 20 pont megszerzése).

    5. Elővizsga:

    Nincs.

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

    A tárgyhoz kétkötetes, sokszorosított jegyzet vásárolható.

    1. Deklaratív programozás. Oktatási segédlet. Bevezetés a logikai programozásba. Szeredi Péter, Benkő Tamás, BME VIK SZIT & IQSoft, Budapest, 2000.
    2. Deklaratív programozás. Oktatási segédlet. Bevezetés a funkcionális programozásba SML nyelven. Hanák D. Péter, BME VIK IIT, Budapest, 2000.

    Elektronikus változatuk a tárgy honlapjáról is letölthető: . Az otthoni gyakorlásra és a házi feladat megoldására használható SML- és Prolog-fordítóprogramok ugyancsak a tárgy honlapjáról tölthetők le. A felhasználható irodalom jegyzéke szintén a honlapon található meg.

    A tárgy levelezési listájára a címen lehet feliratkozni.

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

    Név:

    Beosztás:

    Tanszék, Int.:

    dr. Hanák Péter

    adjunktus

    Irányítástechnika és Informatika T. / OM KFHÁ

    dr. Szeredi Péter

    docens

    Számítástudományi T. / IQSoft Rt.