Rinnakkaisohjelmointi

581332
6
Networking and Services
Intermediate studies
Kurssilla perehdytään rinnakkaisten ja hajautettujen järjestelmien ohjelmoinnin peruskäsitteisiin. Erityinen paino on rinnakkaisten algoritmien suunnittelussa ja toteutuksessa. Kurssiin sisältyy pakollinen harjoitustyö (2 op). Esitiedot: Tietokoneen toiminta -kurssin suoritus (tai esitietokoe). Kurssikirja: Ben-Ari M.: Principles of Concurrent and Distributed Programming (2nd ed.), Addison-Wesley, 2006.

Exam

06.05.2011 09.00 A111
Year Semester Date Period Language In charge
2011 spring 17.01-25.04. 3-4 Finnish Teemu Kerola

Lectures

Time Room Lecturer Date
Mon 14-16 B123 Teemu Kerola 17.01.2011-14.02.2011
Thu 14-16 B123 Teemu Kerola 20.01.2011-03.02.2011
Mon 14-16 B123 Teemu Kerola 14.03.2011-04.04.2011

Exercise groups

Group: 1
Time Room Instructor Date Observe
Wed 14-16 C222 Teemu Kerola 24.01.2011—18.02.2011 possibly in English
Wed 14-16 C222 Teemu Kerola 14.03.2011—15.04.2011 possibly in English
Group: 2
Time Room Instructor Date Observe
Thu 10-12 CK111 Tommi Tuura 24.01.2011—18.02.2011
Thu 10-12 CK111 Tommi Tuura 14.03.2011—15.04.2011
Group: 3
Time Room Instructor Date Observe
Thu 16-18 C222 Tommi Tuura 24.01.2011—18.02.2011
Thu 16-18 C222 Tommi Tuura 14.03.2011—15.04.2011

Esitietokoe maanantaina 10.1. klo 9-11 C222.

Prerequisite exam on Monday 10th of January at 9-11 in room C222,

Information for international students

Information for this course is also provided in English. Change your language from upper right hand corner.
(English version will be available in January 2011.) 

Compulsory prerequisite is Computer Organization I. If have not done that, you need to pass the prerequisite exam (Monday 10.1.2011 at  9-11 in C222, no need to sign up), unless this prerequisite requirement is waived for you due to studies elsewhere.

General

Kurssi on aineopintojen pakollinen kurssi (tutkintovaatimukset 2010-2012, 1.8.2010).

Kurssikuvaus ja oppimistavoitteet (1.8.2008).

Luentokurssiin (6 op) sisältyy pakollinen 2 op projekti. Arvosana määräytyy harjoitusaktiivisuuden, kokeen ja projektin perusteella.

Erilliskokeella suoritettaessa kurssista saa 6 op (projekti suoritettu) tai 4 op (ei projektia). Projektin suorittaneille arvosanaan (6 op) otetaan huomioon myös projektin arvosana, jos se korottaa kokonaisarvosanaa.  

Kurssin kotisivulla on kurssin yleiset, muut kuin erityisesti tähän luentokurssiin liittyvät asiat.
 

 

Tiedotteet ja huomautukset


Luennot ovat suomeksi. Harjoitukset ovat suomeksi (Tuura) tai englanniksi/suomeksi (Kerola). Kurssin aikana tulevat tiedotteet julkaistaan tässä kohtaa.

3.6.2011 Kurssikyselyn vastapalaute on tässä. Projektien suorituskykykilpailujen voittaja-ajat ovat näkyvillä projektisivulla.

3.6.2011 Kurssin arvostelussa paljastui pieni virhe. Projektin lisäpisteitä ei virheellisesti  otettu huomioon, jos ne nostivat projektin pisteet yli 20p. Tämä virhe on nyt korjattu ja kolmella opiskelijalla (ks.  tässä) arvosana nousi yhden pykälän. Uusi arvosana kirjataan Oodiin piakkoin.

30.5.2011 Kurssin arvostelu on valmistunut. Projektipisteet ja koepisteet tehtävittäin näkyvät kirjanpidossa. Kurssin tulokset ovat ilmoitustaululla ja tässä. Voitte tutustua koepaperiinne sekä kokeen, projektin ja kurssin arviointiin palautetilaisuudessa 3.6.2011 (D220).

16.5.2011 Kokeet on korjattu. Kunkin tehtävän pisteet näkyvät kirjanpidossa omana kokeenaan. Kurssin läpäisemisen kokeen minimipistemäärä on laskettu 13 pisteeseen (15 pisteestä). Jos teillä on alle 13 pistettä kokeesta, teidän tulee osallistua uusintakokeeseen kurssin suorittamiseksi. Koe on Aikaisemmat kokeet sivulla ja arvosteluperusteet tässä

4.5.2011 Projektien palautusstatus (paperikopio ja maili) näkyy omalla sarakkeellaan varatut projektit -sivulla. 

7.4.2011 Jokainen ryhmä voisi lähettää luennoijalle (teemu.kerola (at) cs.helsinki.fi) tämän hetkisen suurehkon datajoukon ja siihen käytetyn ratkaisuajan (1-10 min?). Osalle projekteista ei ole vielä valittu suorituskykykilpailun datajoukkoa ja se voidaan tällä tavoin valita lähetetyistä datajoukoista. Älkää palauttako projektia ennen 20.4.2011, koska rapoortin ohjeistus voi vielä täsmentyä. 

