Kurssi on tietojenkäsittelytieteen syventävien opintojen valinnainen kurssi. Kurssilla perehdytään ohjelmointikielten periaatteisiin ja rakenteisiin, ohjelmointiparadigmoihin ja kielten kehitykseen. Ohjemointikielten toteuteutukseen 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. Kurssi perustuu teokseen Gabrielli, Martini: Programming Languages: Principles and Paradigms, Springer 2010. Kurssikirjasta löytyy e-versio Springeriltä. Kurssin kirjallisissa töissä edellytetään kandidaatin tutkielmassa vaadittua esitystyylin ja -tekniikan laatua!
Kurssilla on viikoittaisia luentoja 2x2 tuntia, viikoittaisia harjoituksia 1x2 tuntia sekä viisi ryhmätyönä kirjoitettavaa harjoitustyötä, joissa vertaillaan ohjelmointikielten ominaisuuksia. Kullakin ryhmällä on omat kaksi kieltä vertailtavanaan.
Harjoitustyöt kirjoitetaan harjoitusviikoille 2–6. Kirjoitusten viimeinen jättöaika, deadline, on kunkin viikon keskiviikko. Kirjoitukset toimitetaan kurssin vastuhenkilölle (AW) pdf-tiedostoina. Neljä ensimmäistä harjoitustyötä arvostellaan kurssipistein 0–3, viides, laajempi työ arvostellaan pistein 0–8. Kirjalliset työt tehdään pääsääntöisesti kolmen hengen opiskelijatyöryhmissä, mutta myös ryhmäkoot 4, 2 ja 1 ovat mahdollisia.
Viikoittaisissa harjoituksissa käsitellään harjoitustehtäviä, joita osallistujat ratkovat etukäteen. Kurssin koetehtävät ovat valtaosaltaan joko samoja tai samankaltaisia kuin harjoitustehtävät. Harjoitustehtävistä ei jaeta "malliratkaisuja". Tilaisuuksien mahdollinen anti muodostuu osallistujien aktiivisuudesta ja kiinnostavasta(?) keskustelusta. Ensimmäiselle harjoituskerralle osallistuminen torstaina 23.3. on välttämätöntä, koska silloin muodostetaan opiskelijatyöryhmät ja valitaan kullekin ryhmälle tutkittava ohjelmointikielipari.
Harjoitustehtäviä ja ohjeita harjoitustöihin löytyy kurssin harjoitustehtäväsivulta.
Kurssin arvosana määräytyy harjoitustöistä ja kurssikokeesta seuraavasti:
harjoitustyömaksimi 20 kurssikoemaksimi 40 ---- 60 pisteitä: 30 35 40 45 50 arvosana: 1 2 3 4 5
Arvosanarajat ovat alustavat. Kurssin arvostelussa on lisäksi käytössä koeleikkuri, mikä tarkoittaa sitä,että suorituksen hyväksymisen edellytyksenä on 30 yhteispisteen lisäksi vähintään puolet koepisteistä, 20 pistettä.