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

Tietojenkäsittelytieteen laitos

Kurssin aikataulu ja sisältö

Rinnakkaisohjelmointi, Syksy 2008
Concurrent programming, Autumn 2008

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

28.1.2009 Kurssin uusintakuulustelu on arvosteltu. Tulokset ovat verkossa. o
The results from the make-up exam are ready. o

16.1.2009 Kurssin tulokset on valmiit ja julkistettu verkossa. Uusintakuulustelu on tiistaina 20.1.2009 klo 16-20 (A111). Tämä koe arvostellaan kahdella tavalla: (a) uusintakokeena, jolloin arvosanaan lasketaan mukaan harjoitustehtävistä ja projekteista saadut pisteet, ja (b) erilliskokeena, jolloin arvosana määräytyy puhtaasti kokeen perusteella. Parempi arvosana ratkaisee.
The course result are ready and published. The make-up exam is on Tuesday 20.1.2009 16-20 (A111). This exam is graded in two ways: (a) make-up exam with homework and project points counting towards your grade, and (b) final exam which solely determines your grade. The method with better grade is used.

19.12.2008 Kurssikoe ja oppimispäiväkirjat on arvioitu (arvosteluperusteet). Tarkistuslistassa on kokeen kunkin tehtävän pisteet erikseen. Jo saitte kokeesta alle 19 pistettä, niin ette päässyt läpi kokeesta ja teidän tulee osallistua uusintakokeeseen 20.1.2009. Uusintakokeeseen voi tietenkin osallistua muutenkin, esimerkiksi paremman arvosanan vuoksi. Kurssin läpipääsyyn tarvitaan yhteensä noin 30 pinnaa kokeesta, harjoitustehtävistä ja projekteista. Projekti 1 arvioidaan joulun jälkeen, joten lopulliset tulokset valmistuvat luultavasti vasta tammikuun alkupuolella. o
The course exam and the learning diaries have been graded (grading guidelines).The check list has the exam points for each question. If you got less than 19 points from the exam, you did not pass and you need to take the make-up exam on 20.1.2009. Of course, you can take the make-up exam also just to get a better grade. To pass the course, you need some 30 points total from the exam, practice sessions, and projects. Project 1 will be graded after Christmas, and so the the final course results will probably be ready only in early January. o

9.12.2008 Kurssikokeemme perjantaina 12.12.2008 9-12 on samaan aikaan Peer-to-Peer Networks -kurssin kokeen kanssa. Jos osallistutte molempiin kursseihin, niin voitte halutessanne suorittaa molemmat kokeet 12.12.2008 klo 9-14. Molempiin kokeisiin osallistuvat opiskelijat siirtyvät johonkin toiseen koesaliin normaalin koeajan päätyttyä (n. klo 11:45). Koeaika kuhunkin kokeeseen on silti maksimissaan 2.5h. Jos haluatte tällaisen 2 kokeen suoritusvaihtoehdon, niin mailatkaa asiasta Teemu Kerolalle torstaihin 11.12.2008 klo 12:00 mennessä.
Our course exam on Friday 12.12.2008 is at the same with the course exam for Peer-to-Peer Networks. If you want to take both exams at the same time, you can do it in time frame 9-14. Students taking both exams will move to some other classroom once the normal exam time is over (11:45 or so). The exam time for one exam is still at most 2.5h. If you want to do both exams this way, please email Teemu Kerola about it by Thursday 11.12.2008 12:00 noon.

8.12.2008 Yliopiston tietotekniikkaosastolla on käyttökatkos 14.12.2008 (tiedote). Ilmeisesti ainakin Moodle on tällöin pois käytöstä, mutta muuten laitoksen omat palvelut pitäisivät olla käytettävissä. Ottakaa tämä huomioon projektin viimeistelyssä. Jos käyttökatkoksesta aiheutuu jotain ennakoitua suurempaa häiriötä, niin se huomioidaan sitten maanantaina 15.12.2008. Varmuuden vuoksi projektien deadline on siirretty 1 vrk eteenpäin tiistaiksi 16.12.2008 klo 12:00.
University it-department has a break in services 14.12.2008 (note). This should not hamper CS dept services except that Moodle will be inaccessible. Please take this into consideration with your project work. If it causes more trouble, we will handle it on Monday 15.12. Just in case, project deadline has been moved to Tuesday 16.12.2008 at 12:00 noon.

