1 Ó Alba Regia Egyetemi Központ b u d a i E g y e t e m 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 Oktató Horváth Árpád, gyfelel s k: Kertész Gábor ős József oktató: né Előtan KSZPR11SNC ulmán yi feltétel ek: (kódda l) Heti Előadá Tanter Laborg Konzul óraszá s: 3 mi yakorl táció: mok: gyak.: at: 3 Számo Vizsga nkérés módja (s,v,f): A tananyag
2
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/8
Programozási paradigmák
Dátum (rögzített)
1.
Hét
Óra
1.
3
té 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.
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.
3/8
2.
3
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.
4/8
5.
3
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 ).
6.
3
Zárthel yi mindk ét témak örből (JAVA és Formál is nyelve k).
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. A JAVA nyelv jellemzői. A JAVA nyelv alapjai. Változók, konstansok, 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. Metódusok, metódusok definiálása, meghívása. Konstruktorok, destruktorok.. Osztályváltozók, osztálymetódusok. Feladatok osztályokkal. ZH Öröklődés. Osztályhierarchia. Polimorfizmus. Absztrakt osztályok, absztrakt metódusok. Interfészek. Interfészek szerepe, deklarálása, implementálása, kiterjesztése Kivételkezelés. Kivételek keletkezése. A kivételkezelés megvalósítása, a 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. Input output megvalósítása JAVA-ban. A java.io csomag. ZH Szálak programozása. Szálak állapotai, ütemezés, szinkronizáció. Hálózatkezelési osztályok. Szerver alkalmazás és kliens alkalmazás készítése. Félévközi követelmények
1. 2.
3 3
3.
3
4. 5. 6. 7. 8. 9.
3 3 3 3 3 3
10.
3
11. 12. 13. 14.
3 3 3 3
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: Csizmazia Balázs: Benkő Tiborné:
Objektumorientált tervezés és programozás Hálózati alkalmazások készítése Kalibán BT. 1998. 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 nyelvek) előadásai Követelményrendszer, a 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 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. Reguláris kifejezések (=reguláris halmazok) elméletben és gyakorlatban. Ünnep Környezetfüggetlen nyelvek, levezetési fáik, egyértelmű nyelvtan. Rekurzió és balrekurzió. Fésülés, a felesleges szimbólumok kiszűrése. A jólfésült nyelvtan. A környezetfüggetlen nyelvek normálformái. Műveletek környezetfüggetlen nyelvekkel. Rektori szünet Veremautomaták. Felépítésük. Levezetés konfigurációsorozattal. Veremautomaták két változata. Zárthelyi a két tananyagrészből. Turing-gépek fogalma. Bonyolultságelmélet.
Hét
Óra-szám
3.
3
4.
3
7.
3
8. 9.
3
10.
3
11. 12.
3
13.
3
14.
3
Félévközi követelmények (feladat, zh. Dolgozat, esszé, prezentáció, stb)
7. hét 9. hét
JFLAP-pel megoldandó feladatok beadása 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)