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	Haladó funkcionális programozás	

Félév	Órák: C+S+L+P	Kategória	Típus	
4	2+0+1+0	szak	választható	

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	
HORVATH Zoltan	Dr. 	Vendégtanár.	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

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. 
Típusrendszerek, polimorf típusok, algebrai típusdefiníciók, absztrakt adattípus, példák.
Típusosztályok, példányosítás.  Egyszeres hivatkozású típusok, adatszerkezetek hatékony kezelése. Dinamikus típus, mobil funkcionális kód. 
Alkalmazasok.

	

 	

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

VI. Az oktatói tevékenység heti tematikája
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. 

Típusrendszerek, polimorf típusok, algebrai típusdefiníciók, absztrakt adattípus, példák.
Típusosztályok, példányosítás.  Egyszeres hivatkozású típusok, adatszerkezetek hatékony kezelése. Dinamikus típus, mobil funkcionális kód. 

Magasabbrendű típusok. Generikus funkcionális programozás.

Elosztott és párhuzamos funkcionális programozás nyelvi elemei: folyamatok, folyamatminták. 

Interaktív funkcionális programok, felhasználói felületek hatékony tervezése. 

Megbízható, bizonyított tulajdonságokkal rendelkező funkcionális programok.

Funkcionális programozás alkalmazása összetett, nagyméretű ipari szoftverek fejlesztésében (telekommunikációs szoftverek, Erlang, F#, stb.).

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

VIII. Értékelés
Laborok 30%, vizsga 70%	

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

	Dékán,						Tanszékvezeto,

	Dátum, 2009.09.25.						Eloadás felelose,
								Prof.asoc. Dr.  HORVATH Zoltan