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ó    

    Beágyazott funkcionális programozás

    A tantárgy angol neve: Embedded Functional Programming

    Adatlap utolsó módosítása: 2009. október 30.

    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érnök Informatikus Szak
    Villamosmérnöki Szak 

    Szabadon választható tantárgy

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIIIJV42   2/0/0/f 2  
    3. A tantárgyfelelős személy és tanszék Dr. Hanák Péter,
    A tantárgy tanszéki weboldala http://kfarkas.iit.bme.hu/trac/bfp/
    4. A tantárgy előadója
    Név Beosztás Tanszék, intézet 
    Patai Gergely ügyvivő szakértő Egészségügyi Mérnöki Tudásközpont 
    Dr. Hanák Péter tud. munkatársIrányítástechnika és Informatika Tanszék
    5. A tantárgy az alábbi témakörök ismeretére épít Imperatív programozás, deklaratív programozás
    6. Előtanulmányi rend
    Kötelező:
    NEM ( TárgyTeljesítve("BMEVIIIAV42") )

    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:

    Deklaratív programozás

    A tantárgyat nem vehetik fel azok, akik már előzőleg teljesítették a VIIIAV42(Beágyazott funcionális programozás) tantárgyat.

    7. A tantárgy célkitűzése A tiszta funkcionális programozás, valamint a hozzá kapcsolódó fontos tervezési minták bemutatása a Haskell nyelven keresztül. A beágyazott rendszerek speciális programozási követelményeinek és a funkcionális nyelvek kínálta programozási lehetőségeknek az áttekintése és összevetése. Beágyazott és elosztott rendszerek programozására kifejlesztett funkcionális alapú programozási nyelvek (Hume, Timber, Atom stb.) megismertetése.
    8. A tantárgy részletes tematikája
    • Alapfogalmak. Tisztaság, hivatkozási helyfüggetlenség, egyenlőségi érvelés, típuslevezetés (Hindley-Milner féle típusrendszer), algebrai adattípusok, mintaillesztés, függvény mint érték, részlegesen alkalmazott függvény (currying). (2 hét)
    • A Haskell alapjai. Névkonvenciók, deklarációk, kifejezések, alaptípusok, szintaktikai édesítőszerek. Szigorú és lusta kiértékelés, parciális függvény, bottom, végtelen adatszerkezetek, listák, rekurzió. Műveletek listákon, rekurziós minták és alkalmazásaik, fúzió. (2 hét)
    • Típusosztályok, példányosítás, osztálytörvények. Fontos osztályok (egyenlőség, rendezés, számtani műveletek, sorosítás, monoid). (2 hét) 
    • Magasszintű tervezési minták. Funktorok, applikatív funktorok, monádok, kategóriák, nyilak, valamint ezek kapcsolata és alkalmazásai. Mellékhatások monadikus struktúrája. Absztrakt struktúrák kompozíciója, monád transzformerek. Redukálható és bejárható struktúrák. (4 hét)
    • Funkcionális reaktív programozás (FRP). Folytonos jelek, események, jelfüggvények. Monadikus és nyílalapú FRP. (1 hét)
    • A Hume nyelv. Dobozalapú tervezés, statikus költségkorlátok, superstep, doboziteráció. (1 hét)
    • A Timber nyelv. Elsőrangú szinkron és aszinkron eseménykezelők, objektumrendszer, ütemezés. (1 hét)
    • Az Atom nyelv. Szabályhierarchia, őrfeltételek, ütemezés. (1 hét)
    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás, konzultáció, önálló feladatmegoldás
    10. Követelmények Szorgalmi időszakban: 1 db házi feladat (beadási határidő: 14. oktatási hét). A házi feladatot személyesen kell megvédeni.
    11. Pótlási lehetőségek A házi feladat a pótlási héten véglegesíthető.
    12. Konzultációs lehetőségek Előzetes egyeztetést követően személyesen, továbbá elektronikus levelezés útján.
    13. Jegyzet, tankönyv, felhasználható irodalom A tárgy weboldalán megtalálható az előadások vázlata és egy folyamatosan frissített irodalomjegyzék is.
    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ákra16
    Felkészülés zárthelyire-
    Házi feladat elkészítése16
    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ézet 
    Patai Gergely ügyvivő szakértő Egészségügyi Mérnöki Tudásközpont 
    Dr. Hanák Péter tud. munkatársIrányítástechnika és Informatika Tanszék