A tantárgy adatlapja
1. A képzési program adatai
1.1 Felsőoktatási intézmény	Babeș-Bolyai Tudományegyetem	
1.2 Kar 	Matematika és Informatika	
1.3  Intézet	Magyar Matematika és Informatika	
1.4 Szakterület	informatika	
1.5 Képzési szint	mesteri	
1.6 Szak / Képesítés	Informatikai modellek optimalizálása	

2. A tantárgy adatai
2.1 A tantárgy neve	Komponensorientált technikák alkalmazása az optimalizálásban	
2.2 Az előadásért felelős tanár neve	Darvay Zsolt	
2.3 A szemináriumért felelős tanár neve	Darvay Zsolt	
2.4 Tanulmányi év	2	2.5 Félév	2	2.6. Értékelés módja	vizsga	2.7 Tantárgy típusa	kötelező –szak	

3. Teljes becsült idő (az oktatási tevékenység féléves óraszáma)
3.1 Heti óraszám	3	melyből: 3.2 előadás	2	3.3 szeminárium/labor	1	
3.4 Tantervben szereplő össz-óraszám	42	melyből: 3.5 előadás	28	3.6 szeminárium/labor	14	
A tanulmányi idő elosztása:	óra	
A tankönyv, a jegyzet, a szakirodalom vagy saját jegyzetek tanulmányozása	70	
Könyvtárban, elektronikus adatbázisokban vagy terepen való további tájékozódás	7	
Szemináriumok / laborok, házi feladatok, portofóliók, referátumok, esszék kidolgozása	70	
Egyéni készségfejlesztés (tutorálás)	7	
Vizsgák	4	
Más tevékenységek: ..................		
3.7 Egyéni munka össz-óraszáma	158	
3.8 A félév össz-óraszáma	200	
3.9 Kreditszám	8	

4. Előfeltételek (ha vannak)
4.1 Tantervi	•	Nincs.	
4.2 Kompetenciabeli	•	Az objektumorientált programozás alapvető fogalmainak ismerete.
•	A C++ és Java nyelvek alapjainak az ismerete.	

5. Feltételek (ha vannak)
5.1 Az előadás lebonyolításának feltételei	•	Táblával és videoprojektorral felszerelt előadóterem.	
5.2 A szeminárium / labor lebonyolításának feltételei	•	Számítógépes terem, C++, Java.	

6. Elsajátítandó jellemző kompetenciák
Szakmai kompetenciák	•	Nagyobb méretű feladatok megoldása komponensorientált programozással.
•	Az interfész alapú programozás, események, stb. fogalmának megértése.
•	A centrális út fogalmának és a primál-duál trajektóriakövető algoritmusnak a megértése.
•	Az önduális beágyazás használata a belsőpontos algoritmusok kezdőpontjának meghatározására.
•	Belsőpontos algoritmusok megvalósítása komponensorientált módszerekkel.	
Transzverzális kompetenciák 	•	Matematikai problémák megoldása objektumorientált és komponensorientált módszerekkel.
•	A belsőpontos algoritmusok alkalmazása gazdasági feladatokra.	

7. A tantárgy célkitűzései (az elsajátítandó jellemző kompetenciák alapján)
7.1 A tantárgy általános célkitűzése	•	A komponensorientált programozás alapvető fogalmainak és elveinek elsajátítása a belsőpontos algoritmusok megvalósítása érdekében.	
7.2 A tantárgy sajátos célkitűzései

	•	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.	

8. A tantárgy tartalma
8.1 Előadás	Didaktikai módszerek	Megjegyzések	
1. Trajektóriakövető algoritmusok.
- A centrális út.
- Dualitáselmélet.
- A Newton lépés.	Előadás
		
