Nyomtatás

Miskolci Egyetem - Gépészmérnöki és Informatikai Kar

TANTÁRGYI TEMATIKA

Programtervezési ismeretek; BSc (Nappali)

Tantárgy neve:
Programtervezési ismeretek
Tantárgy Neptun kódja:
Nappali: GEMAK211-B
Tárgyfelelős intézet:
MAT - Matematikai Intézet
Tantárgyelem: A
Tárgyfelelős: -
Közreműködő oktató(k): Piller Imre
Javasolt félév: 1 Előfeltétel:-
Óraszám/hét:
Előadás (nappali): 2
Gyakorlat (nappali): 2
Számonkérés módja: kollokvium
Kreditpont: 5Munkarend: Nappali
Tantárgy feladata és célja:
A programozási alapok elméleti kiterjesztése. Olyan elméleti alapok elsajátítása, amely minden további programozási nyelvnek része. Modellek és alapvető algoritmusok fejlesztése, használata. Elemi algoritmusok megértése, ezek ábrázolása többféle módon (pszeudokód, folyamatábra, struktrogram).
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. Ismeri az informatikai szakterület tervezési, fejlesztési, működtetési és irányítási folyamatainak alapvető feladatmegoldási elveit, módszereit és eljárásait, különösen - választott specializációjának megfelelően - a következő területeken: programozási technológia, adatbázisok felépítése és menedzselése, vállalati információs rendszerek felépítése és menedzselése, internet eszközök és szolgáltatások fejlesztése, térinformatikai rendszerek fejlesztése, osztott rendszerek felépítése, menedzselése, információbiztonság, logika informatikai alkalmazásai. Alapvető ismeretekkel rendelkezik a rendszertervezés alapjai és a projektmenedzsment módszertanok területén.
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 az informatikai szakterület tudásanyagát alkalmazni meglévő rendszertervek értelmezése és szoftverfejlesztési módszertanok és technológiák alkalmazása során, különös tekintettel a projekt munkában történő szoftverfejlesztésre, dokumentálásra, tesztelésre, kódminőség ellenőrzésre, validálásra. Képes az informatikai szakterület tudásanyagát alkalmazni mesterséges intelligencia technikák, eszközök használata során. Képes az informatikai szakterület tudásanyagát alkalmazni osztott rendszerek használata során.
Attitűd: Nyitott a képesítésével, szakterületével kapcsolatos szakmai, technológiai fejlődés és innováció megismerésére és befogadására. Fontosnak tartja az informatikai szakmai eredmények közvetítését szakmai és nem szakmai körök számára. Elfogadja az informatikai szakma munka- és szervezeti kultúra szabályait, etikai elveit. Törekszik más szakterületek szakembereivel való együttműködésre. Munkája során figyelembe veszi az informatikai szakterület jogi előírásait.
Autonomia és felelősség: Felelősséget vállal szakmai tevékenységéért.
Tárgy tematikus leírása:
A modellek szerepe a probléma megoldásban, a modellezés szükségessége. Az adat és ábrázolása, megjelenítése. Az algoritmus fogalma, az algoritmizálás. Az algoritmus lejegyzése, ellenőrzése, dokumentálása. 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. A számítógép szerepe, a hardver és a szoftver megválasztása. 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):
2db zárthelyi. 6-6 pontos zárthelyik. Aláírás megszerzése: mindkét zárthelyi legalább 3 pontos megírása (minden feladat tökéletes megoldása 1 pontot ér).
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):
A vizsga írásbeli. A vizsga 90 perces és 8 pontot lehet maximálisan megszerezni (azaz összesen 8 feladat beugró nélkül és minden feladat tökéletes megoldása 1 pontot ér). A vizsga során számonkérésre kerülnek pl. az alapalgoritmusok, melyek beugrónak számítanak a vizsgán, azaz ezek teljesítése kötelező a legalább elégséges jegy megszerzéséhez. A jegyek kiosztása a következő: 0-3p elégtelen(1); 4p elégséges(2); 5p (közepes); 6p (jó); 7-8p jeles(5) az eredmény.
Gyakorlati jegy / kollokvium teljesítésének módja, értékelése (Levelező):
Kötelező irodalom:
1. Szlávi Péter, Zsakó László: Módszeres programozás, NJSZT gondozásában, 1991-96.
2. Tömösközi Péter: Algoritmizálás alapjai, Tankönyvtár, 2011.
3. Thomas H. Cormen, Charles E. Leiserson: Introduction to Algorithms, Eastern Economy Edition, 2010.
4. Iványi Antal (szerkesztő): Informatikai Algoritmusok I., ELTE Eötvös Kiadó, 2004.
5. Iványi Antal (szerkesztő): Informatikai Algoritmusok II., ELTE Eötvös Kiadó, 2004.
Ajánlott irodalom:
1. Iványi Antal (szerkesztő): Informatikai Algoritmusok III., Mondat Kft., 2013.
2. Antal Iványi (editor): Algorithms of Informatics volume I., Mondat Kft., 2014.
3. Antal Iványi (editor): Algorithms of Informatics volume II., Mondat Kft., 2014.
4. Antal Iványi (editor): Algorithms of Informatics volume III., Mondat Kft., 2013.
5. Douglas Bell - Ian Morrey - John R. Pugh: Programtervezés, Pult Kft., 2003.