Tantárgy adatlapja

Tárgy neve: Adatszerkezetek és algoritmusok
Tárgy kódja: P-ITSZT-0012
Óraszám: N: 2/1/2, L: 0/0/0
Kreditérték: 6
Az oktatás nyelve: magyar
Követelmény típus: Kollokvium
Felelős kar: ITK
Felelős szervezeti egység: Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar
Tárgyfelelős oktató: Dr. Tornai Kálmán
Tárgyleírás:

Tantárgy neve:Adatszerkezetek és algoritmusok
P-ITSZT-0012
Tárgyfelelős:Tornai Kálmán
Tantárgy oktatója:Tornai Kálmán
A tantárgy céljának rövid ismertetése:A tárgy célja az algoritmikus gondolkodás megalapozása, az alapvető adatszerkezetek és algoritmusok elméleti és gyakorlati megértése, valamint azok hatékony alkalmazásának elsajátítása. A hallgatók képessé válnak algoritmusok működésének elemzésére, hatékonyságuk összehasonlítására, és megfelelő adatstruktúrák kiválasztására konkrét problémák megoldásához.
Elsajátítandó elméleti ismeretanyag:Algoritmuselméleti alapfogalmak, Absztrakt adattípusok fogalma, adatszerkezet–algoritmus kapcsolat, Algoritmusok hatékonyságelemzése, Alapvető adatszerkezetek elmélete (Tömbök, listák, verem, sor, prioritásos sor és hierarchikus adatszerkezetek tulajdonságai.), Rendezések elméleti háttere (Összehasonlításos rendezések alaptételei; stabilitás, in-place jelleg, átlagos és legrosszabb esetek elemzése), Keresési struktúrák és módszerek, Bináris keresőfák, kiegyensúlyozott fák elméleti modelljei, Hash-elési eljárások és ütközéskezelési stratégiák.
Elsajátítandó gyakorlati ismeretanyag:Absztrakt adattípusok és implementációjuk, Tömbök, verem, sor, prioritásos sor; egyszerű és összetett műveletek gyakorlati megvalósítása, Kupac (heap) használata prioritásos sor megvalósítására., Láncolt listák, fák gyakorlati megvalósítása; bináris fák bejárásai, műveletek implementálása.
Buborék-, beszúró-, kiválasztásos rendezés; heap sort, quick sort, merge sort megvalósítása és tesztelése, Külső rendezések és edényrendezések gyakorlati példákon. Hasításos technikák (hash-elés) gyakorlati használata.
A 2-4 legfontosabb kötelező irodalom felsorolása bibliográfiai adatokkal (szerző, cím, kiadás adatai, (esetleg oldalak), ISBN):T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Új algoritmusok. Budapest, Hungary: Scolar Kiadó, 2003. ISBN: 963-9193-90-9.
L. Rónyai, G. Ivanyos, and R. Szabó, Algoritmusok. Budapest, Hungary: Typotex Kiadó, 1999. ISBN: 978-963-493-101-0.
A 2-4 legfontosabb ajánlott felsorolása bibliográfiai adatokkal (szerző, cím, kiadás adatai, (esetleg oldalak), ISBN):M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Data Structures and Algorithms in C++. Hoboken, NJ, USA: Wiley, 2014/2015. ISBN: 978-0-470-38327-8.
R. Sedgewick and K. Wayne, Algorithms, 4th ed. Upper Saddle River, NJ, USA: Addison-Wesley, 2011. ISBN: 978-0-321-57351-3.
Elmélet-gyakorlat aránya:Elméleti óra óraszáma: 2
Gyakorlati óra és labor óra óraszáma: 1 + 2
Az alkalmazott oktatási módszerek:hagyományos, frontális elméleti előadás; vizuális szemléltetés; magyarázat és közös problémaelemzés; gyakorlati feladatmegoldás egyéni és csoportos formában; interaktív elemek: algoritmusok összehasonlítása, vita a hatékonyságról; hallgatói aktivitásra építő megbeszélés és konzultáció; önálló gyakorlófeladatok és programozási feladatmegoldás
Az értékelés módja:Kollokvium
Az értékelés kritériuma:Az értékelési módszerek alkalmasak a hallgatók elméleti tudásának, problémamegoldó képességének és önálló algoritmikus gondolkodásának mérésére.
Elégtelen (1): A hallgató nem teljesíti a minimumkövetelményeket, az alapvető algoritmuselméleti és gyakorlati kompetenciák nem igazolhatók.
Elégséges (2): A hallgató ismeri az alapfogalmakat és algoritmusokat, de alkalmazásuk bizonytalan, részben hiányos.
Közepes (3): A hallgató a tanult adatszerkezeteket és algoritmusokat többnyire helyesen alkalmazza, kisebb pontatlanságokkal, a tanulási eredmények döntően teljesülnek.
Jó (4): A hallgató biztos elméleti tudással rendelkezik, az algoritmusokat önállóan és helyesen alkalmazza, megoldásait indokolni tudja.
Jeles (5): A hallgató magas szintű elméleti és gyakorlati kompetenciákat mutat, komplex problémákra hatékony megoldásokat ad, az algoritmusok közötti választás tudatos és megalapozott.
A fentiek érdekében a félév során két gyakorlati zárthelyi dolgozatot szükséges megírni, programozási feladat megoldásával, valamint elméleti tesztkérdések megválaszolásával. Továbbá gyakorlati házifeladatok elkészítése és szóbeli bemutatása történik a szorgalmi időszakban. A félévet szóbeli vizsga zárja, amely során elméleti kérdések és összefüggések megválaszolása a hallgató feladata.
Miként járul hozzá a tantárgy a KKK-ban megjelölt kompetenciaelemek megszerzéséhez:

Mérnökinformatikus alapképzés:
A tantárgy megalapozza a mérnökinformatikus képzéshez szükséges algoritmikus gondolkodást, adatreprezentációs szemléletet és hatékonyságelemzési kompetenciát. A hallgatók képessé válnak alapvető adatszerkezetek és algoritmusok működésének elemzésére, összehasonlítására és implementálására, valamint a problémának megfelelő megoldási modell és adatstruktúra tudatos kiválasztására.

Molekuláris bionika mérnöki alapképzés:
A tantárgy megalapozza a molekuláris bionika mérnöki képzéshez szükséges algoritmikus gondolkodást, adatreprezentációs szemléletet és hatékonyságelemzési kompetenciát. A hallgatók képessé válnak az adatok strukturált kezelésére és olyan algoritmusok kiválasztására, amelyek biológiai, mérési vagy képfeldolgozási problémákban is alkalmazhatók.

A tárgy az alábbi képzéseken vehető fel

mérnökinformatikus IANI-MI alapképzés (BA/BSc/BProf) Nappali magyar 7 félév ITK
molekuláris bionika mérnöki IANI-MB alapképzés (BA/BSc/BProf) Nappali magyar 7 félév ITK
szechenyi-img-alt