Oppimateriaalin copyright © 2007 Arto Wikla. Tämän oppimateriaalin käyttö on sallittu vain yksityishenkilöille opiskelutarkoituksissa. Materiaalin käyttö muihin tarkoituksiin, kuten kaupallisilla tai muilla kursseilla, on kielletty.

581362 Ohjelmointikielten periaatteet keväällä 2007: kurssiesite

(Muutettu viimeksi 16.2.2007)

ESITE JA KURSSIN JÄRJESTELYT VOIVAT VIELÄKIN MUUTTUA, "KEHITTYÄ"!

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. Erityisesti LuK-tutkielman suoritus antaa eväitä kurssin kirjallisen osuuden tekemiseen. Osallistujilta edellytetään myös ohjelmointikokemusta ja jonkin yleisen ohjelmointikielen hyvää tuntemusta. Kurssi perustuu teokseen Scott M.: Programming Language Pragmatics (2nd ed.), Morgan Kaufmann, 2006.

Kurssin jaksot

Kurssi muodostuu kahdesta hyvin erirakenteisesta jaksosta:
  1. Aluksi (periodi 3) kurssilla on perinteiseen tapaan luentoja 2+2 tuntia viikossa ja viikoittaiset kahden tunnin harjoitukset. Tällä jaksolla käsitellään Scottin teoksen luvut 1, 2.1, 3, 6-11 ja 13. Asiaa on melko paljon ja luennoilla siitä voidaan käsitellä vain osa; kurssilla menestyminen edellyttää siksi myös oppikirjan itseopiskelua.

  2. Kurssin jälkiosa (periodi 4) rakentuu seminaarimuotoisesta työskentelystä ja itsenäisestä www-materiaalin tuottamisesta. Opiskelijatyöryhmät (1-3 opiskelijaa) tuottavat noin 5-9 sivun mittaisen ("tieteellisen") artikkelin jostakin ohjelmointikieliin liittyvästä kiinnostavasta aiheesta. Artikkelin sisältöä esitellään seminaarimuotoisesti ja kukin työryhmä opponoi jonkin toisen ryhmän artikkelia ja esitelmää.

    Opiskelijatyöryhmät laativat myös valitsemansa ohjelmointikielen ideoiden ymmärtämistä auttavan www-sivun, kielen pikaoppaan. Kyseessä on siis kurssin aihepiirin asioiden pänttäämisen lisäksi ohjelmoitikieliin liittyvän tieteellisen ja teknisen kirjoittamisen harjoittelu.

Kurssin suorittaminen

Kurssin suoritus muodostuu neljästä osasta
  1. Aktiivisuus harjoituksissa (3. periodi): 10 pistettä
  2. Kurssikoe (3. periodin jälkeen): 28 pistettä
  3. Artikkeli ja sen esittely, toisen artikkelin opponointi (4. periodi): 12 pistettä
  4. Www-muotoinen ohjelmointikielen pikaopas (4. periodi): 10 pistettä
Läpipääsyraja on tavanomainen 30 pistettä. Kurssin suorittaminen edellyttää lisäksi vähintään 14 koepisteen saamista. (Koeleikkuri pudotettiin kolmeentoista 13.3.)

Luennot ovat viikoittain 3. periodilla 17.1.-23.2. keskiviikkoisin 14-16 ja perjantaisin 12-14 salissa D122. Myös kurssin lopussa perjantaina 27.4. on vielä yksi luento.

Harjoitukset perustuvat luentoihin ja kurssikirjaan. Harjoitusryhmä kokoontuu viikoittain 23.1.- 20.2. tiistaisin kello 16-18 salissa C222 (5 kertaa). Harjoituspisteiden määräytyminen:

  merkittyjä tehtäviä:  1  4  7 10 13 16 19 22 25 28
  pisteitä:             1  2  3  4  5  6  7  8  9 10

Kurssikoe on torstaina 1.3. kello 9-12. Sali ilmoitetaan aikanaan.

Artikkeli: Kukin opiskelijatyöryhmä, "opintopiiri", kirjoittaa noin 5-9 sivun mittaisen artikkelin johonkin erityiseen ohjelmointikieleen liittyvästä kiinnostavasta aiheesta. Kirjoituksen tyylin ja esitystavan on noudatettava LuK-tutkielmalle asetettuja laatu- ja muotovaatimuksia, ks. Tieteellisen kirjoittamisen kurssin kurssikuvaus sekä erityisesti opinnäytetyön ulkoasun malli. Artikkeli esitellään julkisesti muille ryhmille ja kurssin opettajille seminaarin kaltaisissa tilaisuuksissa, jotka järjestetään 14.3.-27.4. "luentoaikoina" keskiviikkoisin 14-16 ja perjantaisin 12-14 salissa D122. Jokainen ryhmä lisäksi opponoi, arvioi kriittisesti, jonkin toisen ryhmän artikkelin ja esitelmän. Opponointi tapahtuu julkisesti heti artikkelin esittelyn jälkeen. Sekä esitelmä- että opponointiajat sovitaan jo kurssin alkupuolella (aikataulu). Artikkelin kirjoittamista ohjataan ja etenemisestä raportoidaan ryhmän ja opettajien sopimina palaveriaikoina, jotka pääsääntoisesti sijoitetaan tiistai-iltapäiviin kello 16-18 välille ajalla 13.3.-24.4. salissa CK107. Artikkelille annetaan muitakin lähteitä kuin kurssikirja. Artikkelista saatavan pistemäärän (0-12) määrää artikkelin, esitelmän ja opponoinnin laatu.

Ohjelmointikielen pikaopas: Kukin opiskelijatyöryhmä toteuttaa valitsemalleen ohjelmointikielelle www-muotoisen pikaoppaan, jonka avulla ohjelmointitaitoinen henkilö pääsee nopeasti sisälle uuteen ohjelmointikieleen. Pikaoppaat julkistetaan kurssin sivuilla. Jos joku ryhmä erityisesti vaatii, julkistus tehdään vain intranet-tasolla, mutta toivottavasti mahdollisimman moni sallii internet-julkisuuden. Pikaoppaan kirjoittamista ohjataan ja etenemisestä raportoidaan ryhmän ja opettajien sopimina palaveriaikoina, jotka pääsääntoisesti sijoitetaan tiistai-iltapäiviin kello 16-18 välille ajalla 13.3.-24.4. salissa CK107. Pikaoppaasta saatavan pistemäärän (0-10) määrää oppaan laatu.

Opiskelijatyöryhmät

Opiskelijoista muodostetaan 1-3 hengen kokoisia työryhmiä, "opintopiirejä", jotka ryhmänä tekevät harjoitukset, toteuttavat artikkelin, opponoinnin ja pikaoppaan. Ryhmän jäsenet saavat samat pisteet osasuorituksista, ellei muuhun ole erityisiä syitä. Myös siis "yhden hengen ryhmä" on mahdollinen ja luvallinen, mutta ryhmälle annettavan työn määrä tai laatuvaatimukset eivät riipu ryhmän koosta.


Takaisin kurssin pääsivulle.