2 Ó b u d a i E g y e t e m Alba Regia Egyetemi Központ Tantárgy neve és kódja: Programozási paradigmák KSZPP11SNC Kreditérték: 3 Nappali tagozat 2013/2014. tanév 1. félév Szakok melyeken a tárgyat oktatják: Villamosmérnök Tantár Kovác gyfelel s ős József oktató: né Előtan ulmán yi feltétel ek: (kódda l) Heti óraszá mok: Számo nkérés módja (s,v,f): Oktató k: KSZPR11SNC Előadá s: 3 Vizsga Tanter mi gyak.: Horváth Árpád, Kertész Gábor Laborg yakorl at: 3 Konzul táció: A tananyag Oktatási cél A tárgy keretében két témakört oktatunk, amellyel az alábbi célt szeretnénk megvalósítani: 1. Objektum-orientált szoftverfejlesztési készség és gondolkodásmód kialakítása JAVA technológia alapján. 2. Megismertetni a hallgatókkal a formális nyelvek alapfogalmait, és legfontosabb összefüggéseit. Követelmény: Az aláírás teljesítéséhez mindkét témakör szorgalmi időszakára előírt kötelezettségeinek legalább elégséges szintű teljesítése szükséges. A JAVA-hoz tartozó vizsga írásbeli, a Formális nyelvek rész vizsgája szóbeli. A félévközi eredmények a vizsgába 50%-ban beszámításra kerülnek. Tematika: 1 1/8 Programozási paradigmák Dátum (rögzített)
1. té Hét Óra A JAVA nyelv jellemz ői. A JAVA nyelv alapjai. Változ ók, konsta nsok, tömbö k, operát orok. Vezérl és, feltétel es elágaz ások, cikluso k, feltétle n vezérl és átadás. Objekt umorie ntált nyelve k. Az objekt um fogalm a, felelős sége, viselke dése, állapot a. Üzenet ek. Esemé nyek. Metód usok. 1. 3 2/8 Programozási paradigmák Dátum (rögzített)
Osztál yok. Példán yváltoz ók, osztály változó k. Hozzáf érési kategó riák. Metód usok, metód usok definiál ása, meghí vása. Osztál ymetó dusok. Konstr uktoro k, destru ktorok. Öröklő dés. Osztál yhierar chia. Polimo rfizmu s. Absztr akt osztály ok, absztr akt metód usok. 2. 3 3/8 Programozási paradigmák Dátum (rögzített)
Interfé szek. Interfé szek szerep e, deklar álása, imple mentál ása, kiterjes ztése. Kivétel kezelé s. Kivétel ek keletke zése. A kivétel kezelé s megva lósítás a, a kivétel kiváltá sa, a kivétel elkapá sa, a kivétel specifi kálása. Kivétel osztály ok. 5. 3 4/8 Programozási paradigmák Dátum (rögzített)
Csoma gok. Csoma gdekla ráció. Import deklar áció. Alapve tő csoma gok a fejleszt ői környe zetben. Kontén erek. Input output megva lósítás a JAVAban. A java.io csoma g. Szűrők. Adatbá zisok elérés e (JDBC ). Zárthel yi mindk ét témak örből (JAVA és Formál is nyelve k). 6. 3 13. 3 5/8 Programozási paradigmák Dátum (rögzített)
1. Témakör labor gyakorlatai: Automaták vizsgálata a JFLAP programmal. 1. 3 A JAVA nyelv jellemzői. A JAVA nyelv alapjai. Változók, konstansok, 2. 3 tömbök, operátorok. Vezérlés, feltételes elágazások, ciklusok, feltétlen vezérlés átadás. Osztályok. Példányváltozók, osztályváltozók. Hozzáférési kategóriák. 3. 3 Metódusok, metódusok definiálása, meghívása. Konstruktorok, destruktorok.. Osztályváltozók, osztálymetódusok. 4. 3 Feladatok osztályokkal. 5. 3 ZH 6. 3 Öröklődés. Osztályhierarchia. Polimorfizmus. 7. 3 Absztrakt osztályok, absztrakt metódusok. 8. 3 Interfészek. Interfészek szerepe, deklarálása, implementálása, 9. 3 kiterjesztése Kivételkezelés. Kivételek keletkezése. A kivételkezelés megvalósítása, a 10. 3 kivétel kiváltása, a kivétel elkapása, a kivétel specifikálása. Input output megvalósítása JAVA-ban. A java.io csomag. 11. 3 Input output megvalósítása JAVA-ban. A java.io csomag. 12. 3 ZH 13. 3 Szálak programozása. Szálak állapotai, ütemezés, szinkronizáció. 14. 3 Hálózatkezelési osztályok. Szerver alkalmazás és kliens alkalmazás készítése. Félévközi követelmények 13. hét Elméleti ZH 6. hét és 13. hét Gyakorlati ZH Félévközi feladat Az 1. témakör (JAVA) teljesítéséhez egy elméleti zárthelyit és két gyakorlati zárthelyit kell legalább elégséges szinten és a félévközi feladatot kell elfogadható szinten teljesíteniük a hallgatóknak. Pótlási lehetőség a TVSZ szerint egy alkalommal a szorgalmi időszakban és egy alkalommal a vizsgaidőszakban. Irodalom: Nyékyné Gaizler Judit: JAVA 2 útikalauz programozóknak Kalibán BT. 1996. Angster Erzsébet: Objektumorientált tervezés és programozás Csizmazia Balázs: Hálózati alkalmazások készítése Kalibán BT. 1998. Benkő Tiborné: Együtt könnyebb a programozás Java ComputerBooks Kiadói Szolgáltató és Kereskedő Kft. 2005. Kovács Józsefné főiskolai docens 6/8 Programozási paradigmák Dátum (rögzített)
2. témakör (Formális Hét Óra-szám nyelvek) előadásai Követelményrendszer, a 3. 3 félév áttekintése. Véges automaták, NFA átalakítása DFA-vá. Nyelvek megadása (felsorolás, halmazjelölés). Nyelvtan és 4. 3 nyelvosztályok. Nyelvek és automaták. A reguláris nyelvek és a véges (determinisztikus) automaták (DFA) kapcsolata. Teljes véges automata. Minimálautomata és jelentősége. Műveletek nyelvekkel. 7. 3 Reguláris kifejezések (=reguláris halmazok) elméletben és gyakorlatban. Ünnep 8. - Környezetfüggetlen nyelvek, levezetési fáik, 9. 3 egyértelmű nyelvtan. Rekurzió és balrekurzió. Fésülés, a felesleges szimbólumok kiszűrése. A jólfésült nyelvtan. A 10. 3 környezetfüggetlen nyelvek normálformái. Műveletek környezetfüggetlen nyelvekkel. Rektori szünet 11. - Veremautomaták. Felépítésük. Levezetés konfigurációsorozattal. Veremautomaták két változata. 12. 3 Zárthelyi a két 13. 3 tananyagrészből. Turing-gépek fogalma. 14. 3 Bonyolultságelmélet. Félévközi követelmények (feladat, zh. Dolgozat, esszé, prezentáció, stb) 7. hét JFLAP-pel megoldandó feladatok beadása 9. hét Otthonról megoldandó teszt (nyelvtanok, nyelvcsaládok, véges automaták, reguláris kifejezések) 12. hét Otthonról megoldandó teszt (környezetfüggetlen nyelvek, műveletek nyelvekkel) 13. hét Zárthelyi dolgozat A 2. témakör zárthelyi dolgozata 60 pontos, az otthoni tesztek 5 5 pontosak, a beadandó feladatok 10 pontosak, tehát összesen 80 pont kapható. A formális nyelvek részre adandó jegy kialakítása: 40 pont és felette elégséges 50 pont és felette közepes 60 pont és felette jó 70 pont és felette jeles 7/8 Programozási paradigmák Dátum (rögzített)
40 pont alatt az aláírás megtagadva. Az utolsó héten megbeszélt időben egy zárthelyi anyagából javító zh. írható a formális nyelvek részből. Kötelező irodalom a formális nyelvek részhez: Bach Iván: Formális nyelvek, TypoTeX, Bp., 2002, (interneten elérhető elektronikus formában) Horváth Árpád: Formális nyelvek segédlet Ajánlott irodalom: Roger Penrose: A császár új elméje, Számítógépek, gondolkodás és a fizika törvényei, Akadémia Kiadó, Bp., 1993 (a Turing-gép részhez.) Katona Gyula Recski András Szabó Csaba: A számítástudomány alapjai, TypoTeX Kiadó, Bp. 2002 (a bonyolultságelmélethez és a gráfokhoz) Demetrovics, Denev, Pavlov: A számítástudomány matematikai alapjai, Tankönyvkiadó, Budapest, 1989, két fejezete: 4. A formális nyelvek és automaták, 5. A Turing-gép Horváth Árpád adjunktus 8/8 Programozási paradigmák Dátum (rögzített)