Yliopiston etusivulle Suomeksi På svenska In English
Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Kurssin aikataulu ja sisältö

Rinnakkaisohjelmointi, Syksy 2009
Concurrent programming, Autumn 2009

Tämä kurssin aikataulu- ja sisältösivu päivittyy aina tarpeen tullen eli siis aika usein. Tarkkailkaa tätä sivua ainakin viikoittain kurssin aikana. Kurssin sisältö voi jonkin verran siis muuttua aika myöhäänkin. o

Sisältö


Tiedotteet ja huomautukset (General Notes)

1.2.2010 Uusintakoe on arvosteltu. Koe on arvosteltu sekä uusintakokeena että erilliskokeena. Parempi arvosana otettiin huomioon. Kokeen tulokset ovat verkossa. o
Grading for the make-up exam is completed. The exam was graded both as a make-up exam and as a final exam, and the better grade was taken. Results are in the Web. o

25.1.2010 Arvostelu on valmistunut. Kokeen tulokset, kurssin arvostelu sekä kokeen arvosteluperusteet näkyvät tällä paikalla lyhyen aikaa. Minivaatimusraja kokeessa laskettiin 16 pisteeseen ja yhteispisteissä 28 pisteeseen. o
Grading is completed. Course bookkeeping, grades, and exam grading guidelines (in Finnish?) are in the Web for a short time. Minimum points needed for the exam was lowered to 16 and overall to 28 points.o

5.1.2010 Projektin 1 A-osa on arvosteltu ja tulokset näkyvät kurssikirjanpidossa. Kirjapidossa projektin 1 A-osa näkyy sarakkeella HT 1, B/C-osa sarakkeella HT 2 ja projektin 2 pisteet sarakkeella HT 3.
Grading for project 1 part A is completed. Results are shown in course bookkeeping. In bookkeeping, project 1 part A is in column HT 1, part B/C in column 2, and project 2 in column HT 3.

15.1.2010 Kokeen ja projektin 2 (oppimispäiväkirja) tulokset ovat olleet Tarkistuslistalla jo vähän aikaa. Kurssin tulokset valmistunee 25.1.2010, kun muut projektit ja väärään pinoon laitettu koepaperi saadaan tarkastettua. Jos koe ei mennyt hyvin, niin uusintakoe on tiistaina 19.1.2010. Kokeen minimiläpipääsypisteraja on laskettu 19/44 pisteeseen.
The exam and project 2 results are shown in bookkeeping. Course grades will probably be ready 25.1.2010. If you did not do so well in the exam, the make-up exam is on Tuesday 19.1.2010. Minimum points required from the original exam has been lowered to 19/44 points.

11.12.2009 Kysymys: Miten projektin 1 pisteet jakautuvat? Saimme ensimmäisestä kertauskysymyksestä (pr1ai) maksimipisteet (8 pp). Kurssisivuilla mainitaan projektin 1 maksimipistemääräksi 16 pp. Olemmeko siis ansainneet jo puolet pisteistä, vaikka toinen kertauskysymys sekä koko1B tai 1C -projekti ovat vielä palauttamatta?
Vastaus: Molemmat kertaustehtävät arvioidaan skaalalla 0-8pp, koska näin on ilmoitettu. Näistä lasketaan sitten (painotettu) keskiarvo kokonaisarvosanaksi (0-8pp). Painotuksessa otetaan huomioon molemmat tehtävät siten, että tosi hyvällä tehtävällä on isompi painoarvo kokonaisarvosanaa laskiessa. 1B tai 1C tehtävästä saa 0-8 pp sellaisenaan.

11.12.2009 Kertauskysymykset toimivat nyt taas aika hyvin. Joissakin kohdin on vielä merkistöongelmia.

11.12.2009 Kysymys: Ovatko harjoituspisteet voimassa vielä tammikuun uusintakuulustelussakin?
Vastaus: Kyllä. Tammikuun erilliskoe arvostellaan kahdella tavalla: (1) puhtaasti eriliskokeena, jolloin arvosana määräytyy ainoastaan erilliskokeen perusteella ja (2) uusintakuulusteluna, jolloin arvosana määräytyy samalla tavalla kuin joulukuun kurssikokeen yhteydessä. Parempi arvosana ratkaisee. Useimmiten parempi arvosana on tullut puhtaasti erilliskokeen perustella, koska kurssikokeessa huonosti menestyvillä on yleensä ollut aika vähän harjoitus- ja projektipisteitä.

