1. Tantárgy neve |
Fejlett Programozás |
2. Kurzus kódja |
IMN103 (nappali), IML103 (levelező) |
3. Kreditérték |
3 (előadás) + 2 (gyakorlat) |
4. Heti óraszám |
Heti 2+2 (nappali), félévre 12+12 (levelező) |
5. Tantárgy típusa és értékelés módja |
Előadás (kollokvium) + gyakorlat (gyakorlati jegy) |
6. Felelős oktató vagy tanszék neve |
Dr. Ferenc Rudolf (Szoftverfejlesztés Tanszék) |
7. A foglalkozásokon való részvétel követelményei és a távolmaradás pótlásának lehetősége |
Kötelező megjelenni a projektmunka bemutatásán és a zárthelyi dolgozaton, ezek távolmaradás esetén igazolással pótolhatók |
8. Az igazolás módja a foglalkozásokon és a vizsgán való távollét esetén |
A távolmaradás időpontjára szóló orvosi igazolás, melyet az oktatónak kell bemutatni a távolmaradás okának megszünését követő első tanórán vagy az oktató fogadóóráján |
9. A félévközi ellenőrzések (beszámolók, zárthelyik) száma, témaköre és időpontja, pótlásuk és javításuk lehetősége |
Egy projektmunka (kötelező program)
- Témakör: a gyakorlat anyagához illeszkedő feladat megoldása
- Időpont: elkészítése a félév során folyamatos, tanórán kívüli feladat; benyújtandó a Bíró rendszerben, legkésőbb a zárthelyi dolgozatot megelőző gyakorlat előtt a gyakorlat honlapján megadott időpontig; személyesen bemutatandó a zárthelyi dolgozatot megelőző gyakorlaton
- Pótlás (csak a személyes bemutatás elmaradása és igazolása esetén): a gyakorlatvezetővel egyeztetett helyen és időpontban
- A projektmunka benyújtásának elmaradása, annak folyamatos volta miatt, nem pótolható!
- Javítás: A Bíró rendszerbe többször is benyújtható a projektmunka a határidő letelte előtt.
- Sikertelen bemutatás esetén (amennyiben a feladatot benyújtó hallgató nincsen tisztában a benyújtott program működésével) javításra nincs lehetőség
Egy zárthelyi dolgozat
- Témakör: a teljes gyakorlati anyag
- Időpont: a szorgalmi időszak utolsó előtti hetében
- Pótlás (igazolás esetén), illetve javítás (sikertelen vagy meg nem írt dolgozat esetén, legfeljebb egy alkalommal): a szorgalmi időszak utolsó hetében
|
10. A félév teljesítésének követelményei |
Gyakorlat
- Legalább 50%-os, a zárthelyi dolgozat előtt bemutatott projektmunka
- Legalább 50%-os zárthelyi dolgozat
Előadás
- Teljesített gyakorlat
- Legalább 50%-os kollokvium
|
11. Az osztályzat kialakításának módja |
Gyakorlati jegy
Projektmunka
- max. 30 pont (javítás esetén max. 15 pont)
Zárthelyi dolgozat
- max. 70 pont (javítás esetén max. 35 pont)
Kollokvium
Ponthatárok
- 0-49 elégtelen (1)
- 50-62 elégséges (2)
- 63-75 közepes (3)
- 76-88 jó (4)
- 89-100 jeles (5)
|
12. A számonkérés során felhasználható segédletek, irodalom listája (ajánlott irodalom) |
Zárthelyi dolgozat
- Saját, nyomtatott anyag (pl. könyv, kinyomtatott forráskód)
Kollokvium
- Semmilyen segédlet nem használható
Ajánlott irodalom
- Ferenc Rudolf: Fejlett programozás, Typotex Kiadó, 2011.
- Bruce Eckel: Thinking in C++
- Matthew H. Austern: Generic Programming and the STL
- Bjarne Stroustrup: A C++ programozási nyelv
|
13. Előfeltétel |
Programozás II. |
14. Előadás anyaga |
pub/FejlettProgramozas-I |
15. Tematika |
Objektum orientált programozás C++-ban (ismétlés)
- Osztályok - új típusok létrehozása, mezők, metódusok, kiterjesztés (overloading)
- Implementáció elrejtése, névterek
- Újrafelhasználhatóság - kompozíció, aggregáció, öröklődés
- Felüldefiniálás (overriding), polimorfizmus, kései kötés
- Absztrakt és interfész osztályok, többszörös öröklődés, virtuális öröklődés
- Hibakezelés kivételekkel
Generikus programozás
- Sablonok (template-k)
- Generikus programozási idiómák (traits, policy, curiously recurring template pattern)
- Metaprogramozás
- Kifejezés sablonok (expression templates)
A Standard Template Library (STL) megvalósítása és használata
- STL alapok
- Sztringek, adatfolyamok
- Manipulatorok, effektorok
- Generikus algoritmusok, predikátumok
- Függvény objektumok, függvény objektum és pointer adapterek
- Iterátorok, rendezés, keresés, módosítás
- Generikus konténerek és adapterek
|