Tantárgy neve: Programtervezés szigorlat |
Tantárgy Neptun kódja: Nappali: GEMAK235-B Tárgyfelelős intézet: MAT - Matematikai Intézet |
Tantárgyelem: A | |
Tárgyfelelős: Dr. Házy Attila - egyetemi docens | |
Közreműködő oktató(k): | |
Javasolt félév: 3 | Előfeltétel:GEMAK121-B, GEMAK211B, GEMAK233-B |
Óraszám/hét: | Számonkérés módja: szigorlat |
Kreditpont: 0 | Munkarend: Nappali |
Tantárgy feladata és célja: A programtervezési alapok átfogó ellenőrzése Tudás: Ismeri az informatikai szakterület tudásanyagát megalapozó általános és specifikus matematikai, számítástudományi elveket, tényeket, szabályokat, összefüggéseket, és eljárásokat. Az érintett területek: analízis (kalkulus), numerikus analízis, diszkrét matematika, lineáris algebra, operációkutatás, valószínűségszámítás és statisztika, logikai alapok, számításelmélet, algoritmusok tervezése és elemzése, automaták és formális nyelvek, mesterséges intelligencia alapjai. Ismeri és érti az informatikai szakterület legfontosabb általános elméleteit, összefüggéseit, tényanyagát és az ezekhez szükséges felépítő fogalomrendszert, különösen az alábbi területeken: a programozás módszertani alapjai, programozási nyelvek, fordítóprogramok, alkalmazások fejlesztése, programozási környezet; számítógép architektúrák, operációs rendszerek, számítógépes hálózatok, osztott rendszerek, az adatbázisok elméleti alapjai. Képesség: Képes az általános és specifikus matematikai, számítástudományi elveket, tényeket, szabályokat, összefüggéseket alkalmazni informatikai szakterületen. Képes az informatika formális modelljeinek alkalmazására. Képes az informatikai szakterület tudásanyagát alkalmazni algoritmusok tervezésére, elemzésére és implementálására a legfontosabb programozási paradigmák figyelembe vételével. Képes informatikai tudását az elsajátított matematikai, számítástudományi elvek, tények, szabályok, eljárások alapján folyamatosan fejleszteni. Attitűd: Vállalja és hitelesen képviseli informatikai szakterülete szakmai alapelveit. Törekszik a folyamatos szakmai képzésre és általános önképzésre. Autonomia és felelősség: Felelősséget vállal szakmai tevékenységéért. Törekszik a hatékony és minőségi munkavégzésre. | |
Tárgy tematikus leírása: Absztrakt adattípusok, reprezentálásuk absztrakt adatszerkezetekkel. Az absztrakt adatszerkezetek ábrázolásának módszerei. Elemi adatszerkezetek (tömb, verem, sor, lista) és alkalmazásaik. A fa szerkezet és legfontosabb tulajdonságai, műveletei. Gyökeres fák, kupac. Kupacrendezés. Optimumfeladatok fákon. Rendezési algoritmusok. Keresési technikák. Szelekciós módszerek. Technikák algoritmusok gyorsítására. Feladatok algoritmikus megoldhatósága. Turing gépek. P és NP feladatosztályok kapcsolata. P és NP feladatok. Számelméleti algoritmusok, titkosítások. Programozás-elméleti alapfogalmak. Feladat, program, programfüggvény, megoldás, kiterjesztés. Típusspecifikáció, típus, megfelelés. Leggyengébb előfeltétel, specifikáció tétele. Programkonstrukciók, levezetési szabályok. Elemi programok. Típus-konstrukciók. Nevezetes típusok. A programozási feladat. Levezetés, visszavezetés, transzformációk. Programok különböző formái, kódolás. Programhelyesség. A modellek szerepe a probléma megoldásban.. Az adat és ábrázolása, megjelenítése. Az algoritmus fogalma, lejegyzése, ellenőrzése, dokumentálása, az algoritmizálás. Az algoritmus hatékonysága. Algoritmuskészítési technikák. A folyamatábra, struktogram, döntési táblák. Az algoritmus realizálása, a realizáció korlátai. Korlátfeloldási, lazítási lehetőségek. Programozás és a jó program készítésének alapelvei, technikái. A feladatmegoldás lezárása, dokumentációkészítési elvek | |
Félévközi számonkérés módja és az aláírás megszerzésének feltétele (Nappali): - | |
Félévközi számonkérés módja és az aláírás megszerzésének feltétele (Levelező): | |
Gyakorlati jegy / kollokvium teljesítésének módja, értékelése (Nappali): - | |
Gyakorlati jegy / kollokvium teljesítésének módja, értékelése (Levelező): | |
Kötelező irodalom: 1. 2. 3. 4. 5. | |
Ajánlott irodalom: 1. 2. 3. 4. 5. |