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ó    

    Funkcionális programozás a gyakorlatban: a Haskell

    A tantárgy angol neve: Functional Programming in Practice: Haskell

    Adatlap utolsó módosítása: 2008. május 14.

    Tantárgy lejárati dátuma: 2010. április 20.

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

     

    Villamosmérnöki szak

     

    Választható tárgy

     

     

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VITMAV69   2/0/0/f 2  
    3. A tantárgyfelelős személy és tanszék Dr. Rétvári Gábor Ferenc,
    4. A tantárgy előadója
    Név:

     

    Beosztás:

     

    Tanszék, Int.:

     

    Dr. Rétvári Gábor

     

    tud. segédmunkatárs

     

    TMIT

     

    Németh Felicián

     

    egy. tanársegéd

     

    TMIT

     

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

    A számítógép-programozás alapjai

    6. Előtanulmányi rend
    Ajánlott:
    nincs
    7. A tantárgy célkitűzése Napjaink egyik legdivatosabb, és kétségkívül egyik legérdekesebb programozási nyelve a Haskell. A Haskell erősen típusos, tisztán funkcionális programozási nyelv, mely remekül használható az általános mérnöki gyakorlatban és az infokommunikáció szűkebb területén egyaránt. A tárgy célkitűzése, hogy a hallgatók gyakorlati problémák megoldásán keresztül a problémamegoldás egy új, a mérnöki gyakorlatban széles körben használható megközelítését sajátítsák el. A hallgatók a félév során megismerkednek a Haskell szintaktikájával, majd az infokommunikáció mérnöki gyakorlatában fontos hálózati és gráfelméleti feladatok megoldásával járatosságot szereznek a funkcionális programozás alapvető módszertanában
    8. A tantárgy részletes tematikája

    Ismerkedés a Haskellel, a fordítókörnyezet és interpreterek letöltése, installálása. Elemi szintaktika, beépített típusok, felhasználói típusok, polimorfikus típusok, rekurzív típusok. Aritmetika, alapműveletek, műveletek listákkal, (map, fold, filter), list comprehensions, string-ek

    Függvények, mintaillesztés, wildcard-ok, késleltetett (lusta) kiértékelés. Típusok, típusosztályok. Alapvető adatstruktúrák (bináris fák, általános fák, stb) és algoritmusok (keresés, rendezés, stb), indexlisták, tömbök, asszociatív memóriák. Hálózati problémák tisztán funkcionális megoldása: gráf-adatstruktúrák és -algoritmusok, legrövidebb út, hálózati folyamproblémák megoldása

    Input/output, standard input/output, fájlműveletek, kivételkezelés. A Standard Prelude és a beépített osztályok és könyvtárak, modulok, szimbólumok importálása/exportálása, névterek

    Programozás monádokkal, értelmezés, használat, szintaktika, egyszerű állapotmonád implementálása. Hálózati problémák monadikus megoldása: monadikus gráfalgoritmusok

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

    Előadás

    10. Követelmények

     

    a. A szorgalmi időszakban: féléves házifeladat megoldása


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

    A házifeladatok pótlólagos leadása a pótlási időszakban, egy kijelölt időpontban lehetséges.

     

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

    Igény szerint, az oktatóval egyeztetve.

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

    Paul Hudak: The Haskell school of expression, Cambridge University Press, New York, 2000

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra28
    Félévközi készülés órákra10
    Felkészülés zárthelyire 
    Házi feladat elkészítése22
    Kijelölt írásos tananyag elsajátítása 
    Vizsgafelkészülés 
    Összesen60

     

    15. A tantárgy tematikáját kidolgozta
    Név:

     

    Beosztás:

     

    Tanszék, Int.:

     

    Dr. Rétvári Gábor

     

    tud. segédmunkatárs

     

    TMIT