Szoftvertervezés és -fejlesztés I. VK

Oktatási cél: A hallgatók algoritmikus gondolkodásának fejlesztése, algoritmus-alkotási készség kialakítása, gyakran használt algoritmusok megismerése. Ennek érdekében a hallgatók megismerkednek a strukturált és az objektum-orientált programozás alapelveivel és módszereivel, valamint egy konkrét objektum-orientált programnyelv használatával.

Tematika: Algoritmusok felépítése, vezérlési szerkezetek. Az algoritmus leírásának eszközei. Egyszerű programozási tételek: sorozatszámítás, eldöntés, kiválasztás, lineáris keresés, megszámlálás, maximumkiválasztás. Összetett programozási tételek: másolás, kiválogatás, szétválogatás, metszet, egyesítés, összefuttatás. Programozási tételek összeépítése. Az objektum-orientált paradigma elemei: objektum, osztály, osztályok közötti kapcsolatok. Az OOP megvalósítások általános jellemzői: egységbezárás, adatrejtés, öröklés, többalakúság, kód újrafelhasználás. Rendezések: egyszerű cserés, kiválasztásos, buborék, beillesztéses. Tesztelés és hibakeresés. Keresések és programozási tételek rendezett tömbökben. Halmazok reprezentációja és műveletei. Rekurzív algoritmusok, programozási tételek rekurzív megvalósítása. „Oszd meg és uralkodj!” elvű algoritmusok, gyorsrendezés és összefésülő rendezés. Optimalizálási problémák megoldása dinamikus programozás és mohó stratégia alkalmazásával.

Szoftvertervezés és -fejlesztés I.