Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat
Domeniul: Informatica
Programul de studii: Optimizarea modelelor informatice - în limba maghiară
Limba de predare: Maghiară

SYLLABUS

I. Általános adatok
Kód	Tantárgy neve	
MIG1002	Komponensorientált technikák alkalmazása az optimalizálásban 
(Tehnici bazate pe componente aplicate în optimizare)	

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

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	
DARVAY Zsolt	Dr.	adjunktus	Programozási nyelvek és módszerek	*	*		

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élkitűzései
-	A komponensorientált programozás alapvető fogalmainak és elveinek elsajátítása.
-	A komponensorientált tervezésére vonatkozó képesség kialakítása.
-	A komponensorientált programozás alkalmazása nagyobb méretű feladatok megoldására.
-	A belsőpontos algoritmusok megvalósítása komponensorientált módszerekkel.
A tárgy sikeres teljesítése esetén a diákok képesek kell legyenek arra hogy:
-	nagyobb méretű feladatokat oldjanak meg komponensorientált programozással;
-	megértsék az interfész alapú programozás, események, aszinkron hívások, programszálak, stb. fogalmát;
-	a belsőpontos algoritmusokat komponensorientált módszerekkel valósítsák meg.	

IV. A tantárgy tartalma
-	A komponensorientált programozás alapjai.
-	Komponensorientált programozás .NET-ben.
-	Belsőpontos algoritmusok a lineáris optimalizálásban.
-	A belsőpontos algoritmusok megvalósítása komponensorientált programozással.	

V. Könyvészet
1.	Darvay Zs: Belsőpontos módszerek a lineáris programozásban, ELTE, Budapest, 1997 (könyvtár).
2.	Illés T., Nagy M., Terlaky T.: Belsőpontos algoritmusok, In: Informatikai algoritmusok II., p. 1230-1297, ELTE Eötvös Kiadó, Budapest, 2005 (könyvtár). 
3.	Löwy J.: Programming .NET Components, O’Reilly & Associates Inc., 2003 (http://www.oreilly.com/catalog/pnetcomp/chapter/ch01.pdf, http://www.oreilly.com/catalog/pnetcomp2/chapter/ch03.pdf).
4.	Vanderbei, R. J.: Linear Programming: Foundations and Extensions, Series: International Series in Operations Research & Management Science , Vol. 37, 2nd ed., 2001 (http://www.princeton.edu/~rvdb/LPbook/).	

VI. Az oktatói tevékenység heti tematikája
(E1-E12 előadások, Sz1-Sz12 szemináriumok)

1. A komponensorientált programozás alapjai .NET-ben (E1+Sz1).
-	CLR.
-	Assembly.
-	Bináris kompatibilitás.
2. Interfész alapú programozás (E2+Sz2).
-	Interfész és megvalósítás szétválasztása.
-	Explicit interfészmegvalósítás.
-	Interfészek tervezése.
3. Objektumok életciklusának kezelése (E3+Sz3).
-	Felügyelt memória.
-	Objektumfinalizáció.
4. Verziókövetés (E4+Sz4).
-	Assembly-verziószám.
-	Egyéni és CLR verziókövetés.
5. Események (E5+Sz5).
-	Delegate.
-	.NET események.
6. Aszinkron hívások (E6+Sz6).
-	Aszinkron hibakezelés.
-	Aszinkron események.
7. Programszálak (E7+Sz7).
-	Komponensek és szálak.
-	Szálak szinkronizálása.
8. Trajektóriakövető algoritmusok. A duál logaritmikus barrier algoritmus (E8+Sz8).
-	A centrális út.
-	Dualitáselmélet.
-	A Newton lépés.
-	A duál algoritmus.
-	Adaptív lépéses algoritmus.
-	Hosszú lépéses algoritmus.
9. Primál-duál trajektóriakövető algoritmus. A prediktor-korrektor algoritmus (E9+Sz9).
-	A primál-duál algoritmus.
-	Adaptív primál-duál algoritmus.
-	A prediktor-korrektor algoritmus.
-	Hosszú lépéses prediktor-korrektor algoritmus.
10. Belsőpontos algoritmusok megvalósítására vonatkozó sajátosságok (E10+Sz10). 
-	Az MPS file.
-	Szimmetrikus lineáris egyenletrendszerek megoldása.
-	Rendezési heurisztikák.
11. Az önduális beágyazás (E11+Sz11). 
-	A kezdeti érték meghatározása.
-	Az önduális feladatra vonatkozó algoritmus.
12. Lineáris programozási programcsomagok (E12+Sz12).
-	BPMPD
-	PCx
-	XPRESS-MP	

VII. Alkalmazott didaktikai módszerek
előadás, gyakorlati projekt, feladat, egyéni munka, párbeszéd	

VIII. Értékelés
A végleges jegyet az alábbi összetevők alapján határozzuk meg:
J1: Tevékenység az órákon (szeminárium, ellenőrző kérdések előadáson) = 30% 
J2: Projekt (határidő az utolsó tanítási hét) = 40%
J3: Írásbeli vizsga = 30%
Az írásbeli vizsgára a vizsgaidőszakban kerül sor. Az írásbeli alapvetően elméleti jellegű, de feladatrészleteket is tartalmazhat. A projekt egy futtatható kód megírását jelenti.
Végleges jegy: JEGY=(J1*30+J2*40+J3*30)/100
A vizsgára való jelentkezés feltétele: J1 >= 5 és J2 >= 5. Sikeres a vizsga, ha az összes jegy >= 5.
A tantárgyra vonatkozó egyéb információk a lokális hálózaton az L: meghajtón, illetve az egyetem FTP szerverén találhatók.	

IX. Kiegészítő könyvészet
1.	Albert I. (ed.) : A .NET Framework és programozása, Szak Kiadó, 2004.
2.	Jones B.L.: SAMS Teach Yourself The C# Language in 21 Days, Pearson Education, 2004.
3.	Roos C., Terlaky T., Vial J.-Ph.: Theory and algorithms for linear optimization, John Wiley & Sons, 1997.
4.	Szyperski C.: Component Software. Beyond Object-Oriented Programming, Pearson Education, 2004.	

	Dékán,						Tanszékvezető,

	Dátum,						Előadás felelőse,
		2009.09.25						Dr. DARVAY Zsolt adjunktus