Az objektum orientált programozás alapjai

Oktatók: Kovásznai Gergely, Troll Ede, Balla Tamás

Eszterházy Károly Egyetem

A tantárgy céljai:

 A „Magasszintű programozási nyelvek 1” kurzus oktatása az Eszterházy Károly Főiskola által indított több képzés központi részét képzi: a tanegységhez kapcsolódó elméleti és gyakorlati kurzus teljesítése kötelező a Programtervező informatikus felsőoktatási szakképzési (FOSZ) és alapképzési (BSc), a Gazdaságinformatikus felsőoktatási szakképzési (FOSZ) és alapképzési (BSc), az Informatikatanár osztatlan tanárképzési szakok esetén, valamint mindkét kurzus része az intézmény Informatikatanár MA részismereti képzésének is. A tanegység oktatása magas hallgatói létszámmal történik, az elmúlt félévben a tanegységre bejelentkezett hallgatók száma nappali és levelező tagozaton összesen 190 fő volt. A Programtervező, illetve a Gazdaságinformatikus szakok a főiskola legkedveltebb és legnagyobb légyszámú szakjai közé tartoznak. A „Magasszintű programozási nyelvek 1” kurzus keretében találkoznak a hallgatók először (mindjárt az első szemeszterben) a számítógép-programozás szakmájával és „művészetével”, ezért a tantárgy a programozó 4 képzés talán legfontosabb alapozó tantárgya. A fent említett szakok összes programozással kapcsolatos tárgya erre a tantárgyra épül. Mivel sok hallgató bármiféle programozási előképzettség nélkül jön a képzésekre, a „Magasszintű programozási nyelvek 1” kifejezetten nehéz tárgynak számít és ezért a bukási arány is elég jelentős. Ezért is tartjuk kiemelten fontosnak, hogy a tanegység tanításában részt vevő oktatók közösen, a közös tudást, valamint az évek során felhalmozott konkrét oktatási megfigyeléseket és tapasztalatok felhasználva építsenek fel egy olyan elektronikus tananyagot, amely biztosítja a programozás alapjainak sikeres és precíz elsajátítását minden hallgató számára, valamint alkalmas a szükséges motiváció kialakítására és fenntartására is egyaránt. A tanegységből hirdetett gyakorlati kurzus tejesítésének feltétele az aktív órai részvétel mellett két zárthelyi dolgozat megírása. A gyakorlati kurzus sikeres teljesítéséhez mindkét zárthelyi dolgozatban legalább elégséges teljesítményt szükséges nyújtani a hallgatóknak. A gyakorlat sikeres teljesítése 2 kredit megszerzését jelenti. A tanegység elméleti kurzusának teljesítéséhez az előadáson elhangzott ismeretanyagból kollokviumot szükséges tenni, a sikeres vizsga letételével a hallgató 3 kreditet szerez meg a bejelentkezett képzés kötelező kreditjei közül.

A tananyag céljai:

 A tananyag elsajátítása során a hallgatók problémamegoldó készsége, valamint algoritmizálási készsége folyamatosan fejlődik, s a tananyag sikeres teljesítésével képessé válnak az összetett problémák hatékony és szükségszerű részletességű modellezésére, valamint azokból lépéssorozatok, algoritmusok készítésére, s azok C# programozási nyelven történő implementációjára. Így az elméleti tudás fejlesztése mellett a feladatok megoldásával a hallgatók megismerik a C# nyelv eszközkészletét. A kurzus tanulása során a hallgatókban folyamatosan alakul ki a programozási és algoritmizálási készség, a háttérben zajló folyamatok megértése, az adattárolási, a programfuttatási és a fejlesztői környezet megismerése. Az eljárás-orientált programozási alapelveknek megfelelően a hallgatók törekedni fognak az újrahasznosítható eljárások és függvények írására, s ennél fogva a hatékony programozásra. Valamint képessé válnak a megtervezett eljárások és függvények C# nyelven történő megvalósítására is.  A tananyag teljesítése során a hallgatók megismerik a fájlkezeléssel kapcsolatos ismereteket, így képessé válnak a rendszer inputjainak külső adatforrásból való beolvasására, s ugyanakkor képesek a programok kimenetének, szolgáltatott eredményének tartós tárolására A helyes programozási gyakorlat kialakítása mellett fontos, hogy a hallgatók elsajátítsák a különböző hibakezelési módokat: a kivételek kezelésére és a hibakeresésre vonatkozó gyakorlati ismereteket. A programozás oktatás Microsoft Visual Studio fejlesztőkörnyezetben történik, amelyből rendelkezésre áll ingyenes változat is, így a hallgatók a kurzus elsajátítását követően, későbbi fejlesztéseik során is tudják az elsajátított környezetet használni. Így a tanegység célja az is, hogy a fejlesztőkörnyezet eszközeinek, szolgáltatásainak használata a számos gyakorlat során rutinszerűvé váljon. Ide tartozik a fejlesztőkörnyezet által biztosított hibakeresési, nyomkövetési lehetőségeket, módszereket, vagy épp az erőforrás figyelés. 5. A tananyag rövid leírása A tervezett online kurzus megismerteti a hallgatóval a programozás elméleti alapjait, és azokat C# nyelven életszerű példákon keresztül mutatja be. Az egyes modulok elkészítése során a hallgató megtanulja hatékonyan kezelni a Microsoft Visual Studio fejlesztői környezetet, valamint képességet szerez az általa megoldandó problémák azonosítására és modellezésére, valamint annak szabványos leírására.

