Kaisa_2012_3_photo by Veikko Somerpuro

Tällä opintojaksolla perehdyt perustietorakenteisiin: pinoihin, jonoihin, puihin ja verkkoihin, sekä niiden käsittelyalgoritmeihin

Kurssi on osa Tietojenkäsittelytieteen osaston DEFA-hanketta.

Tämä on sama kuin Helsingin yliopiston tietojenkäsittelytieteen kandiohjelman samanniminen kurssi. Katso tiedot materiaaleista, tehtävistä, kurssin suorittamisesta jne. kyseisen kurssin kotisivulta
https://courses.helsinki.fi/fi/tkt20001/124962221 .

Ilmoittaudu

Tenttiin ilmoittautuminen

Kurssin uusintatentti järjestetäään 12.6.2019. Tenttiin ilmoittautuminen WebOodissa on avattu. Ilmoittaudu tenttiin viimeistään 10 päivää aikaisemmin.

Mene osoitteeseen https://weboodi.helsinki.fi/hy/opetushaku/haku.html
Syötä hakukentään kurssin koodi AYTKT20001 ja paina Hae –painiketta
Valitse listalta haluamasi tentti ja paina Ilmoittaudu –painiketta

Huom! Vaikka ilmoittautuessa tulisi seuraava ilmoitus "Opinto-oikeutesi kattavuus ei salli ilmoittautumista. Ilmoittatumisesi on kuitenkin lisätty", ilmoittautumisesi tenttiin on kunnossa.

Kurssin suorittaminen

Kurssi suoritetaan tekemällä viikoittaisia harjoitustehtäviä ja osallistumalla kahteen kurssikokeeseen.

Viikoittaiset harjoitustehtävät palautetaan sähköisesti. Tarkemmat ohjeet ilmestyvät kurssin Moodle-alueelle.

Kurssikokeet edellyttävät saapumista paikan päälle Helsingin yliopistoon. Kokeet ovat ma 4.3. klo 16.00 ja ke 8.5. klo 9.00. Uusintakoe on kesäkuussa; tarkka ajankohta ilmoitetaan myöhemmin.

Ilmoittautuminen ja opintomaksu

Kurssi on maksuton.

Kurssi kuuluu DEFA-hankkeen opintotarjontaan. DEFA-väylää koskeviin kysymyksiin vastataan osoitteesta DEFA-help@cs.helsinki.fi. Kurssin sisältöön tai suoritukseen liittyviin kysymyksiin saat nopeimmin vastauksen kurssin tukikanavilta tai vastuuhenkilöltä.

Kurssille voit ilmoittautua tältä sivustolta Ilmoittaudu-linkistä tai DEFA-hankkeen kurssien koontisivuston kautta. Tarkka ilmoittautumisaika näkyy klikkaamalla Ilmoittaudu-painiketta.

Käytännön ohjeita opiskeluun

Varaamme oikeuden muutoksiin opinto-ohjelmassa.

Kuvaus

Tämä kurssi on tarkoitettu enisijaisesti DEFA-opintoja suorittaville opiskelijoille

  • Tietojenkäsittelytieteen kandiohjelma vastaa opintojaksosta
  • Opintojakso kuuluu tietojenkäsittelytieteen aineopintoihin (pakollinen oman koulutusohjelman opiskelijoille)

Esitietovaatimuksena on Ohjelmoinnin perus- ja jatkokurssi sekä Johdatus yliopistomatematiikkaan, tai vastaavat tiedot.

Opintojakson jälkeen opiskelija

  • osaa laatia algoritmeja soveltaen opintojaksolla esitettyjä perustekniikoita ja tietorakenteita sekä toteuttaa ne Java-kielellä
  • osaa analysoida algoritmin aika- ja tilavaativuutta O-merkinnän avulla ja perustella algoritmin oikeellisuuden esim. silmukkainvarianttia käyttäen
  • tuntee yksityiskohtaisesti erilaisten hakemistorakenteiden toteutukset
  • osaa toteuttaa tärkeimmät järjestämisalgoritmit ja tuntee niiden aikavaativuudet
  • tuntee verkkojen peruskäsitteet ja osaa toteuttaa tärkeimmät polunetsintään ja virittäviin puihin liittyvät algoritmit
  • käyttää opintojaksolla esitettyjä peruskäsitteitä (esim. hakemistot, verkot, järjestäminen) osana monimutkaisempien laskennallisten ongelmien ratkaisua ja valita tunnetuista algoritmeista tilanteeseen sopivan esim. aikavaativuuden perusteella

Ensimmäisen opiskeluvuoden kevätlukukausi Opintojakso pidetään joka kevät koko lukukauden mittaisena (periodit III-IV). Opintojakso voidaan lisäksi järjestää muinakin ajankohtina esim. itseopiskeluversiona.

Opintojakson tarkempaa sisältöä päivitetään tarpeen mukaan. Keskeisiä aihealueita ovat esim.

  • algoritmien suunnittelun ja analyysin perustekniikoita: rekursio, silmukkainvariantti, iso-O-merkintä, iteratiivisten ja rekursiivisten algoritmien aika- ja tilavaativuus
  • järjestämisalgoritmit: lisäysjärjestäminen, lomitusjärjestäminen, pikajärjestäminen
  • perustietorakenteet: pino, jono, lista
  • hakemistorakenteet: hajautustaulu, hakupuut
  • verkot eli graafit: peruskäsitteet, polunetsintä, virittävät puut

Opintojakso perustuu laitoksella laadittuun luentomateriaallin. Suositeltu oheislukemisto on Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms.

Opiskelija tutustuu opintojakson aiheisiin luennoilla ja perehtymällä itsenäisesti opintojakson materiaaliin, oheislukemistoon ja esim. verkosta löytyvään lisämateriaaliin. Opiskelija syventää osaamistaan tekemällä muodoiltaan ja vaativuudeltaan vaihtelevia harjoitustehtäviä, mitä tuetaan ohjatuilla harjoitustilaisuuksilla.

Sekä harjoitustehtävät että kirjalliset kuulustelut otetaan arvostelussa huomioon. Kuulusteluilla on suurin vaikutus arvosanaan, mutta hyväksytty suoritus edellyttää myös ennalta ilmoitetun vähimmäismäärän tehtyjä harjoitustehtäviä.

Arvosteluasteikko on 1-5.

Pisteiden saaminen laskuharjoituksista perustuu ratkaisujen palauttamiseen sähköisesti eikä edellytä läsnäoloa. Yksityiskohdista ilmoitetaan myöhemmin.

Laskuharjoitukset + kirjalliset kuulustelut

Käytössä on verkko-oppimisympäristö Moodle.

Linkin opintojakson Moodleen saat kirjautumalla tähän opinto-ohjelmaan (=kurssisivulle) Helsingin yliopiston käyttäjätunnuksella. Huom! Tämä onnistuu aikaisintaan ilmoittautumistasi seuraavana päivänä. Saat käyttäjätunnusta koskevaa lisätietoa sähköpostiisi ilmoittautumisesi jälkeen.

Varaamme oikeuden muutoksiin opinto-ohjelmassa.