2. A duál logaritmikus barrier algoritmus.
- A duál algoritmus.
- Adaptív lépéses algoritmus.
- Hosszú lépéses algoritmus.	Előadás		
3. Primál-duál trajektóriakövető algoritmus.
- A primál-duál algoritmus.
- Adaptív primál-duál algoritmus.	Előadás		
4. A prediktor-korrektor algoritmus.
- A prediktor-korrektor algoritmus.
- Hosszú lépéses prediktor-korrektor algoritmus.	Előadás		
5. Súlyozott centrális utak. Affin skálázású algoritmusok.	Előadás		
6. Konvex kvadratikus optimalizálás. Konvex optimalizálás lineáris feltételekkel.	Előadás		
7. Belsőpontos algoritmusok megvalósítására vonatkozó sajátosságok.
- Az MPS file.
- Szimmetrikus lineáris egyenletrendszerek megoldása.
- Rendezési heurisztikák.	Előadás		
8. Az önduális beágyazás.
- A kezdeti érték meghatározása.
- Az önduális feladatra vonatkozó algoritmus.	Előadás		
9. Lineáris programozási programcsomagok.
- BPMPD
- PCx
- XPRESS-MP	Előadás		
10. A komponensorientált programozás alapjai .NET-ben.
- CLR.
- Assembly.
- Bináris kompatibilitás.	Előadás		
11. Interfész alapú programozás.
- Interfész és megvalósítás szétválasztása.
- Explicit interfészmegvalósítás.
- Interfészek tervezése.	Előadás		
12. Objektumok életciklusának kezelése.
- Felügyelt memória.
- Objektumfinalizáció.	Előadás		
13. Verziókövetés.
- Assembly-verziószám.
- Egyéni és CLR verziókövetés.	Előadás		
14. Események.
- Delegate.
- .NET események.	Előadás		
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/).	
8.2 Szeminárium / Labor	Didaktikai módszerek	Megjegyzések	
Sz1. A centrális út. 	feladat, egyéni munka, párbeszéd		
Sz2. Trajektóriakövető algoritmusok.	feladat, egyéni munka, párbeszéd		
Sz3. Primál-duál algoritmus. 	feladat, egyéni munka, párbeszéd		
Sz4. Prediktor-korrektor algoritmus.	feladat, egyéni munka, párbeszéd		
Sz5. Súlyozott algoritmusok.	feladat, egyéni munka, párbeszéd		
Sz6. Különböző projektek közötti kapcsolatok	feladat, egyéni munka, párbeszéd, gyakorlati projekt		
Sz7. Projekt kiértékelés.	feladat, egyéni munka, párbeszéd, gyakorlati projekt		
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.	

9. A tárgy tartalmának összhangba hozása az episztemikus közösségek képviselői, a szakmai egyesületek és a szakterület reprezentatív munkáltatói elvárásaival.
•	A tantárgy tartalma összhangban van a fontosabb egyetemeken oktatott belsőpontos algoritmusokra, illetve komponensorientált programozásra vonatkozó előadásokkal. 

10. Értékelés
Tevékenység típusa	10.1 Értékelési kritériumok	10.2 Értékelési módszerek	10.3 Aránya a végső jegyben	
10.4 Előadás 	Az elméleti anyag ismerete	Prezentáció készítése	30%	
	Az elméleti anyag alkalmazása	Szóbeli vizsga	40%	
10.5 Szeminárium / Labor	Egy összetett alkalmazás készítése	Projekt	30%	
10.6 A teljesítmény minimumkövetelményei	
•	A belsőpontos algoritmusok ismerete.
•	A projekt elkészítése és dokumentálása, illetve az ebből adódó következtetések levonása.	

Kitöltés dátuma			Előadás felelőse			Szeminárium felelőse
					Dr. Darvay Zsolt, adjunktus	          Dr. Darvay Zsolt, adjunktus
2012. szept. 25.			...............................			...................................

Az intézeti jóváhagyás dátuma				Intézetigazgató	
2012. szept. 28.						Dr. Szenkovits Ferenc, egyet. docens
..........................