Rinnakkaisohjelmointi, Syksy 2006
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.
15.1.2007 Kurssin arvostelu valmistui. Kokeen tulokset, kurssin arvostelu sekä kokeen arvosteluperusteet näkyvät tällä paikalla lyhyen aikaa (muutaman viikon) kokeen arvostelun jälkeen. Kokeen hyväksymisrajaksi tuli lopulta 14/40 ja kurssin läpipääsyrajaksi 26/60.
Course grading is completed.
18.12.2006 Kurssin arvostelu siirtyy tammikuulle, koska yksi arvostelijoista on matkoilla tämän vuoden loppuun. Tulokset saataneen valmiiksi tammikuun puoleenväliin mennessä.
Do not expect course grades until mid-January.
1.12.2006 On käynyt ilmi, että ainakin muutama kurssilainen on myös Tilastotieteen johdantokurssilla, jonka toinen kuulustelu on Porthaniassa 15.12. klo 10-13. Rion kurssikuulusteluhan on samana päivänä Exactumissa klo 9-12. Olen nyt järjestämässä ongelman ratkaisua siten, että molemmat kokeet voi suorittaa Exactumissa klo 8-13. Nykytietämykseni mukaan ongelma koskee kuutta opiskelijaa. Jos teitä on muitakin, ilmoittautukaa minulle pikapuoliin järjestelyjä varten.
23.11.2006 Itsenäisyyspäivänä 6.12. ei ole opetusta. Viimeinen luento on torstaina 7.12. klo 8-10 (A111). Marttisen keskiviikon ryhmä 4 kokoontuu torstaina 7.12. klo 10-12 (C221). Siikavirran keskiviikon ryhmä 3 kokoontuu torstaina 7.12. klo 14-16 (CK111). Jos nämä ajat eivät sovi, niin vierailkaa muissa ryhmissä.
No instruction on Independence Day 6.12. Last lecture on Thursday 7.12. at 8-10 (A111).
22.11.2006 Oppikirjasta [BenA06] on löytynyt muutama uusi typo. Jos/kun uusia löytyy, kertokaa minullekin. Kiitos.
17.11.2006 Projektien viimeinen palautuspäivä on muutettu myöhemmäksi. Deadline on nyt maanantaina 18.12.2006 klo 12:00. Tällä tavoin myös kurssin loppupuolen asioita käsitteleville projekteille jää enemmän aikaa. Projektit voi tietenkin palauttaa myös aikaisemminkin. Uusi takaraja on päivitetty kaikkialle kurssi-infoon. Kertokaa, jos johonkin jäi vielä epähuomiossa vanhaa tietoa. Kiitos.
New project deadline is Monday 18.12.2006 at 12:00 noon.
15.11.2006 On tullut tietooni, että BACIn eri versiot voivat toimia hieman eri tavoin. Esimerkiksi olen kuullut, että tekstuaalinen BACI toimii jotenkin joskus eri tavalla kuin jBACI. Olisi mukava saada (lyhyitä!) kommentteja tällaisista havainnoista. Mailatkaa niitä minulle ja julkaisen havainnot muidenkin iloksi uudella BACI UKK/FAQ -sivulla.
13.11.2006 Tarkistuslistoilta on poistettu näkyvistä opiskelijat, joilla ei ole mitään merkintöjä ja joista ei ole kuulunut mitään kurssin aikana. Jos olette suorittamassa kurssia ja nimeänne ei näy tarkistuslistalla, mailatkaa asiasta luennoitsijalle.
10.11.2006 On ollut jonkin verran kyselyjä, voisiko kurssin vielä suorittaa Andrews'in kirjan mukaan. Tämän kurssin kannalta se ei oikein onnistu, koska kurssi on suunniteltu Ben-Arin kirjan mukaisesti. Mutta Liisa Marttinen on lupautunut pitämään vielä yhden erilliskokeen (2.2.2007) Andrews'in kirjan mukaisesti. Tuona samana päivänä on siis sitten kaksi Rinnakkaisohjelmoinnin erilliskoetta: (a) Liisa Marttisen antama lukuvuoden 2005-2006 kurssikuvauksen ja Andrews'in kirjan mukainen ja (b) Teemu Kerolan antama lukuvuoden 2006-2007 kurssikuvauksen ja Ben-Arin kirjan mukainen. Voitte ilmoittautua ja osallistua vain jompaan kumpaan näistä kokeista. Kokeessa tarkistakaa, että saitte oikean kokeen kysymykset!
10.11.2006 Myös Moodleen on toiveen mukaisesti perustettu Rinnakkaisohjelmoinnin (S06) kurssi. Sitä voi käyttää, jos haluaa. Sinne on alkuaan laitettu yleisimmät Moodlen palikat. Jos muita tarvitaan, kertokaa siitä. Ryhmäytyminen Moodleen tapahtuu kolmessa vaiheessa. (1) Kaikkien ryhmän jäsenten tulee ensin kerran käydä kirjautumassa Moodlessa tälle kurssille. (2) Mailatkaa minulle tiedot (a) ryhmän jäsenten nimistä ja (b) haluamastanne ryhmän nimestä Moodlessa (esim. GroupXYZ). (3) Luon ryhmän, laitan jäsenet sinne, mailaan asiasta teille ja Moodle-ryhmä on valmis toimintaan.
8.11.2006 Oppikirjasta alkaa olla pula. Exactumin Yliopistokirjakaupan kaikki kappaleet on myyty ja lisää (10 kpl) tullee vasta parin viikon päästä. Keskuskadun Akateemisessa kirjoja oli eilen 14 kpl jäljellä. Amazon.co.uk toimittaa kirjan kuriirilla 1-2 päivässä (noin 87€) tai postitse noin viikossa (noin 63€). Kirjakaupat ovat vähän varovaisia tilaamaan kirjoja, eikä kurssien vetäjillä ole valitettavasti antaa luotettavaa arvioita laitoksen kurssien osallistujamääristä.
6.11.2006 Kaikkien pitäisi olla nyt jo jossakin opintopiirissä. Jos ette vielä kuulu opintopiiriin, 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.
Everybody should be in a study circle by now. If you are not and still need partner(s), please send email to instructor.
23.10.2006 Näillä näkymillä ryhmä 5 (to 12-14) pidetään englanniksi.
Muistutus: harjoitukset alkavat heti ensimmäisellä viikolla.
Huom 0: 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 1: 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).
There may be one practice session in English, if there is demand for it. If you want the practice session 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 if 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 small team project. The projects involves creating a few (2) new practice problems in 2-3 person teams and some concurrent programming in C, Pascal, or Java. There is also an extra project (for extra credit) project, that involves keeping a learning diary for all your experiences 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 15 points). So, the exam, homeworks and the team projects are compulsory.. Altogether you should have minimum 30 points (out of 65 points) 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/s2006/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, mutta opintopiiri voi myös tehdä muuta yhteistyötä kurssin aikana. On mukavampi opiskella yhdessä kuin yksinään.
- Oppimispäiväkirjan 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.
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).
- 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.
- Kokeen tulokset, kurssin arvostelu sekä kokeen arvosteluperusteet näkyvät tällä paikalla lyhyen aikaa (muutaman viikon) kokeen 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 |
Kurssikuulustelu |
20 p |
40 p |
Yhteensä |
30 p |
65 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 RioS06-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.
Opetus, kokeet
Luennot Lectures in Finnish |
30.10 - 4.12.2006 |
ma 12-14 (B123) Mon |
Teemu Kerola |
7.12.2006 | to 8-10 (A111) Thu | ||
Harjoitukset Practice sessions |
30.10 - 8.12.2006 |
ti 10-12 (CK111) |
Mikko Apiola |
ti 12-14 (CK111) | Mikko Apiola | ||
ke 10-12 (CK111) 7.12.06 to 14-16 (CK111) |
Sebastian Siikavirta | ||
ke 12-14 (CK101) 7.12.06 to 10-12 (C221) |
Liisa Marttinen | ||
to 12-14 (B119) In English |
Liisa Marttinen | ||
pe 10-12 (CK111) |
Sebastian Siikavirta | ||
Projektien palautus |
18.12.2006 klo 12:00 |
paperikopio ja sähköposti paper copy and email |
|
Kurssikuulustelu Course exam |
15.12.2006 | 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 (23-27.10.2006) Week 43
- 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 (30.10.-3.11.2006) Week 44
- Luento 1, ma 30.10.2006. Lecture
- Valinnaisen oppimispäiväkirjan aloitus Pr2 (Pr2e) Elective project begins
- Luento 2, ke 1.11.2006. Lecture
- Harjoitukset 31.10-3.11.2006 Practice meeting
- Kertaustehtävät Ch 2 Practice Problems (some in English?)
- Harjoitustehtävät Lh 2 (Hw 2) Homework problems
Viikko 45 (6.-10.11.2006) Week 45
- Luento 3, ma 6.11.2006 Lecture
- Kertaustehtävät Ch3 Practice Problems (some in English?)
- Luento 4, ke 8.11.2006 Lecture
- Kertaustehtävät Ch4 Practice Problems (some in English?)
- Harjoitustehtävät Lh 3 (Hw 3) Homework problems
- Harjoitukset 7-10.11.2006 Practice meeting
Viikko 46 (13.-17.11.2006) Week 46
- Luento 5, ma 13.11.2006 Lecture
- Kertaustehtävät Ch5 Practice Problems (some in English?)
- Luento 6, ke 15.11.2006 Lecture
- Kertaustehtävät Ch6Stal Practice Problems (some in English?)
- Harjoitustehtävät Lh 4 (Hw 4) Homework problems
- Harjoitukset 14-17.11.2006 Practice meeting
Viikko 47 (20.-24.11.2006) Week 47
- Luento 7, ma 20.11.2006 Lecture
- Luento 8, ke 22.11.2006 Lecture
- Kertaustehtävät Ch6 Practice Problems (some in English?)
- Harjoitustehtävät Lh 5 (Hw 5) Homework problems
- Harjoitukset 21-24.11.2006 Practice meeting
Viikko 48 (27.11.-1.12.2006) Week 48
- Luento 9, ma 27.11.2006 Lecture
- Kertaustehtävät Ch7 Practice Problems (some in English?)
- Luento 10, ke 29.11.2006 Lecture
- Kertaustehtävät Ch8-9 Practice Problems (some in English?)
- Harjoitustehtävät Lh 6 (Hw 6) Homework problems
- Harjoitukset 28.11-1.12.2006 Practice meeting
Viikko 49 (4.-8.12.2006) Week 49
- Luento 11, ma 4.12.2006 Lecture
- Kertaustehtävät Ch8-9 Practice Problems (some in English?)
- Itsenäisyyspäivä 6.12.2006 Independence day (University closed)
- Luento 12, to 7.12.2006 (8-10, A111) Lecture
- Kertaustehtävät Ch10 Practice Problems (some in English?)
- Harjoitukset 5-8.12.2006 Practice meeting
Viikko 50 (11.12.-15.12.2006) Week 50
- 15.12.2006 Kurssikuulustelu Course examination
Viikko 51 (18.12.-22.12.2006) Week 51
- 18.12.2006 12:00 Projektien (pr1 & pr2) palautus Project (pr1 & pr2) deadline
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)
- Yliopistokirjakauppa (Exactum) 58.90€ (30.10.2006)
- Kumpula, tilattu 10 kpl (7.11.2006)
- 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)
- muut paikat/hinnat? kertokaa Teemulle, kiitos?
- Errata (Ben-Ari)
- Other typos (Kerola)
- 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. 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.
- Sanakirjoja (dictionaries)
Teemu Kerola 04.05.2007 12:19