K-INFO
HU
EN
Belépés

Programozási paradigmák

Programming Paradigms
A tantárgyleírás hatályossága
Hatályosság kezdete:
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
Programozási paradigmák
Programming Paradigms
Tantárgykód BMEVIFO3230
Tantárgyjelleg
Képzési szint
Kurzustípusok és óraszámok (heti/féléves)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 4 0 0
jelleg (kapcsolt/önálló)
Tanulmányi teljesítmény/értékelés típusa vizsga
Tantárgy kreditértéke 5
Tantárgyfelelős
Dr. Szeredi Péter
Tantárgyat gondozó oktatási szervezeti egység
Kar
Tantárgy weboldala
Tantárgy elsődleges mintatantervi jellege
Közvetlen előkövetelmények – Erős előkövetelmény nincs
Közvetlen előkövetelmények – Gyenge előkövetelmény nincs
Közvetlen előkövetelmények – Párhuzamos előkövetelmény nincs
Közvetlen előkövetelmények – Mérföldkő előkövetelmény nincs
Közvetlen előkövetelmények – Kizáró feltétel nincs

Célkitűzés

Tantárgyprogram

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.

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

Tanulmányi eredmények

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Tudás

Nincsenek rögzített tanulási eredmények.

Képességek

Nincsenek rögzített tanulási eredmények.

Attitűd

Nincsenek rögzített tanulási eredmények.

Autonómia és felelősség

Nincsenek rögzített tanulási eredmények.

Oktatási módszertan

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

Tanulástámogató anyagok

Online források
A tárgyhoz kétkötetes, sokszorosított jegyzet vásárolható.; 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. 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.

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Programozás, programozási technológia, matematikai logika
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Programozás, programozási technológia, matematikai logika
Általános szabályok
Követelmények: A szorgalmi időszakban: 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é. A vizsgaidőszakban: 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). Elővizsga: Nincs.
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Szorgalmi időszakban végzett teljesítményértékelések részaránya

Nincs megadva részarány.

Vizsgaidőszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Vizsgarészek részaránya

Nincs megadva részarány.

Érdemjegy megállapítása

Nincs megadva érdemjegy határ.

Jelenléti és részvételi követelmények

Nincs megadva jelenléti követelmény.

Javítás, ismétlés és pótlás különös szabályai

Nincs megadva.

Rövid leírás

Nincs megadva.

Részletes leírás

Nincs megadva.

Ajánlott tantárgyak
Tematikaütközés miatt a tárgyat csak azok vehetik fel, akik korábban nem hallgatták a következő tárgyakat: ---
A tantárgy elvégzéséhez szükséges tanulmányi munka

Nincs megadva munkaidő bontás.

Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
Tantárgykövetelmények hatályosságának vége:
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.