8.12.2009 Kertauskysymysten asennusskriptini on rikki. Kertauskysymyksiä ei juuri nyt voi käyttää. Tilanne korjaantuu toivottavasti piakkoin.
(9.12.2009 Yksi vika on nyt korjattu: awk'in sisällä system()-kutsu evaluoitiin ennen bash'illa ja nyt sh'lla, joten bash-komennot eivät enää kelvanneet. Lisäksi awk on nyt opetettu käyttämään utf-8 merkistöä ja kaikki tehtävät piääi käsin muokata uuteen versioon sopivaksi.)

17.11.2009 Kurssin kirjanpidosta on näkyviltä poistettu sellaiset opiskelijat, joilla ei tähän mennessä ole lainkaan suorituksia. Jos poisto on kohdallanne virheellinen (eli olette edelleen kurssilla, vaikka merkittyjä laskareita ei olekaan), ottakaa yhteys luennoijaan. o
Students with no marks have been removed from visible course bookkeeping. If your name has been removed by mistake, please contact the lecturer. o

12.11.2009 Laitos on antanut yleiset ohjeet influenssapandemian varalta.
Department has given general instructions on how to handle influenza pandemic.

11.11.2009 Ensimmäinen kertaustehtävä (pr 1Ai) palautetaan 27.11.2009 klo 18:00 o mennessä (maili klo 18:00 mennessä ja paperikopio viimeistään maanantaina luennolla). Kertaustehtävän täytyy toimia myös klikattavana versioina selaimella. Projekti palautetaan pääasiassa ohjeen mukaisesti, mutta lyhyempi versio riittää tässä vaiheessa: tekijöiden nimet, lupa käyttää ja tekijöiden osallistumisaste (40-140% per tekijä).
One problem (pr 1Ai) is returned by 27.11.2009 18:00 o (email by 18:00, and paper copy at the latest at the following Monday lecture). Practice problem must work in practice when clicked in browser. Project is returned basically as instructed, but a shorter version will do for now: team member names, authorization to use the problem, team member participation (40-140% each).

6.11.2009 Moodle on valmiina käytettäväksi, jos opintopiirit sen näkevät hyödylliseksi.

2.11.2009 Myös suomenkielisten luentojen pitopaikat ovat hieman muuttuneet. Tarkistakaa uudet paikat kohdasta "Opetus, kokeet".

2.11.2009 Kurssin esitietovaatimusten olemassaolo on tarkistettu. Tarkistuslistassa on kokeen 5 kohdalle laitettu plus-merkki, jos esitiedot ovat kunnossa. Jos teillä ei tuota plus-merkkiä ole, niin ottakaa yhteys luennoitsijaan. Tästä luentokurssista ei voi saada suoritusta eikä kurssikokeeseen voi osallistua, jos esitiedot puuttuvat.
Course prerequisites have been checked and marked with a plus-sign on "Koe 5" column in the course bookkeeping page. You you are missing that plus-sign, you should contact the lecturer. If your prerequisites are not ok, you can not take the exam nor get credit for the course.

29.10.2009 Laskuharjoitusryhmien 1-3 koot on lisätty 30 opiskelijaan. Ryhmän 4 sali on sen verran pieni, että ryhmän kokoa ei voi kasvattaa alkuperäisestä 25:stä. Ryhmässä 4 tulee olemaan englanninkielisiä pöytäkuntia, joten kaikkien tulee varautua puhumaan siellä englantia.
Practice group 4 (Fri 10-12, BK-106) will have English speaking tables and all students not fluent in Finnish should go there already on 1st Friday 6.11.2009 even though the 1st lecture is later on that same day.

28.10.2009 English summary/discussion lecture has been moved (from Thuirsday) in general to Wed 14-16 (BK106), but on first week 6.11.2009 it will be on Friday 14-16 (C220). I am sorry about the late change.

26.10.2009. Esitietokoe on arvosteltu ja sen tulokset julkistettu. Kokeeseen osallistui 9 opiskelijaa, joista 8 hyväksyttiin kurssille.

14.9.2009. Kurssin luentomuoto tulee muuttumaan jonkin verran. Ks. laitoksen blogia me@TKTL. Valmistautukaa lukemalla oppikirjan luku 1 jo ennen ensimmäistä luentoa maanantaina.
Lecture format will change a little bit. There will be also weekly 2 hr lecture in English. Please read text book chapters 1 and 2 before 1st lecture in English on Friday.


Huom: Ohjeita on aika paljon, mutta kurssin suoritusmenetelmä vaatii niiden kaikkien lukemista ja noudattamista. Ohjeiden lukemiseen käytetty 15 minuuttia säästää varmasti ainakin 60 minuuttia aikaanne jatkossa. Lukekaa kaikki ohjeet, kiitos.

Hankkikaa oppikirja [BenA06] ajoissa, jotta se on teillä käytettävissä heti kurssin alkaessa.
Find you text book [BenA06] early so that you have it when course begins.

Muistutus: Harjoitukset alkavat heti ensimmäisellä viikolla. Tehkää tehtävät (Lh 1) etukäteen.

Tärkeä Huom: Laitoksen johtoryhmän päätöksen mukaisesti opinto-oppaassa ja kurssikuvauksissa mainittuja pakollisia esitietoja ryhdyttiin lukuvuodesta 2007-2008 alkaen valvomaan aikaisempaa tarkemmin muutamalla kurssilla, Rio mukaanlukien.

Rinnakkaisohjelmointi (Rio) kurssille osallistuvilta vaaditaan kurssin alkuun mennessä joko kurssin esitietoina ilmoitetun Tietokoneen toiminta (Tito) -kurssin Oodiin merkitty suoritus tai kurssin esitietokokeen hyväksytty suoritus. Puutteelliset esitietovaatimukset tulevat näkyviin, kun yritätte ilmoittautua kurssille ILMOssa. Täydentävinä opintoina maisteri-tutkintoa varten esitietokoetta ei kuitenkaan tarvita.

Kurssin luennoija voi hyväksyä osallistumisen myös muulla perusteella, ja esitietokurssien suorituksia korvaavat suoritukset luonnollisesti hyväksytään. Epäselvissä tapauksissa käykää henkilökohtaisesti luennoijan puheilla.

Jos olette suorittamassa maisteriopintojen täydentäviä opintojaksoja, joihin kuuluu sekä Rio että Tito, niin silloin Tito tulisi suorittaa ensin. Jos täydentäviin opintojaksoihin sisältyy ainoastaan Rio mutta ei Tito'a, niin selvästikin Rio'n esitietovaatimusten on katsottu olevan jo kunnossa eikä esitietokoetta näin ollen tarvitse suorittaa.

Huomatkaa, että ILMO valittaa, jos Tito-suoritustanne (tai korvaavaa) ei näy laitoksen kirjanpidossa, vaikka se olisikin näkyvissä Oodissa. Näissä tapauksissa esitietovaatimuksenne on kunnossa ja voitte ilmoittautua normaalisti ILMOn antamista varoituksista huolimatta. Näissä tapauksissa teidän ei myöskään tarvitse ottaa yhteyttä luennoitsijaan.

Rio'n kannalta tärkeimmät Tito-kurssin asiat ovat konekielinen ohjelman esitysmuoto (luennot 2-4), suorittimen toiminta (luento 5) ja ohjelman toteutus prosessina (luento 8), mitkä olisi joka tapauksessa hyvä kerrata ennen kurssin alkua.

Esitietokoe (90 min) pidetään noin viikkoa ennen kurssin alkua (26.10.2009 klo 9-11 salissa CK112). Kokeella osoitetaan Rinnakkaisohjelmointikurssin osalta esitietokurssin oleellisten asioiden tietämys muutaman yksinkertaisen kysymyksen avulla. Esitietokoe on tarkoitettu niille harvoille opiskelijolle, jotka ovat hankkineet kurssin esitiedot jollain muulla tavoin kuin Tietokoneen toiminta -kurssin (tai vastaavan) suorittamalla. Esitietokokeen tulos on voimassa vain tälle yhdelle luentokurssille.

Muutos perustuu kevään 2006 Tietorakenteiden kurssia koskevaan selvitykseen, jonka mukaan esitietopuutteilla oli selvä yhteys kurssilla menestymiseen.

Jos teillä ei ole kurssin alkamisaikana Oodissa näkyvää Tietokoneen toiminta -kurssin (tai korvaavan suorituksen) suoritusta, niin teidän tulee kurssille osallistuaksenne ilmoittautua, osallistua ja päästä läpi esitietokokeesta! Esitietovaatimusten täyttyminen tarkastetaan 1. viikon harjoitustilaisuudessa.

Esitietokokeeseen ilmoittaudutaan ILMOn kohdasta Kokeet / Aineopinnot / Rinnakkaisohjelmointi (26.10.2009).
Esitietokokeen tulokset.

Huom: Kaikilla oppilailla tulee olla TKTL:n käyttäjätunnus laitoksen Linux- ja Windows-järjestelmien käyttämistä varten.

Sivuaineopiskelijoilla tulee olla ensin haettuna Tietotekniikkaosaston UNIX-tunnus eli ns. cc-tunnus. Mikroverkkotunnus ei käy. UNIX-tunnus haetaan oman pääainelaitoksen kautta. Tämän jälkeen voit hakea TKTL-tunnusta vapaamuotoisella hakemuksella sähköpostin kautta osoitteesta tktl-luvat (AT) cs.helsinki.fi . Muista mainita sähköpostissasi cc-tunnuksesi. (Ks. ohjeet http://www.cs.helsinki.fi/compfac/ohjeet/Luvat/uusi.html#sivuainelupa). Yleensä tunnus alkaa toimimaan pyynnön käsittelyä seuraavana päivänä.

Huom: Kaikkien tulee olla ilmoittautunut kurssikirjanpitoa varten tälle kurssille TKTL:n ILMO järjestelmään. Jos et ole tehnyt sitä vielä, niin tee se ystävällisesti nyt heti. Kiitos. Jonotuslistalle (98) ilmoittautuneiden olisi hyvä tulla keskustelemaan kanssani henkilökohtaisesti kurssille osallistumisesta (laitoksen politiikan mukaisesti).


Notes for English Speaking Students

Important Notice: Bachelor level students must have the prerequisite Computer Organization I (or similar approved course) done (grade visible in Oodi) before your register for this course. If you do not have it, you must register, take part, and pass a prerequisite exam (26.10.2009 9-11 in Ck112) for this course. You do not need to take the prerequisite exam, if Concurrent Programming is part of your required supplementary MSc studies. Email me one week in advance, if you want the prerequisite exam in English. The prerequisite exam is found in ILMO in Exams / Intermediate Studies / Concurrent programming (26.10.2009). Prerequisite exam results.

There will be one practice session (Fri 10-12, Kuuppelomäki) offered in English. If you want the practice session offered in English, please let me know about it as soon as possible (e.g., via email). Providing practice session (and other) information in English is time consuming, and so I would appreciate it that you would be serious in attending the course.

Guidelines for English speaking (or other!) students who can not participate in the lectures in Finnish: 

Acquire the text book in time, before the lectures begin. Practice sessions start at the 1st week of lectures. You need to study the material for Lecture 1&2 in advance. Do your 1st homeworks (Hw 1) in time.

For each week, follow the schedule (in "Sisältö ja aikataulu") given below. First, read the corresponding chapters from the text book (for summary knowledge). You may also use the 2008 lecture notes, which are in English. Please note that the lecture notes are not so good self study material as they are designed to go with spoken lecture.

Second, attend the once-per-week lecture in English, which consists of short topic recap and discussion on that week material. Third, do the homeworks given for that week (for deeper knowledge). You may check your level of knowledge with the Practice Problems in the Web -- some of them are in English. Fourth, attend the practice session given in English (to discuss the topic for still deeper knowledge). Repeat this for six weeks and then study for the course exam.

Please start working before the lectures begin. If you wait until the first homework is due, it will probably be too late to catch up. The course is set up with tight schedule.

Course bookkeeping, grades, and exam grading guidelines (in Finnish?) are (will be) in the Web. In bookkeeping, project 1 part A is in column HT 1, part B/C in column 2, and project 2 in column HT 3. o

There is a team project. The projects involves (a) creating a few new practice problems and (b1) creating some concurrent programming in Java, or (b2) creating instructional material on how write concurrent programs with Java or BACI. There is also an extra project (for extra credit) project, that involves keeping a learning diary for all your learning experiences for this course.

Your grade will be based on course exam (min 19, max 44 points), homeworks (min 1 point for 30% of hwp's, max 6 points), and the team projects (min 1, max 10 points). So, the exam, homeworks and the team projects are compulsory. Altogether you should have minimum 30 points out of 60 points (some 65 points with extra credits) to pass. Also, if you fail to reach the minimum level for any compulsory course component, you will not pass.

If you have any questions on the contents or logistics for this course, please do not hesitate to ask the lecturer.

Yleistä (General)

  • Kurssiin liittyvät yleiset asiat (siis muut kuin erityisesti tähän tämän lukukauden kurssiin liittyvät asiat) ovat kurssin kotisivulla http://www.cs.helsinki.fi/teemu.kerola/rio/index.html.
  • Tähän luentokurssiin erityisesti liittyvät asiat ovat tällä sivulla http://www.cs.helsinki.fi/u/kerola/rio/s2009/aikataulu.html.
  • Tämä luentokurssi on tavanomainen luentokurssi ja siihen sisältyy seuraavat osiot:
    • itseopiskelu oppikirjan ja viime vuotisten (2008) luentokalvojen avulla
      • huomatkaa, että luentokalvot eivät ole kovin hyvä itseopiskelumateriaali, koska ne on suunniteltu nimenomaan puhutun luennon tueksi!
    • luentotilaisuudet, joihin sisältyy iso keskusteluosio, 12 kpl á 2t
    • laskuharjoitukset, 6 kpl á 2t
    • opintopiirissä tehtävä projekti pr1 (kertaustehtäviä, ohjelmia, raportteja)
    • itsenäisesti tehtävä valinnainen ylimääräinen oppimispäiväkirja (pr2)
    • kurssikuulustelu
  • Luentokurssin luentokalvot (pdf), laskuharjoitukset ja kertauskysymykset
  • Opintopiiriin kuuluu 1-3 opiskelijaa. Suositeltu ryhmän koko on 2-3 henkilöä. Opintopiirit (ryhmät) muodostetaan kurssin alkaessa ja julkistetaan verkossa. Opintopiirityöskentelystä on oma ohjeensa. Valitkaa oma opintopiirinne kahden ensimmäisen viikon kuluessa (mielellään jo heti ensimmäisellä viikolla) ja ilmoittakaa ne sähköpostitse (vain nimet, ei opiskelijanumeroita) luennoitsijalle (Teemu.Kerola (at) cs.helsinki.fi). Hyvä tilaisuus opintopiirin muodostamiseen on ensimmäisen viikon harjoitustilaisuus. Jos sieltäkään ei löydy opintopiiriä, niin luennoija voi auttaa asiassa ja muodostaa opintopiirejä sellaista viellä vailla olevista opiskelijoista. Ilmoittakaa halukkuudestanne luennoijan muodostamaan opintopiiriin sähköpostitse, mutta vasta ensimmäisen ryhmätapaamisen jälkeen. Opintopiirissä tehdään yhteistyössä projekti (projekti 1), mutta opintopiiri voi myös tehdä muuta yhteistyötä kurssin aikana. On paljon mukavampi opiskella yhdessä kuin yksinään.
  • Oppimispäiväkirjan (projekti 2) tekeminen on valinnaista. Sen tekeminen kuitenkin tutkitusti jäsentää omaa opiskelua ja siinä tehty oman oppimisen reflektointi syventää oppumisen tasoa. Ajoissa palautetusta oppimispäiväkirjasta saa arvosanaan vaikuttavia pisteitä.
  • Kurssin oppikirja ja luentokalvot ovat englanniksi. Luennot ovat suomeksi. Harjoitustilaisuudet ovat suomeksi, paitsi ehkä yksi ryhmä englanniksi.
  • Harjoitustilaisuuksiin osallistuminen on ainakin pienessä määrin pakollista, ja niistä saa osan luentokurssin arvosanasta. Kustakin tavallisesta laskuharjoitustehtävästä saa yhden harjoitustehtäväpisteen (htp) ja joistakin vaikeammista tehtävistä voi saada useammankin. Noin 30% maksimi htp:stä tuottaa yhden arvosanaan vaikuttavan lisäpisteen ja noin 83% tuottaa maksimin lisäpisteitä. Muut lisäpisteet annetaan suurinpiirtein lineaarisesti tuolta väliltä.
    Esimerkki: 6 harjoitukset á 5 htp = 30 htp. Tällöin 9 htp:tä tuottaa 1 lisäpisteen ja 25 htp:tä tuottaa maksimin lisäpisteitä.
  • Käytäntö on osoittanut, että kurssin läpäisy on vaikeata, jos ei tee runsaasti kotitehtäviä. Tämä on todettu myös tutkimuksissa. Tällä tavoin sekä oppii asiat että saa samalla paremman arvosanan.
  • Harjoitustilaisuuksissa yhdessä ryhmässä voi olla englanninkielisiä pöytäkuntia, jos tarvetta ilmenee. Jos pöytäkunta on englanniksi, niin se on sitten kokonaan englanniksi (tehtävien esittämiset, kysymykset ja vastaukset).
  • Kurssin kirjanpitotilasto on luettavissa TKTL:n sisäisessä intranetissä. Ilmeisesti keskeyttäneet opiskelijat (ei laskuharjoitusaktiivisuutta) poistetaan listalta. Jos ette halua omia tilastojanne näkyville tässä tai aineistossa on mielestänne jotain puutteita, ottakaa yhteys luennoijaan. Kirjapidossa projektin 1 A-osa näkyy sarakkeella HT 1, B/C-osa sarakkeella HT 2 ja projektin 2 pisteet sarakkeella HT 3.
  • Kokeen tulokset, kurssin arvostelu sekä kokeen arvosteluperusteet näkyvät tällä paikalla lyhyen aikaa (muutaman viikon) kokeen/kurssin arvostelun jälkeen.

Arvosana (Grading)

Luentokurssiin sisältyy luennot, harjoitukset, kertaustehtävät, projektit ja kurssikuulustelu. Harjoituksiin ja ryhmätyö projektiin osallistuminen on pakollista. Lopuksi myös asiat tulee hallita, joten kokeesta tulisi saada ainakin puolet pisteistä. Oppimispäiväkirjan tekeminen on valinnaista, mutta siitä voi saada ylimääräisiä arvosanaan vaikuttavia pisteitä. Projektien pistemäärien kertyminen on kerrottu tarkemmin opintopiirityöskentelyn yhteydessä.

Kurssin arvosana määräytyy kurssikuulustelun, harjoitusten ja projektien perusteella seuravasti:
Grades are determined by:

Kurssin osio
Course component

Arvosanaan vaikuttavien pisteiden minimivaatimus
Required minimum

Arvosanaan vaikuttavien pisteiden maksimäärä
Maximum available
Harjoitukset
Homeworks
1 p
6 p
Opintopiirin ryhmätyö
(projekti 1/ project 1)
1 p
10 p
Oppimispäiväkirja
(projekti 2 / project 2)
0 p
5 p
Kurssikuulustelu / exam
19 p
44 p
Yhteensä / total
30 p
65 p

Kurssin muoto (Course Format)

Kurssi toteutetaan opintopiirejä käyttäen. Tämä tarkoittaa sitä, että opiskelijat jaetaan pienryhmiin (opintopiireihin), jotka ratkaisevat sekä tavanomaisia laskuharjoituksia että suurempia projekteja. Kantavana ajatuksena ja ideana opintopiireissä on se, että yhdessä opiskellen oppii paremmin. Kun selittää asiaa toiselle, niin oppii itsekin ja/tai huomaa aukkoja omassa osaamisessaan. Opintopiirit voivat tavata itse sopiminaan aikoina eri tiloissa yliopistolla tai verkossa opintopiirin omassa chat-huoneessa.

Students may form study circles for more pleasurable and effective learning.

Harjoitustehtävät ja harjoitustilaisuudet (Homeworks, Practice Sessions)

Kotitehtävät tehdään itsenäisesti tai oman opintopiirin kanssa yhdessä. Hyvä menettelytapa olisi esimerkiksi sellainen, että kukin pohtii ensin tehtävät läpi itsenäisesti ja sitten niitä puidaan yhdessä opintopiirissä. Jokaisen tulisi oppia tehtävien asiat täydellisesti, mielellään jo ennen tehtävien käsittelyä viikoittaisessa ryhmätapaamisessa. Tehtävistä saa arvosanaan vaikuttavia pisteitä (htp) niiden vaativuuden mukaan, mutta vain tehdyistä tehtävistä ja vain harjoitustilaisuudessa koko ajan läsnäolleille.

Harjoitustilaisuuksissa kaikki tehtävät käydään tehtäväkohtaisesti läpi opiskelijavetoisesti keskustellen. Ohjaaja jakaa opiskelijat harjoitustilaisuudessa pöytäkuntiin, joihin pyritään saamaan kuhunkin tehtävään ainakin yksi sen tehtävän ratkaissut opiskelija. Pöydissä voi otaksua, että opiskelijat ovat tutustuneet tehtäviin etukäteen ja ainakin yrittäneet ratkaista niitä. Jos opiskelija ei ole tutustunut tehtäviin etukäteen, hän ei pysty hyödyntämään harjoitustilaisuutta kunnolla. Harjoitustilaisuuden aika ei riitä kaikkien tehtävien huolelliseen läpikäyntiin, ellei tehtäviin ole perehdytty etukäteen.

Harjoitustehtävistä annetaan harjoitustilaisuudessa oikeat ratkaisut sillä tarkkuudella, että pöytäkunnat voivat itse tarkistaa tekemiensä ratkaisujen oikeellisuuden. Oikeat ratkaisut laitetaan verkkoon seuraavalla viikolla. Jos/kun harjoitustehtävät on käyty läpi, pöytäkunta jatkaa keskustelua tilaisuudessa annettavien aihepiirien pohjalta. Jos pöytäkunta toteaa olevansa täysin valmis, sen jäsenet voivat siirtyä muihin pöytiin asiantunteviksi konsulteiksi. Kaikki ovat kuitenkin paikalla tilaisuuden loppuun asti. Osa ratkaisuista voidaan käsitellä vielä yhdessä tilaisuuden lopuksi.

Englanninkielisessä harjoitusryhmässä yksi tai useampi pöytäkunta voi olla englanniksi, jos tarvetta ilmenee (osallisena on yksi tai useampi suomea taitamaton opiskelija.). Jos pöytäkunta on englanniksi, niin se on sitten kokonaan englanniksi (tehtävien esittämiset, kysymykset ja vastaukset, kaikki keskustelu). Kaikkien englanninkieliseen harjoitusryhmään osallistuvien suomenkielisten opiskelijoiden tulee varautua siihen, että heidät voidaan sijoittaa englanninkieliseen pöytäkuntaan.

In the practice session each table discusses all problems, so that all students should understand them well. Each table should have for each problem at least one student who has solved it. You may assume that each student has at least tried to solve each problem because you can not cover all problems otherwise. In an English speaking table all discussion will be in English. All students participating in an English speaking practice session should be prepared to participate in English. However, if the table consists only of Finnish speakers, it may carry discussions also in Finnish. Correct solutions are given at the end of the practice session and they may be discussed also within the whole group.

On erityisen opettavaista ja omaa oppimista tukevaa selittää asioita jollekin toiselle, joka myös on työskennellyt tehtävän ratkaisemiseksi. Muiden opiskelijoiden auttaminen hyödyntää kumpaakin osapuolta ja yleensä opastajaa enemmän. Älkää kuitenkaan pilatko harjoitustehtävän hyötyä toiselle antamalla sen vastausta suoraan. Eihän siitä juurikaan kostu kumpikaan. Hyvää oppimista saa aikaan vuorottelemalla (a) omaa opiskelua, (b) ongelmien ratkaisuja ja (c) keskusteluja ongelmista ja niiden ratkaisuista muiden opiskelijoiden kanssa.

Harjoitustehtävien tavoitteena on oppiminen, ei pinnojen kalastelu kurssin läpäisemiseksi tai paremman arvosanan saamiseksi. Harjoitustehtävissä opitut asiat ovat yleensä myös tärkeitä taustatietoja projektitöitä varten. Oppiminen tapahtuu nimenomaan silloin, kun ajattelee ja tekee itse merkittävän osan ongelman ratkaisua sekä keskustelee ratkaisustaan ja ratkaisumenetelmästään muiden kanssa. Valmiiden vastausten lukemisella ei opi yhtä hyvin. Samanlaisia esimerkkejä on luennoilla ja kirjoissa, joten harjoitustehtävien valmiiden ratkaisujen käyttö pelkästään luettavina esimerkkeinä on oppimisen kannalta hyvien harjoitustehtävien hukkaan heittämistä.

Ohjaajat toimivat konsultteina kaikille pöytäkunnille.

Moodle

Moodlen käyttö ei ole pakollista tällä kurssilla. Moodle alustetaan kurssia varten myöhemmin, jos tarvetta ilmenee.

Study circles may utuilize Moodle if they so wish. Mooodle for this course will be set up later on if there is demand for it.

Moodlea voidaan käyttää opintopiirin sisäisiin keskusteluihin ja projektin palauttamiseen. Moodlen muita piirteitä voidaan hyödyntää tarpeen mukaan. Moodleen kirjaudutaan tietotekniikkaosaston tuunnuksilla. Opintopiiriläiset kirjautuvat ensin kaikki Moodlen Rinnakkaisohjelmointi-kurssille (ei salasanaa) ja pyytävät sitten luennoitsijaa luomaan heille oman ryhmän opintopiiriä varten. Mailissa luennoitsijalle on hyvä mainita kaikkien pointopiiriläisten nimet ja haluttu ryhmän nimi. Ryhmän luonnin jälkeen kaikki Moodlen ryhmäkohtaiset palikat ovat sitten käytettävissä tälle opintopiirille.

Moodlen käyttöohjeita löytyy englanniksi Moodlen omilta sivuilta. (esim. Documentation / "Student Guide for Moodle" by Ray Lawrence). Moodle'ssa (vasemmassa palkissa ylhäällä) on lyhyt suomenkielinen Opiskelijan pikaopas Moodlen käyttöön.

Opetus, kokeet (Instruction, Exams)

Esitietokoe
Prerequisite exam
26.10.2009 ma 9-11 (CK112) Mon Teemu Kerola
Luennot
2.11 -
   10.12.2009

ma 12-14 (CK112) Mon
HUOM: ma 30.11. (B123)
 
to 12-14 (CK112)  Thu
HUOM: to 5.11. (A111)
HUOM: to 12.11. (A111)

Teemu Kerola
Lectures in English 6.11.2009

11.11-             10.12.2009

Fri 14-16 (C220 o)

Wed 14-16 (BK106 o)

Teemu Kerola
Harjoitukset
Practice sessions
2.11 -
    11.12.2009

ke 10-12 (CK111)

Harri Hämäläinen
to 10-12 (BK107)
Harri Hämäläinen
to 14-16 (BK107) Päivi
Kuuppelomäki
pe 10-12 (BK106) Fri
Some tables in English
Päivi
Kuuppelomäki

Projektien palautus
Projects due date
(pr1 and pr2)

27.11.2009
klo 18:00 o(pr1a)

22.12.2009
klo 12:00

paperikopio (pr1) ja sähköposti (pr1, pr2)
paper copy (pr1) and email (pr, pr2)
 
Kurssikuulustelu
Course exam
18.12.2009   Teemu Kerola
Uusintakuulustelu
Makeup exam
19.1.2010   Teemu Kerola

Kurssin sisältö ja aikataulu (Course Contents and Schedule)

Kurssi on rakennettu kurssikirjan [BenA06] ympärille. Käymme läpi kurssikirjan lähes kokonaan (Ch 1-10) kurssin aikana. Kurssikirja on älttämätön hankinta kurssin suorituksen kannalta. Hanki oppikirja ajoissa ennen kurssin alkamista.
Get your text book in time before the course begins. You will need it!

Luentokalvot ja laskuharjoitukset tulevat tälle sivulle aikanaan, hyvissä ajoin ennen ko. luentoa tai laskuharjoitusta.

Viikko 44 (26-30.10.2009)                                                        Week 44

  • 26.10.2009 Esitietokoe                                             Prerequisite exam
  • Etsikää opintopiiripartnereita ja ilmoittautukaa heidän kanssa samaan harjoitusryhmään.
    Locate study circle partners and sign up in the English speaking practice group.
  • Itseopiskelua                                                 Self Study for Lecture 1
    • Kurssikirja ja viime vuoden kalvot?     See text book and slides from last year.
  • Ennakkotehtävät (1. viikon ) Lh 1 (Hw 1)       Homework problems (for 1st week)

Viikko 45 (2-6.11.2009)                                                    Week 45

  • Luento 1, ma 2.11.2009                                            Lecture 1 (in Finnish)
    • Hallintoa                                                            Admin
    • Samanaikaisuuden problematiikka (Ch 1 [BenA06])    
      Concurrency (Ch 1 [BenA06])
             
    • Yhteenvetoluento    Summary lecture (in Finnish)
    • Keskustelua aihepiiristä            Discussion (in Finnish)
  • Valinnaisen oppimispäiväkirjan aloitus    Pr2 (Pr2e)   Elect. study diary started
  • Itseopiskelua luennolle 2                                        Self Study for Lecture 2
  • Luento 2, to 5.11.2009 12-14                              Lecture 2 (in Finnish)                              
    • Samanaikaisuus ohjelmointikielen tasolla (Ch 2.1-12)
      Concurrency at Programming Language Level (Ch 2.1-12)
    • Yhteenvetoluento                            Summary lecture
    • Keskustelua aihepiiristä            Discussion
  • Lectures 1&2 in English, Thu 5.11.2009 14-16               
    • Course administration and overall structure
    • Summary lecture on Concurrency
    • Summary lecture on Concurrency at Progr. Lang. Level (Ch 2.1-12)
    • Discussion
  • Kertaustehtävät Ch 2                      Practice Problems (some in English?)
  • Harjoitustehtävät    Lh 2 (Hw 2)                          Homework problems
  • Harjoitukset                                                    Practice meeting
    • Esitietojen täyttymistarkistus              Prerequisite studies check-up
    • Ennakkotehtävien läpikäynti Lh 1 (Hw 1)    Advance problems disc.
    • Tehtävien ratkaisut Lh 1 sol                  Solutions to problems
    • Opintopiirien muodostaminen                     Study circle formulation
    • Projektin aloitus    Pr1 (Pr1e)                     Project begins
  • Itseopiskelua luennolle 3                                        Self Study for Lecture 3

Viikko 46 (9-13.11.2009)                                                        Week 46

  • Luento 3, ma 9.11.2009                            Lecture 3
    • Kriittisen vaiheen ongelma (Ch 3)
      Critical section problem (Ch 3)
  • Kertaustehtävät Ch3                    Practice Problems (some in English?)
  • Itseopiskelua luennolle 4                                        Self Study for Lecture 4
  • Luento 4, to 12.11.2009                             Lecture 4
    • Samanaikaisuusratkaisujen oikeaksi todistaminen (Ch 4.1-3& App B),
      Numerolappuongelman yleinen ratkaisu (Ch 5, ei todistuksia)
      Verifying concurrent programs (Ch 4.1-3& App B)
      General solution for the turn-ticket problem (Ch 5, no proofs)
  • Lectures 3&4 in English, Thu 12.11.2009 14-16               
  • Kertaustehtävät Ch4   Ch5           Practice Problems (some in English?)
  • Harjoitustehtävät    Lh 3 (Hw 3)           Homework problems
  • Harjoitukset                                           Practice meeting
    • Tehtävien läpikäynti Lh 2 (Hw 2)   Problem set walk-through 
    • Tehtävien ratkaisut Lh 2 sol                  Solutions to problems
  • Itseopiskelua luennolle 5                                        Self Study for Lecture 5

Viikko 47 (16-20.11.2009)                                         Week 47

  • Luento 5, ma 16.11.2009                                            Lecture 5
    • Lukkiutuminen: havaitseminen, korjaus, estäminen (Ch 6.1-6 [Stal 05])
      Deadlock: avoidance, breaking up, prevention (Ch 6.1-6 [Stal05])
  • Kertaustehtävät Ch6Stal                   Practice Problems (some in English?)
  • Itseopiskelua luennolle 6                                        Self Study for Lecture 6
  • Luento 6, to 19.11.2009                                            Lecture 6
    • Käyttöjärjestelmätuki samanaik. hallintaan: semafori (Ch 6.1-14)
      OS support for concurrency: semaphores (Ch 6.1-14)
  • Lectures 5&6 in English, Thu 19.11.2009 14-16               
  • Kertaustehtävät  Ch6           Practice Problems (some in English?)
  • Harjoitustehtävät    Lh 4 (Hw 4)          Homework problems
  • Harjoitukset                                        Practice meeting
    • Tehtävien läpikäynti Lh 3 (Hw 3)   Problem set walk-through
    • Tehtävien ratkaisut Lh 3 sol o                 Solutions to problems
  • Itseopiskelua luennolle 7                                        Self Study for Lecture 7

Viikko 48 (23-27.11.2009)                                             Week 48

  • Luento 7, ma 23.11.2009                                            Lecture 7
    • Semaforit samanaikaisuuden hallinnassa (Ch 6.1-14)         
      Semaphore
      use in concurrency control (Ch 6.1-14)
  • pe 27.11.2009 12:00
    Projektin osan (pr1-A, 1. kertaustehtävä) palautus
                            Partial project deadline (pr1-A, 1st practice problem)
    Palauta eposti- ja paperikopiot!    Return email and paper copy
  • Kertaustehtävät  Ch6           Practice Problems (some in English?)
  • Itseopiskelua luennolle 8                                        Self Study for Lecture 8
  • Luento 8, to 26.11.2009                                           Lecture 8
    • Ohj.kielitason tuki samanaik. hallintaan: monitori (Ch 7.1-6, 7.8-11)
      Progr. lang. support for concurrency: monitor (Ch 7.1-6, 7.8-11)
  • Lectures 7&8 in English, Thu 26.11.2009 14-16              
  • Kertaustehtävät Ch7                   Practice Problems (some in English?)
  • Harjoitustehtävät    Lh 5 (Hw 5)              Homework problems
  • Harjoitukset                                         Practice meeting
    • Tehtävien läpikäynti Lh 4 (Hw 4)   Problem set walk-through
    • Tehtävien ratkaisut Lh 4 sol                  Solutions to problems
  • Itseopiskelua luennolle 9                                        Self Study for Lecture 9

Viikko 49 (30.11-4.12.2009) Week 49

  • Luento 9, ma 30.11.2009                                            Lecture 9
    • Samanaikaisuuden hallinta haj. ympäristössä (Ch 8.1-4, 8.6-7)
      Concurrency control in distributed environment (Ch 8.1-4, 8.6-7)
  • Itseopiskelua luennolle 10                                     Self Study for Lecture 10
  • Luento 10, to 4.12.2009                                            Lecture 10
    • Poissulkemisongelma hajautetussa ympäristössä (Ch 10.1-3, 10.6-7)
      Mutual exclusion problem in distr. envir. (Ch 10.1-3, 10.6-7)
  • Lectures 9&10 in English, Thu 4.12.2009 14-16              
  • Kertaustehtävät Ch10                Practice Problems (some in English?)
  • Harjoitustehtävät    Lh 6 (Hw 6)            Homework problems
  • Harjoitukset                                          Practice meeting
    • Tehtävien läpikäynti Lh 5 (Hw 5)    Problem set walk-through 
    • Tehtävien ratkaisut Lh 5 sol                  Solutions to problems
  • ItseopiskelualLuennolle 11                                    Self Study for Lecture 11

Viikko 50 (7-11.12.2009) Week 49

  • Luento 11, ma 7.12.2009                                     Lecture 11
    • Käytännön esimerkkejä                               Practical Examples
  • Itseopiskelua luennolle 12                                        Self Study for Lecture 12
  • Luento 12, to 10.12.2009                                        Lecture 12
    • Moniydin haaste [Pat08] ja tapahtumaperustainen muisti [TKLS06]       
      Multicore Challenge [Pat08] and Transactional Memory [TKLS06]
    • Yhteenveto                                                        Summary
  • Lectures 11&12 in English, Thu 10.12.2009 14-16               Lectures 11&12 in English
  • Harjoitukset                                          Practice meeting
    • Tehtävien läpikäynti Lh 6 (Hw 6)    Problem set walk-through
    • Tehtävien ratkaisut Lh 6 sol                  Solutions to problems

Viikko 51 (14-18.12.2009) Week 51

  • ti 15.12.2009 12:00
    Projektin osan (pr1-A, 2. kertaustehtävä) palautus
                                                       Partial project deadline (pr1-A, 2nd practice problem)
    Palauta eposti- ja paperikopiot!    Return email and paper copy
  • pe 18.12.2009 Kurssikuulustelu                       Course examination
    • Tarkista koeaika ja -paikka verkosta     Check time/place from web

Viikko 52 (21-23.12.2009) Week 51

  • ti 22.12.2009 12:00 Projektien pr1 (osa B tai C) ja pr2 (oppimispäiväkirja) palautus
                                                            Project deadlines for pr 1 (part B or C) and pr2 (learning diary)
    Palauta eposti- ja paperikopiot!       Return email and paper copies!
    (pr2 eposti riittää)                            (pr2, email is sufficient)

Viikko 4 (18-22.1.2010) Week 3

  • ti 19.1.2010 Uusintakuulustelu                    Makeup course exam
    • Tarkista koeaika ja -paikka verkosta     Check time/place from web
    • Ilmoittaudu ILMOssa                             Sign up with ILMO
                                                                   (ask the instructor for the exam in English)

Kirjallisuus ja muut viitteet (Literature and References)

  • Michael Feldman, Intel Unveils 48-Core Research Chip, HPCwire 7.12.2009
  • B. Gray, Univ. of Idaho, The Banker's Algorithm for Detecting/Preventing Deadlocks, html (18.11.2008)
  • Bryan Cantrill, Jeff Bonwick, Real-world Concurrency, ACM Queue vol. 6, no. 5 - September 2008, html (local pdf)
  • Luke Collins, Chip Makers Hit Heat Barrier, IEE Review, Jan 2003, pp 22-23, pdf
  • Herb Sutter, A Fundamental Turn Toward Concurrency in Software, Dr. Dobbs Journal, March 1, 2005, local pdf
  • S. Borkar, P. Dubey, K. Kahn, D. Kuck, H. Mulder, S. Pawlowski, and J. Rattner, Platform 2015: Intel Processor and Platform Evolution for the Next Decade, Intel 2005, local pdf
  • Marc Snir, Programming Models for Supercomputing in the Era of Multicore, Illinois Informatics Institute, Univ. of Illinois at Urbana-Champaign, 2008, lecture slides, local pdf
  • A Conversation with John Hennessy and David Patterson, Computer Architecture  4, 10 (Dec2006/Jan2007), in acmqueue
  • David Patterson, The Multicore Challence, CCC Blog, The Computing Community Consortium, Aug 26, 2008, see cccblog.org
  • Microelectronics and Computer Technology Corporation (MCC), The Handbook of Texas Online, Texas State Historical Association, 2008
  • Pervasive Parallelism Laborary, Stanford University, home page http://ppl.stanford.edu/wiki/index.php/Pervasive_Parallelism_Laboratory
  • The Parallel Computing Laboratory, Dept of Electrical Engineering and Computer Science, Univ of California, Berkeley, home page http://parlab.eecs.berkeley.edu/
  • Universal Parallel Computing Research Center Illinois, Dept of Computer Science & Coordinated Science Laboratory, Univ. of Illinois at Urbana-Champaign, http://www.upcrc.illinois.edu/
  • The Multicore Association, http://www.multicore-association.org/home.php
  • Sanakirjoja (dictionaries)

">Teemu Kerola 01.02.2010 16:00