Szoftvertervezés és-fejlesztés I.

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 objektum orientált programozás alapelveivel és módszereivel is, 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, maximum kivá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, buborékos, beillesztéses. Tesztelés, hibakeresés. Keresések és programozási tételek rendezett tömbökben. Halmazműveletek. 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ó algoritmusok alkalmazásával.

 

Szoftvertervezés és-fejlesztés I.