Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat
Domeniul: Matematica
Programul de studii: Matematică Computaţională - î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+P	Kategória	Típus	
2	2+1+0+1	kiegészítő tá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. 	Lect.	Magyar Matematika és Informatika	*	*		

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, 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-E14 előadások, Sz1-Sz7 szemináriumok, P1-P7 projekt)

1. Trajektóriakövető algoritmusok. (E1 + Sz1)
-	A centrális út.
-	Dualitáselmélet.
-	A Newton lépés.

2. A duál logaritmikus barrier algoritmus. (E2 + Sz2)
-	A duál algoritmus.
-	Adaptív lépéses algoritmus.
-	Hosszú lépéses algoritmus.

3. Primál-duál trajektóriakövető algoritmus. (E3 + Sz3)
-	A primál-duál algoritmus.
-	Adaptív primál-duál algoritmus.

4. A prediktor-korrektor algoritmus. (E4 + Sz4)
-	A prediktor-korrektor algoritmus.
-	Hosszú lépéses prediktor-korrektor algoritmus.

5. Belsőpontos algoritmusok megvalósítására vonatkozó sajátosságok. (E5 + Sz5)
-	Az MPS file.
-	Szimmetrikus lineáris egyenletrendszerek megoldása.
-	Rendezési heurisztikák.

6. Az önduális beágyazás. (E6 + Sz6)
-	A kezdeti érték meghatározása.
-	Az önduális feladatra vonatkozó algoritmus.

7. Lineáris programozási programcsomagok. (E7 + Sz7)
-	BPMPD
-	PCx
-	XPRESS-MP

8. A komponensorientált programozás alapjai .NET-ben. (E8-9)
-	CLR.
-	Assembly.
-	Bináris kompatibilitás.

9. Interfész alapú programozás. (E10-11)
-	Interfész és megvalósítás szétválasztása.
-	Explicit interfészmegvalósítás.
-	Interfészek tervezése.

10. Objektumok életciklusának kezelése. (E12)
-	Felügyelt memória.
-	Objektumfinalizáció.

11. Verziókövetés (E13).
-	Assembly-verziószám.
-	Egyéni és CLR verziókövetés.

12. Események. (E14)
-	Delegate.
-	.NET események.

P1-P7: projekt: egy belsőpontos algoritmus megvalósítása.	

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:
Tevékenység az órákon
J1: Előadás = 30% 
J2: Szeminárium = 30%
Vizsga
J3: Szóbeli vizsga = 40%
Az órákon a jelenlét kötelező. Ha valaki egy részfeladatot egyáltalán nem teljesít, akkor a maximálisan elérhető pontszámot negatív előjellel számoljuk. Pótlásra vonatkozó lehetőség nincs, de különlegesen kiemelkedő teljesítmény esetén egy-egy részfeladatra plusz pont adható, amely az egyébként elérhető maximális pontszámnak legfennebb a fele lehet. Tehát a J1,J2,J3 jegyeket százalékban kifejezve -100% és 150% közötti értékeket kaphatunk.
A végleges jegy százalékban: JEGY=(J1*30+J2*30+J3*40)/100.
A vizsga akkor sikeres, ha JEGY >= 49%.

A szóbeli vizsgán a megjelenés kötelező. A vizsgán be kell mutatni a félév folyamán készített projektet. A projekt egy futtatható kód megírását jelenti, a megfelelő dokumentációkat mellékelve.  Ezen kívül egy dolgozatot kell készíteni, amelyben a kapott eredmények össze vannak foglalva. A bemutatás során felhasznált prezentációt is mellékelni kell.
A tantárgyra vonatkozó egyéb információk a lokális hálózaton az L: meghajtón, az egyetem FTP szerverén és a www.infooktatas.ro címen találhatóak.	

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,
		2011.10.01						Dr. DARVAY Zsolt adjunktus