TIES542 Ohjelmointikielten periaatteet (5 op)

Opinnon taso:
Syventävät opinnot
Arviointiasteikko:
0-5
Suorituskieli:
englanti, suomi
Vastuuorganisaatio:
Informaatioteknologian tiedekunta
Opetussuunnitelmakaudet:
2024-2025, 2025-2026, 2026-2027, 2027-2028

Avainteksti

Tarkemmat ja ajankohtaisemmat tiedot löytyvät toteutuksen tiedoista.

Kuvaus

Tällä kurssilla käydään läpi ohjelmointikielten teorian ja toteutuksen yleisimmät käsitteet ja menetelmät, joihin lukeutuvat ainakin operaatiosemantiikka: ison askeleen (luonnollinen) ja pienen askeleen (rakenteellinen) semantiikka; tyyppijärjestelmät: tyypitys, tyypinpäättely ja tyyppintarkistus; yksinkertainen imperatiivinen ohjelmointikieli: syntaksi, laskenta ja ominaisuudet; imperatiivisten ohjelmien analysoiminen: pysähtyminen, yksiselitteisyys, ohjelmien yhtäläisyys, esiehdot, jälkiehdot ja silmukkainvariantit; yksinkertaisesti tyypitetty lambdalaskenta: syntaksi, sieventäminen, ominaisuudet ja laajennukset; sekä funktionaalisten ohjelmien analysoiminen: sieventämisen yhtenevyys ja eteneminen, tyypityksen säilyminen ja järkevyys.

Osaamistavoitteet

Tällä kurssilla tutustumme ohjelmointikielten teoriaan ja pohdimme hyvän ohjelmointikielen olemusta. Tämän kurssin tavoite on tarjota teille kosketus ohjelmointikielten tutkimuksen keskeisimpiin menetelmiin ja muodostaa teille riittävät pohjatiedot siihen, että voitte myöhemmin tutustua ohjelmointikielten tutkimuskirjallisuuteen ilman kyyneliä. Toisaalta tämä kurssi tarjoaa teille myös erinomaisen tekosyyn uudenlaisten työkalujen ja työtapojen kokeilemiseen.

Lisätietoja

Itsenäinen suoritustapa (suoritetaan itsenäisesti tekemällä opettajan kanssa sovitut tehtävät).

Esitietojen kuvaus

Tällä kurssilla ei ole ehdottomia kurssimuotoisia esitietovaatimuksia. Osallistujilta kuitenkin edellytetään vahvaa imperatiivisen ja funktionaalisen ohjelmoinnin osaamista, kääntäjätekniikan perusteiden tuntemusta, huomattavaa matemaattista kypsyyttä sekä tervettä asennetta työntekoon. Matemaattinen kypsyys ei ainoastaan tee kurssista mahdollista suorittaa, vaan auttaa sen lisäksi luomaan yhteyksiä sellaisiin asioihin, joita käsitellään syvällisemmin muilla kursseilla.


Suositeltuja esi-/taustietoja: Ohjelmointi-kurssit, algoritmit, logiikka (MATA-), funktio-ohjelmointi. 

Suoritustavat

Tapa 1

Kuvaus:
Tällä kurssilla ei ole opetustilaisuuksia. Kurssi suoritetaan itsenäisesti tekemällä opettajan kanssa sovitut tehtävät.
Valitaan kaikki merkityt osat
Suoritustapojen osat
x

Itsenäinen työskentely (5 op)

Tyyppi:
Itsenäinen työskentely
Arviointiasteikko:
0-5
Suorituskieli:
englanti, suomi

Opetus