Babeş-Bolyai Tudományegyetem Kolozsvár
Matematika és Informatika Kar
Képzési szint: alap
Doménium: Informatika
Szak: Informatika
Előadás nyelve: Magyar

SYLLABUS

I. Általános adatok
Kód	Tantárgy neve	
MID0035	Funkcionális programozási nyelvek fogalomrendszere	

Félév	Órák: C+S+L+P	Kategória	Típus	
4	2+0+1+1	Kiegészítő	opţională	

II. Főállásban az  Egyetem  oktatói
Név	Tudományos	Oktatói	Tanszék	Tevékenység	
	fokozat	státus		E	Sz	L	
HORVATH Zoltan	Dr. 	Prof.asoc.	Sisteme Informatice	*			

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
A funkcionális programozás mélyebb ismertetése, generikus funkcionális programozás
Interaktív funkcionális programozás.	

IV. A tantárgy tartalma
A funkcionális programozás alapvető nyelvi elemeinek rövid (ismétlő) áttekintése után, a tárgy betekintést ad a funkcionális programozási nyelvek a procedurális és objektum orientált programozás eszközkészletét meghaladó, mélyebb absztrakciót támogató fogalomrendszerébe.	

V. Könyvészet
1. Nyékyné G. J. (szerk.): Programozási nyelvek, Kiskapu 2003.; Horváth Z.: Funkcionális programozás nyelvi eszközei fejezet. 
2. Plasmeijer,R. et al.:Functional Programming in Clean, July 1999. Draft., http://www.cs.kun.nl/~clean/. 
 3.Thompson, S.: Haskell, The Craft of Functional Programming. Addison-Wesley, 1999.

VI. Az oktatói tevékenység heti tematikája
1.	Típusrendszerek, polimorf típusok, példák
2.	Algebrai típusdefiníciók, absztrakt adattípus, példák.
3.	Típusosztályok, példányosítás.  Egyszeres hivatkozású típusok, adatszerkezetek hatékony kezelése. 
4.	Dinamikus típus, mobil funkcionális kód. 
5.	Magasabbrendű típusok. Generikus funkcionális programozás.
6.	Elosztott és párhuzamos funkcionális programozás nyelvi elemei: folyamatok, folyamatminták.
7.	Interaktív funkcionális programok
8.	Felhasználói felületek hatékony tervezése. 
9.	Megbízható, bizonyított tulajdonságokkal rendelkező funkcionális programok.
10.	Funkcionális programozás alkalmazása összetett, nagyméretű ipari szoftverek fejlesztésében
11.	Telekommunikációs szoftverek
12.	 Erlang
13.	 F#
14.	Ismétlés	

VII. Alkalmazott didaktikai módszerek
Előadás, laborgyakorlat	

VIII. Értékelés
Számítógépes vizsga	

IX. Kiegészíto könyvészet
1.	Amstrong, J. et al.: Concurrent Programming in Erlang. Prentice Hall, 1996. 
2.	Don Syme, Adam Granicz, Antonio Cisternino: Expert F#. 4th printing, 640 p., Apress, 2009.	

	Dékán,						Tanszékvezeto,

	Dátum, 2010.10.1						Előadás felelőse,
								 Dr.  HORVÁTH Zoltán