1.12.2008 Tietojenkäsittelytieteen laitos palkitsee opinnoissaan hyvin edenneitä pääaineopiskelijoita lainaamalla opiskelun tueksi 150 miniläppäriä (Asus Eee PC 900). Tämä tarkoittaa siis myös kaikkia muita kuin tänä syksynä opintonsa aloittaneita opiskelijoita. Laitoksen ajankohtaista sivulla on lisätietoja. Hakemus tulisi toimittaa 10.12.2008 mennessä.
The Department of Computer Science rewards successful CS-major students by lending them 150 mini-notebooks (Asus Eee PC 900) to support their work. More info in web.

27.11.2008 Laskuharjoituksista pitää olla tehtynä n. 30%, jotta niistä saa pakollisen yhden arvosanaan vaikuttavan pisteen. Käytännössä tämä tarkoittaa 10 (30% * 32) harjoitustehtäväpistettä (htp) tällä kurssilla. Tehkää riittävästi tehtäviä viimeisellä viikolla, jotta ette jää tämän rajan alle. Tarkistakaa oma tilanteenne kurssikirjanpidosta. Muistakaa myös aloittaa ja palauttaa projekti ajoissa.
You need to have at leat 10 hwp (30% of 32) from the home works. Make sure you reach this in next week's practice sesssion. Check your status in course bookkeeping. Also, remember to start and complete your project in time.

18.11.2008 Sain linkin mukavaan toiseen esimerkkiin (B. Gray) Pankkiirin algoritmin soveltamisesta. Linkkasin sen luennon 5 loppuun ja laiton linkin myös tämän sivun lopussa olevaan kirjallisuusluetteloon. Kiitos, Ari A.

16.10.2008 Harjoitustehtävien vastaukset on nyt sellaisessa muodossa, jotta ne voi laittaa verkkoon. Vastaukset löytyvät verkosta kuitenkin vasta kyseisiä harjoituksia seuraavalla viikolla. Vastaukset on linkitetty aikataulusivulle kunkin harjoituksen yhteyteen.
Answers to execises will be given in the weekly schedule, but only the next week after each practice session.

10.11.2008 Kaikkien tulisi nyt olla jossakin opintopiirissä. Muistakaa, että projektin tekeminen on välttämätöntä läpipääsyyn. Jos ette ole vielä opintopiirissä, ottakaa yhteys luennoijaan.
Everyone should be now in a study circle. If you are not, please contact the instructor.

7.11.2008 Tarkistuslistalta on 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.
Students with no marks have been removed from course bookkeeping checklist. If your name has been removed by mistake, please contact the lecturer.

5.11.2008 Muistakaa osallistua Kumpulan työelämäviikkoon ensi viikolla.

4.11.2008 Odottelen vielä tämän viikon harjoitusten ajan, josko löydätte oman opintopiirinne. Ryhmäytän tietooni tulleet opiskelijat sitten ensi viikon alussa. Tämän jälkeen opintopiiriä vailla olevat opiskelijat voivat tehdä projektityön omassa opintopiirissään elleivät he itse löydä opintopiiriä johon liittyä. Tällä hetkellä ryhmäyttämistä odottelee 5 opiskelijaa.
If you are not yet in any study circle, please email about it and I will assign you to one early next week. After that those students still without study circle need to form tehir own study circle, or find a study circle to join to.

31.10.2008 On myös mahdollista tehdä projektin B-osa (Java rinnakkaisohjelma) itse ehdotetusta aihepiiristä. Aihe täytyy tietenkin hyväksyttää etukäteen luennoijalla. Suurin vaara itse ehdotetuissa aihepiireissä on, että ne ovat liian vaikeita tai työläitä!

30.10.2008 Moodleen on perustettu sivusto tälle kurssille (salasana rio08). Jos opintopiirit haluavat käyttää sitä hyödykseen, niin katsokaa tällä sivulla alempana olevia ohjeita.

