TIES5301 Exact Methods in Program Development (5 cr)
Tweet text
Description
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.
Learning outcomes
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.
Description of prerequisites
Kurssi vaatii loogista päättelykykyä.