Algoritmusok és adatstruktúrák (GPTIFKL-ALGOADAT-1)

Alapadatok
Szak és képzési szint
Programtervező informatikus, felsőoktatási szakképzés
Tanterv
2017
Óraszám
16 (Konzultáció)
Kreditérték
5 kredit
Elmélet–Gyakorlat arány
Elmélet: %, Gyakorlat: %
Tantervi félév
2. félév
Munkarend
Levelező
Előfeltételek
Értékelés típusa
Kollokvium
Tárgy kategória
Kötelező
Nyelv
magyar
Oktatók
Tantárgyfelelős
Dr. Alvarez Gil Rafael Pedro
Felelős tanszék
Informatika Tanszék
Oktatók
Irházi Zoltán, Kovács Márk, Dr. Pásztor Attila, Agg Péter András
Ellenőrzésért felel
Irházi Zoltán
Tantárgy célja

A hallgatók megismerjék az algoritmusokkal és az adatstruktúrákkal kapcsolatos fontosabb fogalmakat, és képesek legyenek alkalmazni a megszerzett ismereteket számítástechnikai feladatok megoldásában, a szoftverfejlesztésben.

Elsajátítandó ismeretanyag

Az algoritmus fogalma. Az algoritmusok elemzésének és tervezésének alapfogalmai. Algoritmusok ábrázolásának módjai. Egyszerű algoritmusok. Rendezési algoritmusok. Keresési algoritmusok. Rekurzivitás, rekurzív algoritmusok. Algoritmusok hatékonyságának összehasonlítása. Aszimptotikus viselkedések és jelölések. Adatszerkezetek ábrázolásai és műveleteik: vermek és sorok, láncolt listák, kupacok, hash táblák. Fák ábrázolása, bináris kereső fák és műveleteik, gráfok ábrázolásai, gráfelméleti algoritmusok.

Szakmai kompetenciák
Tudás

- Ismeri az informatikai rendszerek hardver és szoftver elemeinek működését, megvalósításuk technológiáját, működtetéséből származó feladatok megoldásának mikéntjét, valamint informatikai és egyéb műszaki rendszerek összekapcsolásának lehetőségeit. - Ismeri az informatika és a mérnöki szakma szókincsét és kifejezési sajátosságait magyar és angol nyelven, legalább alapszinten.

Képesség

Képes a megszerzett ismeretekre építve mélyebb ismeretek önálló megszerzésére és alkalmazására, a szakirodalom feldolgozására. - Képes szakterületén elemzési, specifikációs, tervezési és fejlesztési feladatok ellátására, alkalmazza a fejlesztési módszertanokat, hibakeresési, tesztelési és minőségbiztosítási eljárásokat. - Folyamatosan képezi magát és lépést tart az informatikai szakma fejlődésével.

Attitűd

Nyitott az új módszerek programozási nyelvek, eljárások megismerésére és azok készség szintű elsajátítására - Nyitott az informatikai eszközöket alkalmazó más szakterületek megismerésére és azokon informatikai megoldások kidolgozására az adott terület szakembereivel együttműködve. - Törekszik a hatékony és minőségi munkavégzésre. - Hitelesen képviseli az informatika szakmai alapelveit. - Érti és magáénak érzi a szakma etikai elveit és jogi vonatkozásait.

Autonómia és felelősség

- Feltárja az alkalmazott technológiák hiányosságait, kockázatait és kezdeményezi az ezeket csökkentő intézkedések megtételét."

További szakmai kompetenciák

Képes a számítógépes feladatok megoldásához valamilyen algoritmusleíró nyelven terveket készíteni.

Számonkérés és értékelés
Félévközi követelmények

A félév során a hallgatók az utolsó előadás ZH-n egy 50 pontos elméleti zárthelyi és egy 50 pontos gyakorlati ZH dolgozatot írnak ( C# vagy C++ nyelven). A zárthelyi dolgozatok helyét és idejét a félév első konzultációján hirdeti a tárgy oktatója. Gyakorlati jegy feltétele : minimálisan a két zh részből összesen 50 pontot kell elérni.

Vizsgakövetelmények

A vizsga 60 perc, egy elméleti feladatsort kell megoldani írásban a félév konzultációinak anyagából.

Generatív MI használata

2. álláspont: A GMI-eszközök használata korlátozottan engedélyezett (pl. irodalomkutatási segítségnyújtás vagy meghatározott eszközök). Ez azt jelenti, hogy a GMI-eszközök előre meghatározott módon használhatók a feladatok elkészítéséhez, megoldásához. Ebben az esetben a tantárgy gondozójának feladata és felelőssége meghatározni, hogy a GMI-eszközök használata mely esetekben megengedett vagy nem megengedett. A tantárgyleírásban részletesen meg kell határozni, hogy a GMI-eszközök milyen módon használhatóak az adott kurzus során.

Segédanyagok, laborháttér

Neptun Meet Street-re feltöltött segédanyagok. A laboratóriumokban minden hallgatónak külön, korszerű számítógépes hozzáférés biztosított.

Irodalom
Kötelező irodalom

[1] Pásztor A., Alvarez Gil R. P.: Bevezetés az algoritmuselméletbe. KF GAMF Kar, 2006 [2] A. Pásztor: Introduction to the Basic of Algorithm Theory 2023, ISBN: 978-615-6435-37-8

Ajánlott irodalom

[1] Adonyi Róbert: Adatstruktúrák és algoritmusok, Typotex Kiadó, 2011, ISBN 9789632794884 http://tananyagfejlesztes.mik.uni-pannon.hu/images/stories/vegleges_tananyagok/ADONYI_ADATSTRUKTURAK/Adonyi_Adatstrukturak.pdf [2] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, C. Stein: Új algoritmusok. Scolar Informatika, Budapest, 2003, ISBN 9789639193901 [3] V. Aho, J. E. Hopcroft, J. D. Ullman: Számítógép-algoritmusok tervezése és analízise. Műszaki könyvkiadó, Budapest, 1982, ISBN 9631043231 [4] Knuth, D. E.: A számítógép-programozás művészete I., III. kötet. Műszaki Könyvkiadó, Budapest, 1987-1988, ISBN 9631071170