Helsingin yliopisto /Tietojenkäsittelytieteen laitos
582309 Ohjelmointitekniikka (Java)

582309 Ohjelmointitekniikka (Java), 5 op (3 ov): kurssiesite keväällä 2008

(Arto Wikla, 15.1.2008)

Kurssi on tietojenkäsittelytieteen aineopintojen valinnainen kurssi. Kurssilla perehdytään mm. poikkeusten ja väittämien käyttöön ohjelmoinissa, geneerisiin kokoelmiin, graafisten käyttöliittymien toteutustekniikkaan ja tapahtumaohjattuun ohjelmointiin sekä rinnakkaisen Java-ohjelmoinnin ideoihin.

Kurssilla on aihepiireihin johdattelevia luentoja, jotka eivät pyri olemaan kattavia. Opiskelijat opiskelevat kurssin sisällön itsenäisesti. Luennoilla ja kurssimateriaalissa suositellaan tiedon lähteitä.

Kurssilla ei ole "virallisia opintopiirejä" tms., mutta varmasti kannattaa perustaa kavereiden kesken epämuodollisia porukoita pohtimaan ongelmia ja ratkomaan tehtäviä.

Kurssi edellyttää hyvää Java-ohjelmointitaitoa sekä valmiutta omatoimiseen opiskeluun. Kurssin materiaali koostuu verkkosivuille kootusta aineistosta ja ohjeistosta. Kaikkea mahdollista muutakin materiaalia saa toki käyttää!

Kurssin kotisivu on osoitteessa http://www.cs.helsinki.fi/u/wikla/OTJ/K08/. Kurssin Usenet-keskusteluryhmä on hy.opiskelu.tktl.ohjelmointitekniikka. Keskusteluryhmä on hyödyllinen, jos kurssin opiskelijat tekevät sen hyödylliseksi. Kurssin henkilökunta seuraa ryhmän keskustelua ja tarvittaessa osallistuu siihen itsekin.

Luennot ovat 15.1.-21.2. tiistaisin ja torstaisin 14-16 salissa CK112. Luennoilla ei pyritä kattamaan koko opittavaa asiasisältöä. Tarkoitus on vain tutustua kurssin teemoihin yleisellä tasolla ja tutkailla, millaiseen materiaaliin on syytä tutustua. Luennoilla voidaan myös pohdiskella ja yrittää ratkoa esiin nousseita ohjelmointiongelmia. Kurssin sisältöä ja lukuvinkkejä löytyy sivulta http://www.cs.helsinki.fi/u/wikla/OTJ/K08/Sisalto/

Viikoittaiset harjoitukset kokoontuvat 21.1.-22.2.:

      1. Tuomas Blom  ke 12-14 CK107  
      2. Tuomas Blom  pe 12-14 CK107 
Harjoituksissa käsitellään ja vertaillaan ennalta tehtyjen kotitehtävien ratkaisuja. Kurssin pisteistä 15/60 voi saada harjoitustehtävien tekemisestä. Pisteiden saamiseksi on osallistuttava aktiivisesti viikoittaisiin harjoituksiin ja toimitetettava ohjaajalle ratkaisut myös kirjallisina viimeistään kunkin viikon harjoitustilaisuudessa. Kirjalliset esitykset saavat olla myös ryhmätyön tuloksia, kunhan kaikki kirjoittajiksi nimetyt todella ovat kunnolla osallistuneet työhön. Täysi vastuu tästä on opiskelijoilla itsellään.

Ohjelmointiprojekti muodostuu kolmesta aihealueesta: kokoelmaluokat, säikeet, graafinen käyttöliittymä. Projektityö toimimitetaan harjoitusten ohjaajalle tarkastettaviksi viimeistään maanantaina 25.2. kello 23:59. Myöhemmin toimitettuja ratkaisuja ei oteta huomioon. Kurssin pisteistä 15/60 on saatavissa ohjelmointiprojektista. Projektityöt saavat olla myös ryhmätyön tuloksia, kunhan kaikki tekijöiksi nimetyt todella ovat kunnolla osallistuneet työhön. Täysi vastuu tästä on opiskelijoilla itsellään.

Kurssin koe on torstaina 28.2. klo 16-19. auditoriossa A111 Kokeen pistemaksimi on 30 pistettä 60:stä. Kurssin suorittaminen pelkällä kokeella on siis käytännössä lähes mahdotonta. Kurssilla on käytössä ns. koeleikkuri, mikä tarkoittaa, että kokeesta on saatava vähintään puolet pisteistä eli 15 pistettä, jotta kurssin suoritus voidaan hyväksyä. Hyväksymisen edellytyksenä on tietenkin myös kokonaispistemäärän riittävyys.

Arvosana määräytyy seuraavasti:

      harjoitusaktiivisuus   15
      ohjelmointiprojekti    15
      kurssikoe              30  (saatava vähintään 15!)
                            ----
      yhteensä               60
Alustavat arvosanarajat:
      pisteitä:  30  35  40  45  50
      arvosana:   1   2   3   4   5

Kurssikirjallisuutta:

Vaikka kurssilla ei ole varsinaisia kurssikirjoja, seuraavat kaksi teosta käsittelevät mm. tämän kurssin keskeistä sisältöä:
Horstmann & Cornell: Core JavaTM 2, Volume I--Fundamentals, 7/E, Prentice Hall 2004.
Horstmann & Cornell: Core JavaTM 2, Volume II--Advanced Features, 7/E, Prentice Hall 2004.

Myös seuraavat voivat olla hyödyllisiä:
Lea: Concurrent Programming in JavaTM - Design Principles and Patterns, 2nd Ed. .  Addison-Wesley, USA, 2000. (Online Supplement)
Koskimies: Oliokirja. Suomen Atk-kustannus Oy, 2000.


Java and all Java-based marks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. University of Helsinki is independent of Sun Microsystems, Inc.