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ó    

    Magasabb rendű funkcionális programozás

    A tantárgy angol neve: Higher-Order Functional Programming

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

    Tantárgy lejárati dátuma: 2009. november 24.

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

    Villamosmérnöki Szak

    Műszaki Informatika Szak

    Választható tárgy

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIFO9375 7,8,9 4/0/0/v 5 1/1
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Hanák Péter

    adjunktus

    Irányítástechn. és Inform. T. / OM KFHÁT

    Csala Viktor

    AAM Technologies Kft.

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

    BMEVIFO2218 Deklaratív programozás

    6. Előtanulmányi rend
    Ajánlott:

    BMEVIFO2218 Deklaratív programozás

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

    A funkcionális programozási ismeretek bővítése, néhány funkcionális programozási nyelv és megvalósítás összevetése, gyakorlati (“ipari”) alkalmazási lehetőségek bemutatása.

    8. A tantárgy részletes tematikája
    • Lambda kalkulus és funkcionális programozás.
    • A funkcionális programozás magasabbrendű módszerei (funktor, abstract data type, sharing, monád, continuation passing style stb.).
    • Érdekes algoritmusok és hatékony megvalósításuk.
    • A lusta és mohó kiértékelés összehasonlítása, lusta listák.
    • A lusta kiértékelésű nyelvek egy reprezentánsa (Haskell).
    • A LISP-családba tartozó néhány nyelv (Common Lisp, Scheme stb.).
    • Az ML-család objektumelvű programozási nyelve (OCaml).
    • Más érdekes funkcionális programozási nyelvek bemutatása (Clean, Oz stb.).
    • Metaprogramozás, programgenerálás (MetaML).
    • A típusnyelv kiterjesztése (Depentdent ML).
    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    (előadás, gyakorlat, laboratórium):

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

    10. Követelmények

    a) A szorgalmi időszakban

    Kötelező: kiadott cikk, téma feldolgozása. Ajánlott: házi feladatok megoldása.

    Az aláírás megszerzésének feltétele a kiadott cikk, téma feldolgozása. A vizsgára bocsátásnak más feltétele nincs.

    b) A vizsgaidőszakban

    A vizsga szóbeli. A félévvégi osztályzatot a vizsga alapján állapítjuk meg.

    c) Elővizsga

    Megbeszélés szerint.

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

    A kiadott cikk, téma feldolgozása a szorgalmi időszak végéig pótolható.

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

    Előzetes egyeztetést követően lehetőség van személyes konzultációra.

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

    Jegyzet:

    Nincs.

    Ajánlott irodalom:

    1. Emmanuel Chailloux, Pascal Manoury, Bruno Pagano: Développement d'applications avec Objective CAML. O’Reilly France, 2000, ISBN 2-841-77121-0 (Developing applications with Objective Caml címen az angol változat letölthető a webről).
    2. David Andrew Kranz: ORBIT: An Optimizing Compiler For Scheme. Yale University, 1988.
    3. Paul Hudak, John Peterson, Joseph Fasel: A Gentle Introduction to Haskell 98. Yale University, 1999.
    4. Paul Graham: On Lisp. Prentice Hall, 1993, ISBN 0-130-30552-9.
    5. Greg Michaelson: An introduction to functional programming through lambda calculus. Addison-Wesley, 1989, ISBN 0-201-17812-5
    6. Functional Programming in CLEAN. 1999. Letölthető a webről.
    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka

    (a tantárgyhoz tartozó tanulmányi idő körülbelüli felosztása a tanórák, a házi feladatok és a zárthelyik között - a felkészülésre, ill. a kidolgozásra átlagosan fordítandó/elvárható idők félévi munkaórában, kredit x 30 óra, pl. 5 kredit esetén 150 óra):

    Kontaktóra

    60

    Félévközi készülés órákra

    30

    Felkészülés zárthelyire

    -

    Házi feladat elkészítése

    -

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

    30

    Vizsgafelkészülés

    30

    Összesen

    150

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

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Hanák Péter

    adjunktus

    Irányítástechn. és Inform. T./OM KFHÁT

    Csala Viktor

    AAM Technologies Kft.