24.10.2008 Kurssin kirjanpitotilasto on luettavissa TKTL:n sisäisessä intranetissä. Esitietovaatimusten riittävyys näkyy merkkinä '+' kokeen 2 kohdalla. Jos teillä ei ole vielä '+' merkkiä kokeen 2 kohdalla, ottakaa yhteys luennoitsijaan.
Cours bookkeeping checklist is in TKTL intranet. Your prerequisites are marked to be satisfactory if there is a '+' sign at exam 2 (KOE 2). If you do not have that '+' sign there, please contact the lecturer.

20.10.2008 Esitietokoe on arvosteltu. Tulokset ovat verkossa.
The prerequisites exam results are ready. There was no English speakers in the exam.


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.

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) 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.

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 (20.10.2008 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.

Esitietokoe löytyy ILMOsta kohdasta Kokeet / Aineopinnot / Rinnakkaisohjelmointi (20.10.2008)
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).


Important Notice: You 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 (20.10.2008 9-11 in Ck112) for this course. 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 (20.10.2008). One student requested the exam in English, but did not participate. Prerequisite exam results.

There will be one practice session (Wed 12-14, Kerola) offered in English, if there is demand for it. 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 (Finnish language) lectures: 

Acquire the text book in time, before the lectures begin. Practice sessions start at the 1st week of lectures. 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 lecture notes, that will be in English. Second, 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. Third, 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 are (will be) in the Web.

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 experiences for this course. (2007 -- There is also an extra credit possibility to participate in a small study by the School of Science on how your spend your time studying for this course. -- 2007)

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 course component, you will not pass.

Yleistä

  • 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/s2008/aikataulu.html.
  • Tämä luentokurssi on tavanomainen luentokurssi ja siihen sisältyy seuraavat osiot:
  • 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 luennoijalle (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ä. Esitietovaatimusten riittävyys näkyy merkkinä '+' kokeen 2 kohdalla. 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.
  • Kokeen tulokset, kurssin arvostelu sekä kokeen arvosteluperusteet näkyvät tällä paikalla lyhyen aikaa (muutaman viikon) kokeen/kurssin arvostelun jälkeen.

Arvosana

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:

Kurssin osio
Arvosanaan vaikuttavien pisteiden minimivaatimus
Arvosanaan vaikuttavien pisteiden maksimäärä
Harjoitukset
1 p
6 p
Opintopiirin ryhmätyö
(projekti 1)
1 p
10 p
Opintopäiväkirja
(projekti 2)
0 p
5 p
Kurssikuulustelu
19 p
44 p
Yhteensä
30 p
65 p

Kurssin muoto: opintopiirikurssi

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.

Harjoitustehtävät ja harjoitustilaisuudet

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 kokeillaan uutta käytäntöä, jossa 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. Oikeita ratkaisuja 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.

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.

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.

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 RioS08-kurssille (salasana rio08) ja pyytävät sitten ohjaajaa sijoittamaan heidät omaan opintopiiriinsä (jonka nimen he kertovat samalla).

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

Esitietokoe 20.10.2008 ma 9-11 (CK112) Mon Teemu Kerola
Luennot
Lectures in Finnish
27.10 -
     4.12.2008

ma 12-14 (B123) Mon
to 10-12 (A111)  Thu

Teemu Kerola
Harjoitukset
Practice sessions
27.10 -
    5.12.2008

ke 12-14 (C221) Wed
Some groups possibly in English

Teemu Kerola
ke 14-16 (C221)
Teemu Kerola
to 12-14 (C222) Päivi
Kuuppelomäki
pe 10-12 (C221) Päivi
Kuuppelomäki

Projektien palautus
Projects due date
(pr1 and pr2)

16.12.2008
klo 12:00
paperikopio (pr1) ja sähköposti (pr1, pr2)
paper copy (pr1) and email (pr, pr2)
 
Kurssikuulustelu
Course exam
12.12.2008   Teemu Kerola
Uusintakuulustelu
Makeup exam
20.1.2009   Teemu Kerola

Sisältö ja aikataulu

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

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

Viikko 43 (20-24.10.2008)                                                        Week 43

  • 20.10.2008 Esitietokoe                                             Prerequisite exam
  • Etsikää opintopiiripartnereita ja ilmoittautukaa heidän kanssa samaan harjoitusryhmään
    Locate study circle partners and sign up in the same (English speaking) practice group
  • Ennakkotehtävät Lh 1 (Hw 1)            Advance homework problems

Viikko 44 (27-31.10.2008)                                                    Week 44

  • Luento 1, ma 27.10.2008                                            Lecture
    • Hallintoa                                                            Admin
    • Samanaikaisuuden problematiikka (Ch 1)    Concurrency (Ch 1)       
  • Valinnaisen oppimispäiväkirjan aloitus    Pr2 (Pr2e)      
    Elective study diary started
  • Luento 2, to 30.10.2008                                               Lecture
    • Samanaikaisuus ohjelmointikielen tasolla (Ch 2.1-12)
      Concurrency at Programming Language Level (Ch 2.1-12)
  • 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
    • Tehtävien ratkaisut Lh 1 sol                  Solutions to problems
    • Opintopiirien muodostaminen                     Study circle formulation
    • Projektin aloitus    Pr1 (Pr1e)                     Project begins

Viikko 45 (3-7.11.2008)                                                        Week 45

  • Luento 3, ma 3.11.2008                            Lecture
    • Kriittisen vaiheen ongelma (Ch 3)
      Critiacl section problem (Ch 3)
  • Kertaustehtävät Ch3                    Practice Problems (some in English?)
  • Luento 4, to 6.11.2008                             Lecture
    • 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)
  • 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

