
58131 Tietorakenteet (4 ov) syksy 2004
Sivua muutettu viimeksi Jan 30, 2005
0. Ajankohtaista
1. Asema opetuksessa
Kurssi on cum laude approbatur -tason pakollinen neljän (4) opintoviikon luentokurssi, joka kestää koko lukukauden.
Esitietoina vaaditaan ohjelmointitaidon alkeet jollakin ohjelmointikielellä kurssin Java-ohjelmointi laajuudessa.
Kielen ei siis tarvitse olla Java, kurssi on kieliriippumaton.
2. Kurssin sisältö
3. Kurssin suorittaminen
Kurssin suoritus koostuu kahdesta kurssikokeesta ja aktiivisesta osallistumisesta laskuharjoituksiin. Kokeissa ja laskuharjoituksissa käsitellään luennoilla esitettyjä asioita.
Kurssikokeet on merkitty tällä sivulla olevaan aikatauluun. Koealue käsittää siihen mennessä käsitellyt asiat. Ne ilmoitetaan tällä sivulla myöhemmin.
Kurssin voi suorittaa myös erilliskokeella. Erilliskokeen vaatimukset ovat aina viimeisimmän päättyneen luennointikerran mukaiset.
3.1. Luennot
Kurssilla on luentoja 14.9.-2.12. tiistaisin ja torstaisin 10-12 auditoriossa.
Luennoijana on Matti Luukkainen.
3.2. Laskuharjoitukset
Kurssiin liittyy pakollisia laskuharjoituksia ajalla 20.9.- 10.12. Katso ajat opetusohjelmasta
Tehtäviä (ryhmäharjoitustehtävät) käsitellään ohjatuissa pienryhmissä. Ensimmäisessä laskuharjoitustilaisuudessa tilaisuuteen ilmoittautuneista muodostetaan (noin) neljän hengen pienryhmiä, joiden on tarkoitus toimia yhdessä koko kurssin ajan. Kukin ryhmä on yhteisvastuussa siitä, että se saa tehtävät ratkaistua! Tämä vaatinee pienryhmältä tapaamisia (ellei fyysisesti niin ainakin virtuaalisesti) myös laskuharjoitustilaisuuksien välillä.
Tästä seuraa, että muissa laskuharjoitustilaisuuksissa ei voi vierailla. Kurssiin sisältyy myös "vanhan tyylin" laskareita (yksilöharjoitustehtävät) eli itsenäisesti ratkaistavia tehtäviä.
Ryhmätehtäviä käsitellään noin kolmen viikon jaksoissa seuraavasti:
Edellisen luentoviikon päätteeksi luennoija jakaa seuraavat ryhmätehtävät tämän verkkosivun kautta.
Ensimmäisen ja toisen viikon laskuharjoitustilaisuudessa kukin ryhmä ratkoo edellisen viikon päätteeksi saamiaan tehtäviä yhdessä. Laskuharjoitusassistentti on paikalla auttamassa.
Tämän lisäksi laskuharjotuksissa käydään normaaliin tapaan läpi mahdolliset yksilöllisesti tarkaistavat tehtävät
Kolmannen viikon laskuharjoitustilaisuudessa ryhmät esittelevät ratkaisujaan toisilleen ja niistä keskustellaan.
Lisäksi ryhmät palauttavat ratkaisunsa myös kirjallisesti laskuharjoitusassistentille. Assistentti arvioi näiden kirjallisten ratkaisujen perusteella, montako pistettä (0-3) ryhmä tältä kierrokselta saa.
Pisteytyksen perusteena on, kuinka kelvollisen suullisen esityksen ryhmä olisi voinut tilaisuudessa antaa muille ryhmille. Ryhmä voi tutustua saamiinsa pisteisiin seuraavassa tilaisuudessa.
Ryhmäläiset arvioivat kirjallisesti myös oman ryhmänsä toimintaa.
Tämä tehdään siten, että ryhmä kirjoittaa kirjallisten ratkaisujensa loppuun arvion ryhmän toiminnasta tällä kierroksella. Arvioitiohje.
Kurssin lopuksi laskuharjoitusassistentti pisteyttää (0-2 p.) ryhmän kaikki kurssin aikana tekemät arviot. Nämä pisteet vaikuttavat suoraan arvosteluun. Pisteytyksen perusteena on, kuinka asianmukaisesti ryhmä on arvionsa laatinut.
Lisäksi, kurssin lopuksi jokainen opiskelija arvioi oman ryhmänsä toiminnan antaen arvosanan kullekin ryhmän jäsenelle itsensä mukaanlukien
3.3. Arvostelu
Kurssi pisteytetään ja arvostellaan seuraavasti:
3.4. Suoritus erilliskokeella
Tämä luentokurssi on mahdollista suorittaa myös erilliskokeella. Jokaisessa erilliskokeessa tentitään kurssi sellaisena, kuin se pidettiin edellisellä päättyneellä luentokerralla. Eri luentokerrat lienevät tosin sisällöiltään ja vaatimuksiltaan samankaltaiset. Tarkemmat erilliskoeajat selviävät kyseisen lukukauden erilliskoelistasta.
4. Kurssimateriaali
Kurssimateriaali koostuu
- Kurssin kuluessa syntyvistä luentokalvoista, jotka luennoija jakaa tämän verkkosivun ja luentomapin kautta kunkin luentoviikon aluksi
- Timo Karvin tekemästä luentomuistiinpanoista, jonka voi ostaa laitoksen monistemyynnistä ja
- Oppikirjasta T.H.Cormen, C.E.Leiserson, R.L.Rivest ja C.Stein: Introduction to Algorithms. Second Edition. The MIT Press, 2001.
- Hyötyä voi olla myös edellisten Tira-kurssien materiaaleista, ks. Syksy 03, Kevät 03
- Muitakin tietorakenne-aiheisia kirjoja voi toki vilkaista, esim.
- J.H.Kingston: Algorithms and data structures : design, correctness, analysis
- M.A.Weiss: Data structures and algorithm analysis ja Data structures and problem solving using Java
- A.V. Aho, J.E. Hopcroft., J.D. Ullman: Data structures and algorithms
- A.Levitin:Introduction to the design & analysis of algorithms
- Internetistä löytyy esim. hakusanalla data structures valtava
määrä materiaalia, ohessa muutama hyödylliseksi todettu linkki:
- 2-3-4-puusimulaattori
- Dijkstra-simulaattori
- MatrixPro a tool for instructors to create algorithm animations used in teaching
- TRAKLA2 an automatic exercise system for learning data structures and algorithms
- 2-3-4-puusimulaattori
5. Aikataulu
aika | asiat |
---|---|
viikko 1, 13-27.9 |
|
viikko 2, 20-24.9 |
|
viikko 3, 27.9-1.10 |
|
viikko 4, 4-8.10 |
|
viikko 5, 11-15.10 |
|
viikko 6, 18-22.10 |
|
viikko 7, 25-29.10 |
ti 26.10. klo 16-20 päärak. suuri luentosali
|
viikko 8, 1-5.11 |
|
viikko 9, 8-12.11 |
|
viikko 10, 15-19.11 |
|
viikko 11, 22-26.11 |
|
viikko 12, 29.11-3.12 |
|
viikko 13, 6-10.12 |
|
viikko 14, 13-17.12 |
|
Tätä sivua ylläpitää luentojen ajan kurssin luennoija Matti Luukkainen.