29.3.2011 Ohjelmointikysymyksiin sopiva neuvontapaja on periodissa IV torstaisin 13-15 (CK110). In Period IV the Advice Hut is only on Thursdays 13-15 (CK110). 

14.2.2011 Projektien tekeminen voi alkaa. Ryhmät varaavat projektin itselleen mailaamalla valittu aihe luennoijalle (teemu.kerola (at) cs.helsinki.fi). Vapaat aiheet näkyvät Opintopiirit ja projektit projektit sivulla. 

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

31.1.2011 Kaikkien pitäisi kohtapuoleen olla jossakin opintopiirissä projektin tekemiseksi. Mailatkaa luennoijalle (teemu.kerola (at) cs.helsinki.fi) opintopiirinne jäsenten nimet (1-4 opiskelijaa). Jos haluatte, että luennoija ryhmittää teidät johonkin opintopiiriin, niin lähettäkää mailia asiasta 9.2.2011 mennessä. Opintopiirit voivat lähettää projektin aihevarauksia maanantaina 14.2.2011 klo 10:00 alkaen. Tuota aikaa ennen tulleet varaukset jätetään huomioimatta.  

20.1.2011 I will start an English-speaking summary lecture/discussion group, aimed for English speakers who can not attend Finnish lectures. We will meet 1st time tomorrow Friday 21.1.2011 at 14:15 in C222. Discussion will cover both lectures from this week. We will also decide then, if this type of lecture is really needed and what time would be better. See lecture schedule for dates, times and locations of other summary lectures in English. 

18.1.2011 Kurssin esitietovaatimukset on tarkastettu. Esitietojen hyväksyminen on merkitty ykkösellä kurssin kirjanpitotilastossa kohdassa HT 2. Jos teillä ei tuota ykköstä vielä näy, ottakaa yhteys luennoijaan. Kurssille ei voi osallistua, jos esitiedot eivät ole kunnossa.

17.1.2011 TKO-älyn opiskelijahuoneessa (Gurula, DK115) on 8 kpl kurssikirjoja ei-lainattavina lukukappaleina.

10.1.2011 Esitietokokeessa hyväksyttiin 7 ja hylättiin 2. Hyväksytyt: 012610802, 013327518, 013463430, 013465713, 013466741, 013872542, 013881533.

20.12.2010 Kurssien verkkosivustot eivät välttämättä tulostu oikein Firefoxista (vika Firefoxissa), joten käyttäkää muita selaimia tulostukseen. En suosittele "Tulostettava sivu" napin käyttöä sivun lopussa.

17.12.2010 Tälle sivulle tulee automaattisesti luento- ja harjoitusryhmätietoja vähän sekaisin olevasta tietokannasta. Luotettavammin samat tiedot löytyvät opetusohjelmasta.

17.12.2010 Uusien kurssisivustojen tekeminen alkoi. Ne tehdään ensin suomeksi ja käännetään sitten vasta englanniksi.
 

Esitietovaatimukset


Esitietoina edellytetään kurssin Tietokoneen toiminta (4 op) suoritus tai esitietokokeen (maanantaina 10.1.2011 klo 9-11 C222, ei ennakkoilmoittautumista) hyväksytty suoritus. Tietokoneen toiminta kurssin korvaavat suoritukset luonnollisesti hyväksytään myöskin. 

Completing the course

Luentokurssiin kuuluu seuraavat osiot:

  1. Luennot, 12 kpl á 2h
  2. Harjoitustilaisuudet, 9 kpl á 2h
  3. Kurssikuulustelu
  4. Projekti (opintopiirissä tai yksin)

Kurssin arvosana määräytyy kurssikuulustelun, harjoitusten ja projektien perusteella seuraavasti:

Osio Maksimipisteet Minimivaatimus
Harjoitustehtävät 10 1
Kurssikuulustelu 30 15
Projekti 20 1
Yhteensä 60 30

Kurssin kirjanpitotilasto ja opintopiireille varatut projektit (ja niiden valmistumisstatukset) ovat luettavissa TKTL:n sisäisessä intranetissä. Harjoitustehtävistä saa pisteitä siten, että10% max htp'stä (3 htp) tuottaa yhden arvosanaan vaikuttavan pisteen (minimivaatimus) ja 90%:lla (30 htp) saa kaikki 10 pistettä. Muut pisteet lineaarisesti siltä väliltä.

Literature and material

Kurssi on rakennettu kurssikirjan ([BenA06] M. Ben-Ari, Principles of Concurrent and Distributed Programming (2nd Ed.), Addison-Wesley 2006) 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. Hankkikaa oppikirja ajoissa ennen kurssin alkamista.

Kurssimateriaaliin sisältyy käyttöjärjestelmäkurssin oppikirjan ([Sta08] William Stallings, Operating Systems - Internals and Design Principles; Prentice Hall, 2008, 6th ed.) luku 6. Luvusta 5 voi myös olla hyötyä. Stallingsin kirjan 4. tai 5. painokset (samat luvut)  käyvät myös ihan hyvin.

Kurssilla käytetään Ben-Arin kirjaan liittyvää BACI-simulaattoria. Sen installointiin ja käyttöön on joukko ohjeita.

Kurssilla on käytettävänä pieni joukko oman oppimisen arviointiin soveltuvia kertaustehtäviä.

Aikaisemmat kokeet ja kotitehtävissä käytettävät Java-esimerkit ovat myös verkossa.