Informatika és elektronika PMB1201 Meghirdetés féléve 1 Kreditpont 4 Előfeltétel (tantárgyi kód) Tantárgyfelelős neve és beosztása Falucskai János, főiskolai docens Megismertetni a hallgatókkal a számítógépek használatával kapcsolatos alapvető elméleti és gyakorlati tudnivalókat. Legyenek képesek számítógépes szakmai és felhasználói alapfeladatok magasszintű elvégzésére, optimalizálásra. Az információ fogalma, megjelenési formái. A számítógép mint információfeldolgozó gép. Informatikai alapfogalmak (adat, program, fordítóprogram, interpreter, programozás, operációs rendszer, alapszoftver, rendszerközeli szoftver, alkalmazói szoftver, bit, bájt, kompatibilitás, szintaktika, szemantika, programozási nyelvek, táblázatkezelők, szövegszerkesztők, adatbáziskezelők). Perifériák fajtái, használatuk. Operációs rendszer alapfogalmak. Algoritmus fogalma, jellemzői, megadási módok. Számrendszerek, konverziós szabályok. Információábrázolás számítógépen (cím, logikai, szöveges és numerikus adatok ábrázolása és a velük végezhető műveletek; programok ábrázolása). A processzor működésének alapelvei. Számítógépek programozása. Hálózati alapfogalmak és kommunikáció. Számítógépes rendszerek fejlesztésének lépései. Informatikai jog. Zárthelyi dolgozat A zárthelyi dolgozat eredményének beszámítása a vizsgába Csala Péter: Informatika alapjai, ComputerBooks, Bp., 2001 Cormen, Thomas H.-Leiserson, Charles E.-Rivest, Ronald L.: Algoritmusok. Műszaki Könyvkiadó, Budapest, 1999. Csiszár Imre-Fritz József: Információelmélet. ELTE, Budapest, 1995. Gács Péter-Lovász László: Algoritmusok. Tankönyvkiadó, Budapest, 1991. Lipschutz, Seymour: Adatszerkezetek. Panem-McGraw-Hill, Budapest, 1993. Marton László-Fehérvári Arnold: Algoritmusok és adatstruktúrák. Novadat, Győr, 2002. Papadimitriou, Christos H.: Számítási bonyolultság. Novadat, Budapest, 1999. W. Stallings: Computer organization and Architecture, MacMillan Publ. co., 1990, ISBN 0-02-415491-1
Számítógép architektúrák PMB1202 Meghirdetés féléve 1 Kreditpont 3 Heti kontakt óraszám (elm.+gyak.) 2+0 Előfeltétel (tantárgyi kód) Tantárgyfelelős neve és beosztása Dr. Fazekas Szilárd Zsolt, főiskolai adjunktus A hallgatók átfogó ismereteket szerezzenek a digitális rendszerek (kiemelten a számítógép) tervezésének, elkészítése technológiájának, felépítésének, működésének területén. A digitális technika alapjai (logikai kapuk, kombinációs és szekvenciális hálózatok). A mikroelektronika alapjai (félvezetők, tranzisztorok, logikai kapuk, integrált áramkörök, memóriák). A mikroprocesszorok felépítése, működése. A személyi számítógépek rendszertechnikája. A számítógépes hálózati ismeretek alapjai. Írásbeli vizsga Csala Péter: Informatika alapjai: Hardver alapok, szoftvertechnológia, informatikai rendszerek fejlesztése, ComputerBooks, Budapest, 2001. Abonyi Zsolt: PC hardver kézikönyv, ComputerBooks, Budapest, 1999. Cserny László: Mikroszámítógépek, LSI Oktatóközpont, Budapest, 1994. Ron White: Így működik a számítógép, ComputerBooks, Budapest, 1993. Klaus Beuth-Olaf Beuth: Az elektronika alapjai, Műszaki Kvk., Budapest, 1990. Dr Kónya László: PC-elektronika, Műszaki Kvk., Budapest, 1991.
Formális nyelvek, automaták PMB1203 Meghirdetés féléve 1 Kreditpont 5 Előfeltétel (tantárgyi kód) Tantárgyfelelős neve és beosztása Dr. Dömösi Pál Béla, egyetemi tanár A tantárgy keretein belül megismerik a hallgatók a Chomsky-féle osztályozás szerinti nyelvek és az automaták fő jellemzőit, alkalmazásukat. Képesek lesznek grammatikákat, automatákat definiálni, implementálni a tanult algoritmusokat és találkoznak a gyakorlatban megjelenő nyelvekkel. Formális rendszerek és automaták főbb típusai. Nyelvek, nyelvtanok, normál alakok. Automaták és nyelvek kapcsolata. Chomsky-féle nyelvosztályok. Műveletek nyelvekkel, nyelvalgebra. Elemzők és felismerők, nyelvtani algoritmusok. Lindenmayer rendszerek. Néhány fontos nyelvészeti módszer és eredmény: Kleene tétele, Bar-Hillel lemma, Early-féle algoritmus, közelítő szövegegyeztetések, Lyon algoritmus. Számítástudományi alkalmazások. Két zárthelyi dolgozat, mely sikeres teljesítése előfeltétele a nak. Bach Iván: Formális nyelvek, TYPOTEX Kiadó, Budapest, 2001. Demetrovics János, Jordan Denev, Radiszlav Pavlov: A számítástudomány matematikai alapjai, Tankönyvkiadó, Budapest, 1989. Falucskai Kuki - Tarnay: Bevezetés a formális nyelvek és automaták alkalmazásába, MTA Sz-Sz-B Tud. Test., Nyíregyháza, 1993. Fülöp Zoltán: Formális nyelvek és szintaktikus elemzésük, Polygon Kiadó, Szeged, 1999.
Programozási nyelvek I. PMB1204 Meghirdetés féléve 1 Kreditpont 5 gyakorlati jegy Előfeltétel (tantárgyi kód) Tantárgyfelelős neve és beosztása Dr. Bajalinov Erik, egyetemi docens A programozási nyelvek jellemzőinek, a program alkotóelemeinek megtanulása. Egy eljárásorientált programozási nyelv haladó szintű elsajátítása. A magasszintű programozási nyelvek kialakulása. A programozási nyelvek osztályozása: imperatív, deklaratív, speciális és máselvű nyelvek. Szintakszisleíró formális eszközök. Karakterkészlet. Lexikális elemek (szimbólikus nevek, címke, megjegyzés, literálok). Kötött és szabad formátumú nyelvek. Változó, nevesített konstans. Adattípusok (beépített és programozói. egyszerű és összetett). Deklarációk. Kifejezések. Végrehajtható utasítások. Értékadó, ugró, feltételes utasítások. Többirányú elágaztatás. Ciklusszervezési lehetőségek. Programegységek (alprogram, blokk, csomag, taszk). Paraméterkiértékelés, paraméterátadás. Hatáskör és élettartam. Fordítási egységek. Input-output, állományok kezelése. Absztrakt adattípus. Generikus programozás. Párhuzamos programozás. A gyakorlaton egy eljárásorientált programozási nyelv elsajátítása a cél. Zárthelyi dolgozatok Gyakorlati jegy A zárthelyi dolgozatok értékelése, gyakorló feladatok Nyékiné G. J. (szerk.): Programozási nyelvek. Kiskapu. 2003. R.W. Sebesta, Concepts of Programming Languages. Addison-Wesley, 2002. Horowitz, E.: Magasszintű programnyelvek, Műszaki, 1987. Juhász I.: Magasszintű programozási nyelvek 1. Elektronikus jegyzet. Debreceni Egyetem, 2003. Kernighan B. W. Ritchie, D. M.: A C programozási nyelv, Műszaki, 2001. Benkő Tiborné, Benkő L., Tóth B., Varga B.: Programozzunk Turbo Pascal nyelven! Kezdőknek - középhaladóknak ComputerBooks, Budapest, 2001. Angster Erzsébet: Programozás tankönyv, 4KÖR Bt., Bp, 2000
Programozási nyelvek II. PMB1205 Meghirdetés féléve 2 Kreditpont 5 gyakorlati jegy Előfeltétel (tantárgyi kód) PMB1204 Tantárgyfelelős neve és beosztása Dr. Bajalinov Erik, egyetemi docens Az objektumorientált, funkcionális, logikai és egyéb programozási nyelvek jellemzőinek megtanulása. Egy objektumorientált programozási nyelv haladó szintű elsajátítása. Az objektumorientált nyelvek eszközrendszere: osztály, objektum, bezárás, öröklődés, polimorfizmus, korai és késői kötés, üzenetek. Tiszta és hibrid objektumorientált nyelvek. Az egységesség kérdése. Az algoritmikus objektumorientált nyelvek (Java, Eiffel, Smalltalk, C#). Funkcionális(applikatív) programozási nyelvek. A függvény, mint programozási eszköz. Hivatkozási átlátszóság, függvényösszetétel, rekurzió. Logikai programozási nyelvek. A matematikai logikán alapuló paradigma eszközei. Mintaillesztés, következtetőgép. A deklaratív objektumorientált nyelvek (CLOS, OOPROLOG). Adatvezérelt programozás, adatfolyam nyelvek. Specilizációs nyelvek. Egyéb nyelvek. A gyakorlaton egy objektumorientált programozási nyelv elsajátítása a cél. Zárthelyi dolgozatok Gyakorlati jegy A zárthelyi dolgozatok értékelése, gyakorló feladatok Nyékiné G. J. (szerk.): Programozási nyelvek. Kiskapu. 2003. Juhász I.: Magasszintű programozási nyelvek 2. Elektronikus jegyzet. Debreceni Egyetem, 2003. R.W. Sebesta, Concepts of Programming Languages. Addison-Wesley, 2002. Horowitz, E.: Magasszintű programnyelvek, Műszaki, 1987. Tóth Bertalan: Programozzunk C++ nyelven, Computerbooks, 2003 Nyékiné G. J.: (szerk.): Java 2 útikalauz programozóknak. ELTE TTK Hallgatói Alapítvány, 2000. Angster Erzsébet: Objektumorientált tervezés és programozás Java, 4KÖR Bt, Budapest, 2002.
Operációs rendszerek PMB1206 Meghirdetés féléve 2 Kreditpont 4 Előfeltétel (tantárgyi kód) PMB1201 Tantárgyfelelős neve és beosztása Dr. Vályi Sándor, főiskolai docens A hallgatók megtanulják az operációs rendszerek felépítésének, működésének alapelveit. Ismerkedjenek meg konkrét operációs rendszerekkel (pl. Windows, Unix). Rendszer fogalma, számítógépes rendszerek hierarchikus felépítése, operációs rendszer fogalma. Hardver alapfogalmak az operációs rendszerek szemszögéből nézve: processzorok, operatív tárak, háttértárak, egyéb perifériák, megszakítási rendszer. Operációs rendszerek osztályozásai (egy-felhasználós, kötegelt multiprogramozott, időosztásos, tranzakciós, valós idejű, elosztott, hálózati). Operációs rendszerek komponensei, funkciói és szolgáltatásai: rendszer adminisztráció (processzor ütemezés, megszakítás kezelés, szinkronizáció, folyamatvezérlés, tárkezelés, periféria-kezelés, állománykezelés, működtetés, nyilvántartás, operátori interfész), program-fejlesztési támogatás (szövegszerkesztők, fordítók, interpreterek, könyvtárkezelés, szerkesztő/betöltő, programtesztelést támogató eszközök, integrált programfejlesztői környezet), alkalmazói támogatás (operátori ill. kötegelt munkavezérlő parancsnyelvi rendszer, shell, grafikus felhasználói interfész - GUI, rendszer szolgáltatások, segédprogram készlet, alkalmazói programcsomagok). Gyakorlaton a hallgatók egy-két operációs rendszer (pl. MsWindows, Linux) alapvető felépítésével és használatával ismerkednek meg. Zárthelyi dolgozat A zárthelyi dolgozat eredményének beszámítása a vizsgába A. S. Tanenbaum, A. S. Woodhull, Operációs rendszerek; Budapest : Panem ; 1999, Silberschatz, Abraham, Operating system concepts, [Abraham Silberschatz, Peter B. Galvin ],4 th ed. Reading, Mass. : Addison-Wesley, c1994, xvi, Nutt, Gary J., Operating systems : a modern perspective / Gary J. Nutt. - 1. print. Reading, Mass. [u.a.] : Addison-Wesley, 1997. - XXII, 630 S. Frisch, Aeleen, Windows NT rendszeradminisztráció, ford. Mogyorósi István, [Budapest] : Kossuth ; [cop.] 1999, Petersen, Richard, Linux : referenciakönyv : könnyen is lehet, [ford. Szilágyi Erzsébet, Vankó György, Varga Imre] ; [a 21. fejezet szerzői Mayer Gyula, Sudár Csaba és Wettl Imre] Budapest : Panem ; Maidenhead : McGraw-Hill, 1998
Adatszerkezetek és algoritmusok PMB1207 Meghirdetés féléve 2 Kreditpont 3 Heti kontakt óraszám (elm.+gyak.) 1+1 Előfeltétel (tantárgyi kód) PMB1204 Tantárgyfelelős neve és beosztása Dr. Vályi Sándor, főiskolai docens A hallgatók átfogó ismereteket szerezzenek a különböző adatszerkezetek sajátosságairól, a hozzájuk kötődő algoritmusokról és felhasználhatóságukról. Adatszerkezetek fogalma, osztályozása. Műveletek adatszerkezetekkel (létrehozás, bővítés, törlés, csere, rendezés, keresés, elérés, bejárás, feldolgozás). Adatszerkezetek ábrázolása (folyamatos és szétszórt) és reprezentációja. Adatszerkezetek implementációja. Adatszerkezetek alkalmazása. Absztrakt adatszerkezetek. Halmaz, multihalmaz, tömb, táblázat, lista, verem, sor, sztring, fa, háló, rekord. Állománykezelés. Műveletek állományokkal (létrehozás, módosítás, feldolgozás, újraszervezés, rendezés, elérés). Állományszerkezetek (egyszerű, összetett), láncolás és indexelés. Írásbeli vizsga Marton László, Fehérvári Arnold: Algoritmusok és adatstruktúrák, Novadat, Győr, 2002 Cormen, Thomas H.: Algoritmusok, Műszaki Kvk.,Budapest, 2001 Bognár K.: Adatszerkezetek és algoritmusok. Egyetemi jegyzet. Debrecen, 1998. Járdán Tamás: Adatszerkezetek és algoritmusok, EKTF Líceum K., Eger, 1998 Lipshutz: Adatszerkezetek, Panem Kft. Budapest, 1993 D. E. Knuth: A számítógép programozás művészete I. Műszaki Könyvkiadó Budapest, 1994 D. E. Knuth: A számítógép programozás művészete III. Műszaki Könyvkiadó Budapest, 1994
Hálózati architektúrák és osztott rendszerek PMB1208 Meghirdetés féléve 2 Kreditpont 3 Heti kontakt óraszám (elm.+gyak.) 2+0 Előfeltétel (tantárgyi kód) PMB1202 Tantárgyfelelős neve és beosztása Dr. Bajalinov Erik, egyetemi docens A számítógépes kommunikáció alapjainak, felépítésének, működésének a megismerése, azok hatékony és eredményes alkalmazása érdekében. Számítógép hálózatok elméleti alapjai. Hálózati topológiák és architektúrák. Az OSI modell rétegeinek főbb jellemzői: fizikai átviteli jellemzők és módszerek, közeg-hozzáférési módszerek, adatkapcsolati protokollok, hálózati réteg, szállítási réteg, együttműködési réteg, megjelenítési réteg, alkalmazási réteg. Lokális hálózatok. Az Internet alapjai. Párhuzamos számítógépek, hardver rendszerek. Írásbeli vizsga Andrew S. Tanenbaum: Számítógép-hálózatok, Panem-Prentice Hall Könyvkiadó Kft. 1999. Fred Halsall: Data Communications, Computer Networks and Open Systems, Fourth Edition. Addison-Wesley Publishers Ltd. 1996. Stallings W.: Data and Computer Communications, Fifth Edition. Prentice-Hall, Inc. 1997. RFC Dokumentumok http://www.rfc-editor.org/
Programozási technológiák PMB1209 Meghirdetés féléve 3 Kreditpont 5 gyakorlati jegy Előfeltétel (tantárgyi kód) Tantárgyfelelős neve és beosztása Dr. Dömösi Pál Béla, egyetemi tanár A programfejlesztés alapvető elméleti és gyakorlati ismereteinek elsajátítása egy modern programozási nyelven, rendszeren (pl. Java) keresztül. A szoftverkrízis kihívása és a válaszok. Moduláris, struktúrált és objektumorientált programozási módszertanok. Formális programfejlesztés. Újrafelhasználásorientált programozás. Az absztrakció szerepe. Programozási minták. Komponensek. Eseményvezérelt programozás. Programozási nyelvek kifejezőereje. A jó programozási stílus. Modern programozási rendszerek, technológiák (pl. Java). Zárthelyi dolgozatok Gyakorlati jegy A zárthelyi dolgozatok értékelése, gyakorló feladatok Nyékiné G. J.: (szerk.): Java 2 útikalauz programozóknak. ELTE TTK Hallgatói Alapítvány, 2000. Angster Erzsébet: Objektumorientált tervezés és programozás Java, 4KÖR Bt, Budapest, 2002. Ian Sommerville: Szoftverrendszerek fejlesztése. Panem, 2002.
Adatbázisrendszerek PMB1211 Meghirdetés féléve 4 Kreditpont 5 Előfeltétel (tantárgyi kód) PMB1201 Tantárgyfelelős neve és beosztása Dr. Fazekas Szilárd Zsolt, főiskolai adjunktus A hallgatókat az előadáson megismertetni az adatbázisrendszerek elméletének alapjaival, miközben ezzel párhuzamosan a gyakorlaton az elmélet alkalmazása kerül bemutatásra. Az adatbázisrendszerek és az adatbázis szemlélet kialakulása. A hagyományos adatkezelés problémái. Az adatbázisrendszerek kialakulásának történeti áttekintése. Az adatok erőforrás jellege. Az adatbáziskezelés mint erőforrással való gazdálkodás. Az adatbázisrendszerek architektúrája az adatbáziskezelés alapfogalmai. Külső szint, koncepcionális és fizikai szint. Adatdefiníció és adatmanipuláció, ezek nyelvi támogatása. Adatmodell, séma, metaadatbázis, adatszótár, befogadó és önálló nyelvű rendszerek. Az adatbázis adminisztrátor. Adatfüggetlenség és adatmodellezés. Az adatmodellezési feladat C.W. Bachman féle megfogalmazása. Az ER-modell. A CODASYL DBTG javaslat és a hálós adatmodell. Hierarchikus adatmodell. Integritási kérdések. A relációs adatmodell. Alapfogalmak, reláció séma. Funkcionális függőségek és tulajdonságaik. Kulcsok. Anomáliák. Normálformák. A relációs modellen alapuló adatmanipuláció: relációs algebra és kalkulus. SQL. A relációs adatmodell általánosításai. Beágyazott modell, objektum relációs technikák, adatkocka. Imlementációs kérdések. Egy konkrét, az SQL-t implementáló adatbáziskezelő rendszer megismertetése. Két zárthelyi dolgozat, mely eredménye beleszámít a vizsgajegybe. A zárthelyi dolgozat eredményének beszámítása a vizsgába J. D. Ulmann J. Widom: Adatbázisrendszerek (Alapvetés), Panem, Budapest, 1998. E. Garcia J. D. Ulmann J. Widom: Adatbázisrendszerek (Megvalósítás), Panem, Budapest, 2000. R. Elmasri, S.B. Navathe, Fundamentals of database systems, The Benjamin / Cummings Publ. Co., (Addison-Wesley World Student Series), 1994 J.D. Ullman, Principles of database and knowledgebase systems, I-II, Computer Science Press Halassy Béla: Adatmodellezés, Budapest : Nemzeti Tankönyvkiadó, 2002. Georg Koch - Kevin Loney: ORACLE8 (Teljes referenciakönyv az ORACLE 7 & 8 verziókhoz, Panem, 1999. Quittner Pál: Adatbáziskezelés a gyakorlatban, Akadémiai Kiadó, Budapest, 1993.
Mesterséges intelligencia PMB1212 Meghirdetés féléve 5 Kreditpont 5 Előfeltétel (tantárgyi kód) PMB1209E Tantárgyfelelős neve és beosztása Dr. Vályi Sándor, főiskolai docens A mesterséges intelligencia alapvető reprezentációs technikáinak és megoldáskereső eljárásainak a megismerése, programozása. A mesterséges intelligencia kutatási területei, módszerei, eredményei. Problémák reprezentálása állapottéren, példák. A gráfreprezentáció. Megoldást kereső rendszerek felépítése, csoportosítása. Nem módosítható stratégiák. A backtrack algoritmus. Gráfkereső eljárások: szélességi, mélységi, optimális keresések. Heurisztikus gráfkeresők: a best-first és az A algoritmusok. Az A algoritmus teljessége. Probléma-redukciós feladatmegoldás, reprezentálása ÉS/VAGY gráffal. Megoldás az ÉS/VAGY gráfban. Keresési stratégiák ÉS/VAGY gráfban: szélességi, mélységi, AO algoritmus. A terminálás figyelése címkézéssel. Kétszemélyes játékok, ábrázolásuk játékfával. A nyerő stratégia létezése. A minimax eljárás, az alfa-béta vágás. A Prolog programozási nyelv elemei, ezek deklaratív és procedurális jelentése. Prolog példák. Évközben a hallgatók néhány MI feladatot számítógépes program segítségével megoldanak és dokumentálva benyújtanak. Kollokválni a feladatmegoldások elfogadása után lehet. Futó Iván (szerk.): Mesterséges intelligencia, Aula Kiadó,Budapest, 1999. Stuart J. Russell, Peter Norvig : Mesterséges intelligencia modern megközelítésben, Panem- Prentice Hall, Budapest, 2000.
A programozás módszertana PMB1214 Meghirdetés féléve 6 Kreditpont 3 Heti kontakt óraszám (elm.+gyak.) 2+0 Előfeltétel (tantárgyi kód) PMB1205E Tantárgyfelelős neve és beosztása Dr. Ionescu Klára, főiskolai docens A hallgatók ismerjék meg a programok tervezésének, kódolásának, tesztelésének, hibakeresésének és javításának módszereit és eszközeit. Képesek legyenek a felhasználói környezetnek megfelelő programot készíteni. Ismerjék a grafikus felhasználói interfész alapvető elemeit, használatuknak alapelveit. Programtervezési elvek. Felhasználók elemzése. Programtervező eszközök. Algoritmusleíró eszközök. A program helyességének belátása. Programtesztelési módszerek és eszközök. A programok hatékonysága. A programok futási idejének, helyfoglalásának és bonyolultságának csökkentése. A grafikus felhasználói interfész tervezésének szempontjai. A színek használata. Hangok használata. Üzenetek tervezésének a szabályai. A műszaki dokumentáció elemei. A felhasználói dokumentáció elemei. A forráskód dokumentálása. Tesztelési módszerek, tesztdokumentáció. Írásbeli vizsga Zohar Manna: Programozáselmélet, Műszaki Kvk., Budapest, 1981. Zsakó László: Módszeres programozás: Hatékonyság, ELTE TTK, Budapest, 1995. Szlávi Péter Zsakó László: Módszeres programozás: Programozási tételek, ELTE TTK, Budapest, 1996. Szlávi Temesvári Zsakó: Módszeres programozás: A programkészítés technológiája, ELTE TTK, Budapest, 1996. Sike Sándor Varga László: Szoftvertechnológia és UML, ELTE Eötvös Kiadó, Budapest, 2001. Pap Gáborné Szlávi Péter Zsakó László: Módszeres programozás: Adattípusok, ELTE TTK, Budapest, 1998. Pap Gáborné Szlávi Péter Zsakó László: Módszeres programozás: Rekurzív típusok, ELTE TTK, Budapest, 1998.