Viikko 46 (10-14.11.2008)                                         Week 46

  • Luento 5, ma 10.11.2008                                            Lecture
    • Lukkiutuminen: havaitseminen, korjaus ja estäminen (Ch 6.1-6 [Stal 05])
      Deadlock: avoidance, breaking up and prevention (Ch 6.1-6 [Stal05])
  • Kertaustehtävät Ch6Stal                   Practice Problems (some in English?)
  • Luento 6, to 13.11.2008                                            Lecture
    • Käyttöjärjestelmätuki samanaikaisuuden hallintaan: semafori (Ch 6.1-14)
      OS support for concurrency: semaphores (Ch 6.1-14)
  • 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                  Solutions to problems

Viikko 47 (17-21.11.2008)                                             Week 47

  • Luento 7, ma 17.11.2008                                            Lecture
    • Semaforit samanaikaisuuden hallinnassa (Ch 6.1-14)         
      Semaphore
      use in concurrency control (Ch 6.1-14)
  • Luento 8, to 20.11.2008                                           Lecture
    • Ohjelmointikielitason tuki samanaik. hallintaan: monitori (Ch 7.1-6, 7.8-11)
      Progr. language support for concurrency: monitor (Ch 7.1-6, 7.8-11)
  • 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

Viikko 48 (24-28.11.2008) Week 48

  • Luento 9, ma 24.11.2008                                            Lecture
    • Samanaikaisuuden hallinta hajautetussa ympäristössä (Ch 8.1-4, 8.6-7)
      Concurrency control in distributed environment (Ch 8.1-4, 8.6-7)
  • Luento 10, to 27.11.2008                                            Lecture
    • Poissulkemisongelma hajautetussa ympäristössä (Ch 10.1-3, 10.6)
      Mutual exclusion problem in distributed environment (Ch 10.1-3, 10.6)
  • Kertaustehtävät Ch8-9         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

Viikko 49 (1-5.12.2008) Week 49

  • Luento 11, ma 1.12.2008                                     Lecture
    • Käytännön esimerkkejä                               Practical Examples
  • Kertaustehtävät Ch8-9         Practice Problems (some in English?)
  • Luento 12, to 4.12.2008                                        Lecture
    • Moniydin haaste [Pat08] ja tapahtumaperustainen muisti [TKLS06]       
      Multicore Challenge [Pat08] and Transactional Memory [TKLS06]
    • Yhteenveto                                                        Summary
  • Kertaustehtävät Ch10                Practice Problems (some 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 50 (8-14.12.2008) Week 50

  • pe 12.12.2008 Kurssikuulustelu                       Course examination
    • Tarkista koeaika ja -paikka verkosta     Check time/place from web

Viikko 51 (15-19.12.2008) Week 51

  • ti 16.12.2008 12:00 Projektien (pr1 & pr2)      Project deadlines
    Palauta eposti- ja paperikopiot!        Return email and paper copies!

Viikko 4 (19-23.1.2009) Week 3

  • ti 20.1.2009 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)

Kirjallisuutta ja muita viitteitä (Literature and References)

  • 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 28.01.2009 10:48