TIES5301 Eksakti ohjelmistokehitys (5 op)

Arvosteluasteikko
0-5
Opetuskieli/-kielet
suomi

Osaamistavoitteet

Kurssin suoritettuaan opiskelija ymmärtää eksaktien määrittelyjen merkityksen ohjelmoinnissa, osaa laatia eksaktit (matemaattiset) määrittelyt ohjelmasilmukalle, osaa laatia oikein toimivan ohjelmasilmukan määrittelyjen perusteella ja osaa soveltaa (pyrkii soveltamaan) opittuja menetelmia,
vaikkei eksakteja matemaattisia määrittelyjä olisikaan mahdollista täydellisessä muodossaan.

Suoritustavat

Luentojen kuuntelu, harjoitustehtävien teko ja loppukuulustelu

Sisältö

Kurssilla keskitytään eksaktin määrittelyn laatimiseen ja määrittelyn ohjaamaan ohjelmointiin. Toisesta näkökulmasta menettelyä voidaan pitää myös ongelmanratkaisutapana, jolla saadaan eleganteja ratkaisuja vaikeille ongelmille. Kurssi alkaa propositio- ja predikaattilogiikan kertauksella. Tämän jälkeen esittelemme käyttämämme yksinkertaistetun ohjelmointikielen ja heikoimman esiehdon käsitteen. Kurssin loppuosa sisältää menetelmiä ohjelman kehittämiseksi tavoitteen ohjaamana. Kurssin sisällysluettelo:
1. Johdanto
2. Induktio ja invariantti
3. Propositiologiikkaa
4. Predikaattilogiikkaa
5. Eksakteista määrittelyistä
6. Ohjelmointikieli ja heikoimmat esiehdot
7. Ohjelman kehittäminen tavoitteen ohjaamana
8. Invarianttien kehittäminen
9. Ohjelman kehittäminen

Arviointiperusteet

Hyväksytty suoritus edellyttää loppukuulusteluun osallistumista ja hyväksyttyä suoritusta.