1. Egyszerű program készítése. Programozási minták. Összegzés programozási tétele.
2. Programozási tételek. (számlálás, maximum kiválasztás, kiválasztás, lineáris keresés, feltételes maximumkeresés) 
3. Többszörös beágyazott visszavezetés. Alprogramok használata.
4. Implementálás. Csomagokra bontott program. 
5. A,B,T: Rekurzív függvény kiszámításának tétele és a rekurzív függvény kibontása.
    C,E: Program átalakítások.
6. Adattípus fogalma. Típus megvalósítása osztállyal.
7. Absztrakt típus és típus-megvalósítás.
8. Nevezetes típus-szerkezetek. Felsoroló típus. Programozási tételek felsorolóra.
9. Visszavezetés nevezetes felsorolókkal. 
10. A,B,T: Visszavezetés egyedi (gyűjtemény nélküli, feltétel fennállásáig tartó és csoportonkénti) felsorolóval. 
     C,E: Visszavezetés nevezetes felsorolókkal.
11. Visszavezetés összefuttató felsorolóval.
12. Évfolyamzárthelyi