Kurssi on tietojenkäsittelytieteen syventävien opintojen valinnainen kurssi. Kiinnostuksen kohteina ovat ohjelmointikielten käsitteet ja rakenteet, kielten kehitys ja ohjelmointiparadigmat. Kielten toteuttamiseen - kääntäjiin, tulkkeihin yms. puututaan vain sikäli kuin se on tarpeen mainittujen aihepiirien ymmärtämiseen - ohjelmointikielten toteuttamisesta on oma kurssinsa. Esitietoina oletetaan perus- ja aineopinojen pakolliset kurssit suoritetuiksi. Osallistujilta edellytetään myös ohjelmointikokemusta ja jonkin yleisen ohjelmointikielen hyvää tuntemusta. Kurssilla käytetään työkaluna Scala-ohjelmointikieltä.
Kurssi perustuu teokseen Scott M.: Programming Language Pragmatics (2nd ed.), Morgan Kaufmann, 2006. Scala-kielen oppaana käytetään teosta Odersky M., Spoon L., Venners B.: Programming in Scala, Artima Press, 2008.
1. Juha Vihavainen, keskiviikkoisin 12-14 B119 (Juha.Vihavainen ättä cs.helsinki.fi) 2. Paula Kuosmanen, torstaisin 16-18 C222 (paula.k.kuosmanen ättä helsinki.fi)Harjoituksissa pohditaan tehtäviä, joiden ratkaisut opiskelijat toimittavat etukäteen oman ryhmänsä ohjaajalle. Tehtävien ratkaisut lähetetään sähköpostitse oman ryhmän ohjaajalle viimeistään harjoitusviikon tiistaina kello 12:00. Ainoastaan nämä ennalta toimitetut ratkaisut otetaan huomioon harjoituspisteitä määrättäessä. Jokaisesta läsnäolosta harjoituksissa saa lisäksi yhden kurssipisteen. Harjoituksissa läsnäolijoiden on varauduttava pyydettäessä esittelemään ratkaisujaan.
Opiskelijat saavat halutessaan muodostaa opiskelijatyöryhmiä ("opintopiirejä"). Ohjaajalle sähköpostitetuissa ratkaisuissa luetellaan opiskelijanumeroineen opiskelijat, jotka saavat "rastin" kustakin ratkaisusta. On täysin ryhmän sisäinen asia, kenelle "rastit" suodaan. Ryhmät voivat myös muuttua harjoituskerroittain tai jopa tehtävittäin; "rastien" saamisessa ratkaisevaa on, ketkä luetellaan tehtävän tekijöiksi. Voidaan siis ajatella, että opiskelijatyöryhmät voivat olla jopa tehtäväkohtaisia! Luultavasti kuitenkin pidempikestoinen yhteistyö on hedelmällisempää.