TIES5301 Eksakti ohjelmistokehitys (5 op)
Avainteksti
Kuvaus
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
Suoritustavat
Luentojen kuuntelu, harjoitustehtävien teko ja loppukuulustelu
Arviointiperusteet
Hyväksytty suoritus edellyttää loppukuulusteluun osallistumista ja hyväksyttyä suoritusta.
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.
Esitietojen kuvaus
Kurssi vaatii loogista päättelykykyä.