Nagyhatékonyságú deklaratív programozás

A tantárgy angol neve: High Efficiency Declarative Programming

Adatlap utolsó módosítása: 2014. szeptember 15.

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

Mérnök informatikus szak, MSc képzés
Számításelmélet szakirány

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VISZM232 2 2/1/0/v 4  
3. A tantárgyfelelős személy és tanszék Dr. Szeredi Péter,
A tantárgy tanszéki weboldala http://cs.bme.hu/~szeredi/oktatas/ndp
4. A tantárgy előadója

Dr. Szeredi Péte, c. egyetemi tanár

5. A tantárgy az alábbi témakörök ismeretére épít A Prolog programozási nyelv alapszintű ismerete
6. Előtanulmányi rend
Kötelező:
NEM ( TárgyEredmény( "BMEVISZMB01" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVISZMB01", "FELVETEL", AktualisFelev()) > 0)

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 c. tárgy
7. A tantárgy célkitűzése A Deklaratív Programozás c. BSc tárgy keretében szerzett tudás elmélyítése, kiterjesztése a korlát-logikai programozás (constraint logic programming, CLP) területére. A CLP elméleti alapjainak és megvalósításainak megismertetése, a korlát-programozás módszereinek áttekintése és gyakoroltatása.
8. A tantárgy részletes tematikája
  • A Prolog nyelv fejlettebb elemei, korutinkezelés
  • A korlát-logikai programozás elméleti alapjai
  • Valós és racionális tartományú CLP: nyelvi elemek, megvalósítás, példák
  • Boole-értékû CLP
  • Véges tartományú CLP: elméleti háttér; aritmetikai korlátok; logikai és tükrözött korlátok, kombinatorikus korlátok. Címkézés, felhasználói korlátok készítése indexikálisok és globális korlátok formájában. CLPFD nyomkövetés
  • CLPFD esettanulmányok: Modellezés, korlátok megválasztása, hatékony keresés
  • A CHR (Constraint Handling Rules) generikus korlát-programozási eszköz

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) előadás + gyakorlat
10. Követelmények
  • Szorgalmi időszakban: 4 kis házi feladat és egy nagy házi feladat, amelyből a nagy házi feladat beadása kötelező
  • Vizsgaidőszakban: írásbelivel kombinált szóbeli vizsga
  • A nagy házi feladat 15%-ban, a vizsga 85%-ban számit bele az értékelésbe (15 + 85 pont). A határidőre beadott kis házi feladatok egyenként plusz 2 ponttal növelik a hallgató pontszámát. A kis házi feladatok be nem adása semmilyen hátrányos következménnyel nem jár, viszont a beadásuk előnyösen befolyásolja az érdemjegyet.

11. Pótlási lehetőségek A házi feladatok a pótlási hét végéig pótlólag beadhatók.
12. Konzultációs lehetőségek Előzetes egyeztetés szerint.
13. Jegyzet, tankönyv, felhasználható irodalom

Szeredi Péter, Benkő Tamás: Nagyhatékonyságú logikai programozás, Kézirat.
http://cs.bme.hu/~szeredi/oktatas/docs/nlp02_jegyzet.pdf

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra42
Félévközi készülés órákra12
Felkészülés zárthelyire 
Házi feladat elkészítése10
Kijelölt írásos tananyag elsajátítása8
Vizsgafelkészülés48
Összesen120
15. A tantárgy tematikáját kidolgozta Dr. Szeredi Péter, c.egyetemi tanár, Dr. Lukácsy Gergely