Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Informatică
Programul de studii: Informatică - linia de studiu maghiară, Miercurea Ciuc
Limba de predare: Maghiară

SYLLABUS

I. Általános adatok
Kód	Tantárgy neve	
MID0005	Logikai és funkcionális programozás	

Félév	Órák: C+S+L+P	Kategória	Típus	
3	2+0+1+0	szaktárgy	kötelező	

II. Foállásban az  Egyetem  oktatói
Név	Tudományos	Oktatói	Tanszék	Tevékenység	
	fokozat	státus		E	Sz	L	
EGRI Edith	Dr. 	adjunktus	Informatikai rendszerek	*		*	

Társult oktatók
Név	Tudományos	Intézmény	Állás	Tevékenység 	
	fokozat		típusa	E	Sz	L	

III. A tantárgy célkituzései
1. Új programozási paradigmák elsajátítása;
2. A programozási paradigmákhoz tartozó programozási nyelvek bemutatása:
     Logikai programozás: a Prolog programozási nyelv;
     Funkcionális programozás: a Clean programozási nyelv.
3. Az elsajátított programozási nyelvek és módszerek használatának körülményei
4. A programozási technikák elemzése, érdekes feladatok programozása.	

IV. A tantárgy tartalma
•	Logikai programozás és a Prolog programozási nyelv:
Imperatív és deklaratív nyelvek, különböző programozási módszertanok, a logikai programozás alapfogalmai. Tények a Prolog nyelvben, szabályok, illetve tudásbázis létrehozása, Cél-kifejezés, a kiértékelés menete. Változók és összetett predikátumok. Mintaillesztés szabályai, aritmetikai műveletek, logikai műveletek. Backtracking, a „!” parancs. Listák Prologban. Rekurzív adatstruktúrák. 
•	Funkcionális programozás és a Clean programozási nyelv:
A funkcionális programozási paradigma, a Clean programnyelv bemutatása, függvények, a programnyelv elemei,  rekurzió. Listakezelés, a lista-konstruktorok, listák ábrázolása. Operátorok, függvények aritása, parciális paraméterezés, lambda-függvények, függvénydefiníciók. Absztrakt adattípusok, konstruktorok.	

V. Könyvészet
1. CSATÓ Lehel, EGRI Edith, A logikai és a funkcionális programozás alapjai, Presa Universitara clujeana, 2010
2. FIELD A., Functional Programming, Addison Wesley, New York, 1988.
3. HOGER C.J., Introduction to Logic Programming, Academic Press, New York, 1984.
4. PARV B., VANCEA Al., Fundamentele limbajelor de programare, Litografia Universitatii Babes-Bolyai Cluj-Napoca, 1992.
5. REEDE C., Elements of Functional Programming, Addison Wesley, New York, 1989.
6. FLACH P., Simply Logical Intelligent reasoning by Example, John Wiley & Sons, Chichester, England, 1994	

VI. Az oktatói tevékenység heti tematikája
•	Logikai programozás és a Prolog programozási nyelv.
o	Imperatív és deklaratív nyelvek	(1. hét).
o	Logikai programozási alapfogalmak: tények Prolog nyelvben, szabályok, 
	tudásbázis létrehozása.	(2. hét)
o	A cél-kifejezés Prologban, a kiértékelés menete. 
Változók és összetett predikátumok.	(3. hét)
o	A mintaillesztés szabályai, aritmetikai műveletek, logikai műveletek,
egy Prolog példaprogram.	(4. hét)
o	Backtracking, a „!” parancs. Listák Prologban.	(5. hét)
o	Rekurzív adatstruktúrák .	(6.-7. hét)
•	Funkcionális programozás és a Clean programozási nyelv.
o	A funkcionális programozási paradigma,
A Clean programnyelv bemutatása	(8. hét)
o	Clean függvények, a programnyelv elemei, a rekurzió.	(9. hét)
o	Clean listakezelés, lista-konstruktorok, listák ábrázolása..	(10. hét)
o	Operátorok, függvények aritása, parciális paraméterezés,
lambda-függvények, függvénydefiníciók	(11. hét)
o	Absztrakt adattípusok, konstruktorok, 	(12. hét)
•	A különböző programozási technikák elemzése, érdekes feladatok programozása.
o	Releváns feladatok megoldási módjai 	(13. hét)
•	Ismétlés és fontos paradigmák felsorolása	(14. hét)	

VII. Alkalmazott didaktikai módszerek
Kifejtés módszere, a problematizálás módszere, rákérdezés és rávezetés, egyéni feladatok megoldására való ösztönzés. Használunk a megfelelő programnyelvekkel ellátott számítógépeket gyakorlásra; vetítőt az előadásokhoz tartozó jegyzetek kivetítéséhez.	

VIII. Értékelés
A félév-végi jegy írásbeli és gyakorlati vizsga eredménye. A vizsgán való részvételhez szükséges a labor- illetve gyakorlati órákon kiadott feladatoknak a leadása, ezek a vizsgapontok 40%-át jelentik, az írásbeli a maradék 60%-ot.	

IX. Kiegészíto könyvészet
[1]. 	http://staff.science.uva.nl/~ulle/teaching/prolog
[2]. 	http://www.lpa.co.uk
[3]. 	http://www.coli.uni-saarland.de/~kris/learn-prolog-now/
[4]. 	http://aszt.inf.elte.hu/~asvanyi/pl/jegyzetek
[5]. 	http://www.cs.ubbcluj.ro/~csatol/log_funk/prolog/SzerediBenko__NagyHatProlog.pdf
[6]. 	ftp://ftp.cs.kun.nl/pub/Clean/papers/cleanbook/CleanBookI.pdf
[7]. 	http://www.cs.ubbcluj.ro/~csatol/log_funk/clean/HorvathZoltan_ea.pdf

	Dékán,						Tanszékvezeto,

	Dátum,						Eloadás felelose,
	2010. nov. 22.						Dr.  EGRI Edith adjunktus