Rinnakkaisohjelmointi, Syksy 2007
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.
11.1.2008 Kurssin arvostelu on valmistunut. Kokeen
tulokset, kurssin
arvostelu sekä kokeen
arvosteluperusteet näkyvät
tällä paikalla lyhyen aikaa (muutaman
viikon).
7.1.2008 Koearvostelu on valmistunut. Koe meni aika huonosti - ehkä se oli vähän vaikea. Kokeen läpipääsyyn tarvittava minimipistemäärää tullaan laskemaan alkuperäisestä (20/40p) jonkin verran. Projektin arvostelu on vielä kesken, mutta sen on luvattu valmistuvan perjantaihin 11.1.2008 mennessä.
17.12.2007 Huomatkaa, että laitoksen uuden linjan (esim. viite) mukaisesti kevään 2008 ensimmäinen erilliskoe 15.1.2008 toimii myös uusintakuulusteluna. Jos olette sairaana tai mistä tahansa syystä poissa varsinaisesta kurssikuulustelusta, niin voitte korvata sen tammikuun uusintakuulustelulla. Uusintakuulusteluun voi myös osallistua, jos varsinainen kurssikuulustelu on mennyt huonosti. Erilliskokeen 60 pistettä skaalataan tällöin lineaarisesti uusintakuulustelun 40 pisteeseen. Koe arvostellaan sekä erilliskokeena että uusintakuulusteluna, ja arvosana määräytyy paremman tuloksen mukaan. Esimerkiksi, jos saatte tammikuun kokeesta 38/60 pistettä ja teillä on 15 pistettä syksyn kurssin harjoituksista ja projekteista, niin arvosana määräytyy seuraavasti:
Pisteet = max { 38, 40/60*38+15 } = max { 38, 25+15 } = 40p.
Arvosanaksi tulee 3/5.
Varautukaa myös siihen, että syksyn kurssin arvostelu valmistuu vasta vuoden 2008 alussa. Projektien viimeinen palautuspäivä on 17.12.2007, joten arvostelun tulee valmistua viimeistään 17.1.2008 mennessä. Se kyllä valmistunee aikaisemmin.
14.12.2007 Opintopiirien ryhmittelysivulla on nyt myös tiedot, joista näkyy myös palautusten (pr1 ja pr2) status.
4.12.2007 Kurssikirjaa (Ben-Ari 2nd Ed) voi lukea verkossa ilmaiseksi Safari Books Online LLC'n sivustolla (demolisenssi, marraskuu 2007). Lukeminen onnistuu yliopiston domainista ja HY-VPN'n kautta muualtakin. Lukekaa käyttöehdot kyseiseltä sivustolta. Kiitos Juha Louhirannalle asian saattamisesta tietooni. 7.12.2007 demolisenssi näyttää jo päättyneen.
3.12.2007 Harjoitustehtäväpisteitä (htp) on tällä kertaa kuudesta harjoituskerrasta yhteensä jaossa 33, josta noin 30% on 9 htp. Laskuharjoituksiin osallistuminen on pienessä määrin pakollista, joten huolehtikaa, että teillä on vähintään tuo minimivaatimus (9 htp) täytettynä.
20.11.2007 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.
15.11.2007 Eräs opiskelija huomautti aivan aiheellisesti, että pdf-luentokalvokopiosta on aika vaikea klikata hyperlinkkejä. Olen nyt muuttanut luentojen kalvot siten, että hyperlinkkien lisäksi kalvoilla on myös linkitetyn sivun verkko-osoite copy-paste -käyttömoodia varten.
14.11.2007 Opintopiirien suurestä määrästä johtuen kunkin projektin tekijäjätiimien maksimilukumäärä on nyt 4. Alkuaanhan tuo maksimilukumäärä oli vain 3, mutta aika moni haluaa nyt tehdä projektinsa yksin tai 2 hengen tiimissä.
31.10.2007 On käynyt ilmi, että kurssikirjanpito ei osaa etsiä tarkistuslistaan opiskelijanumeroa muualta kuin ILMOsta. Jos haluatte siis pystyä tarkistamaan tietojanne tarkistuslistoista, niin laittakaa ystävällisesti opiskelijanumeronne ILMO-tietoihinne. Tiedot julkaistaan verkossa ainoastaan opiskelijanumeroa 27.6.2007 päivätyn Tietosuoja yliopistossa -ohjeen (ks. Tietosuoja ja julkisuus opintohallinnossa / Tenttitulosten ja muiden opintosuoritusten ilmoittaminen) mukaisesti. Kiitos.
30.10.2007 Kaikkien pitäisi olla jossakin opintopiirissä viikon 45 lopulla (9.11.2007). Jos ette ole löytäneet opintopiiriä harjoitustilaisuuksissa tai jollain muulla tavoin, niin lähettäkää luennoitsijalle sähköpostia asiasta. Parittomat ryhmitellään sitten (liki satunnaisesti) opintopiireihin tämän viikon jälkeen. Jos päädytte opintopiiriin sähköpostin lähettämisen jälkeen, niin kertokaa asiasta, jotta teitä ei vahingossa ryhmäytetä uudelleen.
Hankkikaa oppikirja [BenA06] ajoissa, jotta se on teillä käytettävissä heti kurssin alkaessa.
Muistutus: Harjoitukset alkavat heti ensimmäisellä viikolla.
Tärkeä Huom 0: Laitoksen johtoryhmän päätöksen mukaisesti opinto-oppaassa ja kurssikuvauksissa mainittuja pakollisia esitietoja ryhdytään 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.
29.10.2007: Omalta osaltanne voitte tarkistaa tarkistuslistalta, jonne esitietovaatimusten riittävyys on koodattu '0'-merkillä sarakkeeseen "KOE 2". Jos teillä ei ole tuota merkintää, niin ette voi osallistua tälle kurssille. Epäselvissä tapauksissa käykää henkilökohtaisesti luennoijan puheilla.
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 (22.10.2007 klo 9-11 salissa B123). 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.
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 (22.10.).
Huom 1 : 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.
Huom 2: 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 2: 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 (22.10.2007 9-11 in B123) 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 (22.10.).
29.10.2007: Your prerequisites are in order if you have a zero ('0') mark in column "KOE 2" in course bookkeeping. If you do not have it, please contact the instructor.
There will be one practice session (Thu 14-16, 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. Start your work one week before the lectures begin.
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 (in Finnish only, sorry) 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 C, Pascal, or 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. 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.
Your grade will be based on course exam (min 20, max 40 points), homeworks (min 1, max 10 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 66 points with extra credits) to pass. 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/s2007/aikataulu.html.
- Kurssin uutisryhmä on hy.opiskelu.tktl.rio
. Uutisryhmä on tarkoitettu lähinnä opiskelijoiden keskinäiseen kommunikointiin.
Jos haluatte (nopeaa) reagointia luennoitsijalta, niin käyttäkää sähköpostia.
Kaikkia kurssilaisia kiinnostavat asiat julkaistaan luennoitsijan puolesta
mieluummin tällä sivulla kuin uutisryhmässä.
- Tämä luentokurssi on tavanomainen luentokurssi ja siihen sisältyy
seuraavat osiot:
- luennot, 12 kpl á 2t, yhteensä 24t
- laskuharjoitukset, 6 kpl á 2 t, yhteensä 12t
- opintopiirissä tehtävä projekti pr1 (kertaustehtäviä, ohjelmia, raportteja)
- itsenäisesti tehtävä valinnainen ylimääräinen oppimispäiväkirja (pr2)
- kurssikuulustelu
- 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. Jos haluatte luennoijan löytävän teille ryhmän, niin ilmoittakaa siitäkin sähköpostitse. Opintopiirissä tehdään yhteistyössä projekti (projekti 1), mutta opintopiiri voi myös tehdä muuta yhteistyötä kurssin aikana. On 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ä.
- Tiedekunta tekee kurssin aikana ajankäyttö- ja opiskelututkimuksen (projekti 3). Siihen osallistuminen on valinnaista, mutta osallistumisesta voi saada muutaman arvosanaan vaikuttavan pisteen.
- Kurssin oppikirja ja luentokalvot ovat englanniksi. Luennot ovat suomeksi.
Laskuharjoitukset ovat suomeksi, paitsi ehkä yksi ryhmä englanniksi.
- Laskuharjoituksiin osallistuminen on ainakin pienessä määrin pakollista, ja niistä saa
merkittävän osan luentokurssin arvosanasta. Kustakin tavallisesta
laskuharjoitustehtävästä saa yhden harjoitustehtäväpisteen (htp) ja joistakin
vaikeammista tehtävistä voi saada useammankin htp:n. 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 laskaria á 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.
- Laskuharjoitusten yksi ryhmä voi olla englanniksi, jos tarvetta
ilmenee. Jos laskuharjoitusryhmä on englanniksi, niin se on sitten kokonaan
englanniksi (tehtävien esittämiset, kysymykset ja vastaukset).
- Esitietokokeen tulokset näkyvät tällä paikalla heti arvostelun valmistuttua.
- Kurssin kirjanpitotilasto on luettavissa TKTL:n sisäisessä intranetissä. Esitietovaatimusten riittävyys näkyy numerona '0' kokeen 2 kohdalla. Projektista 3 saadut pisteet (htp) on merkitty kohtaan LH-7. 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) 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
|
10 p
|
Opintopiirin ryhmätyö
(projekti 1) |
1 p
|
10 p
|
Opintopäiväkirja (projekti 2) |
0 p
|
5 p
|
Ajankäyttötutkimus (projekti 3) |
0 p
|
1 p
|
Kurssikuulustelu
|
20 p
|
40 p
|
Yhteensä
|
30 p
|
66 p
|
Kurssin muoto: opintopiirikurssi
Kurssi toteutetaan opintopiirejä käyttäen. Tämä tarkoittaa sitä, että ns. tavallisten laskuharjoitusten asemesta opiskelijat jaetaan pienryhmiin (opintopiireihin), joissa tehdään 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 kokoontuvat viikoittain yhden pakollisen kerran ohjaajan kera. Sen lisäksi opintopiirit voivat tavata itse sopiminaan aikoina eri tiloissa yliopistolla tai verkossa opintopiirin omassa chat-huoneessa.
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. Kaikilla on valmiina opintopiirityöskentelyä varten CSMoodle 'n käyttäjätunnus. Se on sama tunnus kuin TKTL-tunnus. Muista myös kirjautua CSMoodle'ssa RioS07-kurssille (salasana rioConc ) ja pyytää ohjaajaasi sijoittamaan sinut omaan opintopiiriisi CSMoodle'ssa.
Moodlen käyttöohjeita löytyy englanniksi Moodlen omilta sivuilta.
(esim. Documentation / "Student Guide for Moodle" by Ray Lawrence).
CSMoodle'ssa (vasemmassa palkissa ylhäällä) on lyhyt
suomenkielinen Opiskelijan pikaopas Moodlen käyttöön ja (vielä lyhyempi) FAQ -sivu.
Samassa pääpalkissa on myös muita suomenkielisiä
ohjeita. Sisäänrakennetut ohjeet löytää
CSMoodle'n Help-ikonin avulla. Moodlen Wiki työkalusta on myös Sami Palhomaan kirjoittama wiki-ohje.
Wiki "TKTL RIO"
Kurssilla otetaan käyttöön yliopiston Atlassian Confluence -järjestelmän wiki, johon tulee pikkuhiljaa kurssin käyttöön staattista materiaalia. Aluksi sinne laitetaan kurssin käsitteiden määrittelyjä ja kurssin ohjelmien käyttöohjeita. Kaikki TKTL RIO -wikiin kirjoitettu materiaali jää julkiseen käyttöön, jota rinnakkaisohjelmoinnin opiskelijat voivat hyödyntää tulevina vuosina.
Wikin päivitys tapahtuu aktiivisten opiskelijoiden toimesta joko itsenäisesti tai kurssin projektien toimesta. Wikin hyödyllisyys on täysin teistä opiskelijoista kiinni.
Wikin luku- ja kirjoitusoikeus on kaikilla yliopistolaisilla (ryhmä ldap-users). Opintopiirien omissa wikeissä luku- ja kirjoitusoikeudet on kurssin aikana parasta antaa vain opintopiirin omille jäsenille ja ohjaajille. Confluence wikin logistiikka ei valitettavasti (?) toistaiseksi salli omien käyttäjäryhmien luomista ja käyttöoikeuksien määrittelyä tuolla tasolla.
Tekijänoikeudet wikiin kirjoittajilla on itsellään, mutta kirjoittamalla tähän wikiin kirjoittajat samalla antavat TKTL'lle oikeuden käyttää materiaalia Creative Commons Nimeä-Epäkaupallinen 1.0 Suomi -lisenssin mukaisesti .
Opetus, kokeet
Esitietokoe | 22.10.2007 | ma 9-12 (B123) | Teemu Kerola |
Luennot Lectures in Finnish |
29.10 - 3.12.2007 |
ma 12-14 (B123) Mon |
Teemu Kerola |
5.12.2007 | ke 8-10 (B123) Wed | ||
Harjoitukset Practice sessions |
29.10 - 7.12.2007 |
ke 14-16 (CK111) |
Jouni Siren |
to 14-16 (CK111) 7.12.07 pe 14-16 (CK111) |
Jouni Siren |
||
ti 8-10 (B119) | Mika Karlstedt | ||
ti 10-12 (B119) | Mika Karlstedt | ||
to 14-16 (C220) 7.12.07 pe 14-16 (C220) In English ![]() |
Teemu Kerola | ||
Projektien palautus |
17.12.2007 klo 12:00 |
paperikopio ja sähköposti paper copy and email |
|
Kurssikuulustelu Course exam |
14.12.2007 | pe 9-12 Fri | 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 (22-26.10.2007) Week 43
- 22.10.2007 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 (29.10.-2.11.2007) Week 44
- Luento 1, ma 29.10.2007 Lecture
- Valinnaisen oppimispäiväkirjan aloitus Pr2 (Pr2e)
Elective study diary started - Tiedekunnan tutkimukseen osallistumisen aloitus Pr3 (Pr3e)
Elective School of Science Study participation begins - Luento 2, to 1.11.2006 Lecture
- Kertaustehtävät Ch 2 Practice Problems (some in English?)
- Harjoitustehtävät Lh 2 (Hw 2) Homework problems
- Harjoitukset Practice meeting
Viikko 45 (5.-9.11.2007) Week 45
- Luento 3, ma 5.11.2007 Lecture
- Kertaustehtävät Ch3 Practice Problems (some in English?)
- Luento 4, to 8.11.2007 Lecture
- Kertaustehtävät Ch4 Ch5 Practice Problems (some in English?)
- Harjoitustehtävät Lh 3 (Hw 3) Homework problems
- Harjoitukset Practice meeting
Viikko 46 (12.-16.11.2007) Week 46
- Luento 5, ma 12.11.2007 Lecture
- Kertaustehtävät Ch6Stal Practice Problems (some in English?)
- Luento 6, to 15.11.2007 Lecture
- Kertaustehtävät Ch6 Practice Problems (some in English?)
- Harjoitustehtävät Lh 4 (Hw 4) Homework problems
- Harjoitukset Practice meeting
Viikko 47 (19.-23.11.2007) Week 47
- Luento 7, ma 19.11.2007 Lecture
- Luento 8, to 22.11.2007 Lecture
- Kertaustehtävät Ch7 Practice Problems (some in English?)
- Harjoitustehtävät Lh 5 (Hw 5) Homework problems
- Harjoitukset Practice meeting
Viikko 48 (26.-30.2007) Week 48
- Luento 9, ma 26.11.2007 Lecture
- Luento 10, to 29.11.2007 Lecture
- Kertaustehtävät Ch8-9 Practice Problems (some in English?)
- Harjoitustehtävät Lh 6 (Hw 6) Homework problems
- Harjoitukset Practice meeting
Viikko 49 (3.-7.12.2007) Week 49
- Luento 11, ma 3.12.2007 Lecture
- Kertaustehtävät Ch8-9 Practice Problems (some in English?)
- Luento 12, ke 5.12.2007 (8-10, B123) Lecture
- Itsenäisyyspäivä 6.12.2007 Independence day (University closed)
- Kertaustehtävät Ch10 Practice Problems (some in English?)
- Harjoitukset Practice meeting
Viikko 50 (10.-14.12.2007) Week 50
- pe 14.12.2007 Kurssikuulustelu Course examination
Viikko 51 (17.12.-21.12.2007) Week 51
- ma 17.12.2007 12:00 Projektien (pr1 & pr2) palautus
Project (pr1 & pr2) deadline
Palauta eposti- ja paperikopiot! Return email and paper copies!
Kirjallisuutta ja muita viitteitä (Literature and References)
- [BenA06] M. Ben-Ari, Principles of Concurrent and Distributed Programming (2nd Ed.); Addison-Wesley 2006.
- kurssikirja, välttämätön hankinta Text book - must have!
- Amazon.uk ≈50 € + mailing (31.5.2006)
- Indigostarfish.com (Jersey'ssä, ei ALV'ia...) (13.12.2007)
- Yliopistokirjakauppa (Exactum) 58€ (29.8.2007)
- Kumpula, 55 kpl (29.8.2007)
- Akateeminen kirjakauppa 59.90€ (30.10.2006)
- Keskuskatu, 14 kpl (7.11.2006)
- Akateemisen nettimyynti 59.90 € (19.10.2006)
- Suomalainen kirjakauppa (keskusta) 77.10€, tilattava, toim.aika 2-3 vkoa (30.10.2006)
- DataClub 66.70 € myymälästä Sanomatalosta (31.5.2006)
- Play.com £39.99 vai £41.95 vai €61.99?, free delivery (13.12.2007)
- muut paikat/hinnat? kertokaa Teemulle, kiitos?
- Amazon.uk ≈50 € + mailing (31.5.2006)
- Errata (Ben-Ari)
- Other typos (Kerola)
- Kurssikirjaa (Ben-Ari 2nd Ed)
voi lukea verkossa ilmaiseksi Safari Books Online LLC'n sivustolla
(demolisenssi, marraskuu 2007). Lukeminen onnistuu ainakin yliopiston
domainista, mutta myös HY-VPN'n kautta kotoakin. Lukekaa
käyttöehdot kyseiseltä sivustolta.
- kurssikirja, välttämätön hankinta Text book - must have!
-
[Andr00] G. R. Andrews, Foundations of Multithreaded, Parallel, and Distributed Programming; Addison-Wesley 2000.
- vanha kurssikirja, samoja asioita vähän eri tavalla. Hyvä kirja, mutta painos lopussa.
- [Stal05]
William Stallings, Operating Systems - Internals and Design Principles; Prentice Hall, 2005, 5th ed.
- Ch. 6 (Deadlock and Starvation)
- kirja on myös kurssin Käyttöjärjestelmät kurssikirja
- [BACI] BACI homepage (samanaikaisuuden
hallinnan harjoitustyökalu)
- sisältää graafisen käyttöliittymän (BACI GUI) Unix/Linux-ympäristöihin
- käytetään kurssilla samanaikaisuuden havainnollistamiseen ja harjoitteluun
- asenna BACI Linuxiin Jukka-Pekka Kinnusen ohjeiden avulla:
"Alla olevassa linkissä muutamia havaintomuistiinpanoja kokeiluista
BACI:n kääntämisestä eri Linux-distribuutioissa sekä Windows/Cygwinissä. Näistä CS-Linux oli helpoin.
http://www.cs.helsinki.fi/u/jpkinnun/2006s/rio/baciohje.html" - User Guide - BACI C-- Compiler and Concurrent PCODE Interpreter (Bynum & Camp), local copy
- User Guide - BACI Pascal Compiler and Concurrent PCODE Interpreter (Bynum & Camp), local copy
- [jBACI] jBACI Concurrency Simulator (M. Ben-Ari)
- sisältää graafisen käyttöliittymän BACI-simulaattoriin Windows-ympäristöön
- käytetään kurssilla samanaikaisuuden havainnollistamiseen ja harjoitteluun
- install to Windows: load version 1.4.5 jBACI executable files and example programs (local copy), unzip, edit config.cfg to have correct paths to translators bin/bacc.exe and bin/bapas.exe as well as for directory examples, click run.bat
- installoi jBACI Linuxiin Lasse Leinon ohjeiden mukaan:
"Pikaisen kokeilun jälkeen jBACI toimii yhtäläillä
linuxissa. Ainoaksi ongelmaksi jää vain se, että
kääntäjät ovat paketissa mukana vain exeinä.
Apu löytyy BACI:n kotisivuilta,
(http://www.mines.edu/fs_home/tcamp/baci/balnxxe-2005Nov09.tar.gz), josta löytyy linux ympäristössä toimivat kääntäjät. Näyttäisi ainakin toimivan, kun pikaisesti testasin." - jBACI Concurrency Simulator User Guide (M. Ben-Ari), local copy
- jBACI examples (local copy) from jBACI installation
- BACI-järjestelmän käytön UKK (FAQ page for BACI system use)
- [Taub06] G. Taubenfeld, Synchronization Algortihm and Concurrent Programming, Pearson Education Ltd 2006.
- samoja asioita, joitakin ehkä vähän syvällisemmin
- Tapio Lehtomäki, Säikeillä säpinää makkarakoodiin, Mikrobitti 11/2002 (Aterioivat filosofit -sovellus Java-kielellä)
- Jeff Magee & Jeff Kramer, Concurrency: State Models & Java Programs, 2nd Ed, Wiley 2006.
Readers and Writers (Java applet) - Doing Two or More Tasks at Once, The Java Tutorial - A Practical Guide for Programmers (Trail: Essential Java Classes), Sun Microsystems.
- Leslie Lamport, A New Solution of Dijkstra's Concurrent Programming Problem, Comm ACM 1974 (vol 17), Nr 8, pp 453-455.
- Cay Horstmann & Gary Cornell, Core Java 1, Vol 1 - Fundamentals, 7th Ed, Sun Microsystem Press, 2005
- Cay Horstmann & Gary Cornell, Core Java 1, Vol 2 - Advanced Features, 7th Ed, Sun Microsystem Press, 2005
- Herder et al, Modular System Programming in MINIX 3, The USENIX Magazine 30, 5 (April 2006)
- Java Threads: package lang, class Thread, Java TM 2 Platform Standard Ed. 5.0, Sun Microsystems
- Java Semaphores: package concurrent, class Semaphore, Java TM 2 Platform Standard Ed. 5.0, Sun Microsystems
- JavaSpaces
-
- Sun Microsystems, Jini network technology.
- Stephen J. Hartley, Concurrent Programming: The Java Programming Language, Drexel University, 1998. Verkkosivu.
- Douglas Lea, Concurrent Programming in Java™: Design Principles and Pattern, 2nd Edition, Addison-Wesley 2000. Verkkosivu.
- Marc L. Smith & Charles E. Hughes, A Characterization of Lazy and Eager Semantic Solutions to the Linda Predicates Ambiguity Problem, Proceedings of 2003 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'03), edited by Hamid R. Arabnia, CSREA Press, Las Vegas, 23-26 June 2003.
- Glenn Ricart & Ashok K. Agrawala, An optimal algorithm for mutual exclusion in computer networks, Comm ACM 24, 1 (Jan 1981), pp 9-17.
- Maurice Herlihy & J. Eliot B. Moss, Transactional Memory: Architectural Support for Lock-Free Data Structures, Proceedings of the 1993 International Symposium on Computer Architecture (ISCA), May 1993, San Diego , CA., p. 289-300. (local pdf)
- [TKS06] Ali-Reza Adl-Tabatabai, Christos Kozyrakis & Bratin Saha, Unlocking Concurrency - Multicore programming with transactional memory,
ACM Queue vol. 4, no. 10 - December 2006 / January 2007
(Kozyrakis pdf, local pdf)
- For extended coverage on the topic, refer to the slides from the PACT '06 (Parallel Architectures and Compilation Techniques) tutorial, "Transactional Programming in a Multicore Environment," available at http://csl.stanford.edu/~christos/publications/tm_tutorial_pact2006.zip. (local zip)
- Sanakirjoja (dictionaries)
">Teemu Kerola 17.12.2007 16:20