1. modul. A programozási nyelvek evolúciója, generációi. Fejlődéstörténet a mai modern programozási nyelvekig. Első program írása C#-ban a Visual Studio fejlesztői környezetben.

2. modul. A forráskód fordítása. Fordítási megoldások: compiler, interpreter, JIT. A .NET keretrendszer architektúrája, moduljai (CLR, CIL, CLS, BCL).

3. modul. Alap adattípusok és azok tulajdonságai: egész számok, lebegőpontos számok, logikai típus, karakter típus, sztring.

4. modul. Változók, nevesített konstansok, különböző típusú literálok. Alapvető I/O: konzolra írás és konzolról/fájlból olvasás.

5. modul. Szelekciós utasítások: kétirányú és többirányú elágazások (if, switch). Logikai operátorok és kifejezések, rövidzár kiértékelés.

6. modul. Ciklusok fajtái. Ciklusok C#-ban (while, do-while, for, foreach). Kiugrás a ciklusokból (break, continue).

7. modul. Operátorok típusai. Különféle operátorok C#-ban. Operátorok precedenciája.

8. modul. Véletlenszám generálás. Egész és lebegőpontos véletlenszámok generálása C#-ban. A seed érték jelentősége.

9. modul. Változó hatásköre. Utasításblokkok használata a hatáskör szabályozására. Változó újradeklarálása. Változó élettartama. Globális változók.

10. modul. Tömbök és listák. Ciklusok és tömbök/listák kapcsolata. Klasszikus algoritmusok tömbökkel/listákkal. A foreach ciklusról részletesebben. Többdimenziós tömbök. Tömb/lista elemeinek inicializálása.

11. modul. Szöveges állományok kezelése adatok beolvasására. Rekord (class) definiálása és használata. Rekord példányosítása és inicializálása. Felsorolásos típus (enum) definiálása és használata.

12. modul. Érték- és referenciatípusok. A memóriahasználat érték-, illetve referenciatípus esetén. A struct és class közötti különbség. Rekordok tömbje. String és StringBuilder. 13. modul. Metódusok (eljárások és függvények) jelentősége. Az eljárás és függvény közötti különbség. Szintaktikai és szemantikai szabályok. Visszatérési érték, összetett típus esetén is. Egyszerű paraméterátadás.

 14. modul. A paraméterátadás különböző módozatai: érték szerinti és referencia szerinti. Az out és ref paraméterátadás. Az egyes paraméterátadási módok működése a memóriában. Változó számú paraméter átadása (params).

A kurzus követelményei és értékelési szempontjai:

 A kurzus teljesítéséhez a hallgatók a tananyagtól függően kéthetente házi feladatot kapnak, melynek megoldására a feladat terjedelmétől függően egy- vagy két hét áll rendelkezésükre. A megoldott feladatot az Eszterházy Károly Egyetemen aktívan használt elearning felületre kell feltölteniük. A kurzus sikeres teljesítéséhez a kapott házi feladatok 80%-át szükséges beadniuk. Az otthoni feladatok mellett minden hallgató két zárthelyi dolgozatot kell megírjon, melyek mindegyike szükségképpen elégséges kell legyen a tantárgy teljesítéséhez. Amennyiben a hallgató mindkét zárthelyi dolgozatot elégtelenre írta, úgy a kurzus teljesítése sikertelen, míg egy elégtelen és egy elégséges dolgozat esetén lehetősége van egy javító dolgozat megírására, mely a teljes félévi anyagból vár komplex ismereteket.

 

EKIK Honlap
Óbudai Egyetem Honlap

2014 szeptember 1-je óta az oldal látogatóinak száma: