Helsingin yliopisto /Tietojenkäsittelytieteen laitos
581326-3 Java-ohjelmointi

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

(Arto Wikla, 16.1.2006)

Kurssi on tietojenkäsittelytieteen aineopintojen valinnainen kurssi. Kurssilla perehdytään mm. poikkeusten käyttöön ohjelmoinissa, geneerisiin kokoelmiin tietorakenneabstraktioina, graafisten käyttöliittymien toteutustekniikkaan ja tapahtumaohjattuun ohjelmointiin sekä rinnakkaisen Java-ohjelmoinnin ideoihin. Kiinnostuksen kohteena on erityisesti kielen uusi versio (1.5) uutuuksineen, joista geneerisyys on keskeisin.

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

Opiskelijoista muodostetaan noin viiden hengen kokoisia opintopiirejä, joilla on ohjattua harjoittelua kaksi kahden tunnin jaksoa viikoittain. Opintopiirit ratkovat ohjelmointitehtäviä ja kirjoittavat teknisiä esseitä. Harjoitusaktiivisuudesta - ohjelmista ja esseistä - saa merkittävän osan kurssin arvosanaan vaikuttavista pisteistä. Pisteiden määräytymisen täsmälliset perusteet löytyvät kurssin sivulta http://www.cs.helsinki.fi/u/wikla/OTJ/K06/Tavat.html.

Huom: Kurssin suorittaminen pelkällä kokeella - osallistumatta opintopiiritoimintaan - saattaa olla aika vaativaa, koska koepisteiden maksimi on vain 36 pistettä kuudestakymmenestä! Opintopiirin työhön osallistuminen ja siitä saadut pisteet lasketaan mukaan myös kurssin uusintakokeissa, joissa niissäkin koepisteiden maksimi on vain tuo 36/60.

Kurssi edellyttää hyvää Java-ohjelmointitaitoa sekä valmiutta ryhmätyöskentelyyn ja omatoimisuuteen. 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/K06/ . Kurssin keskusteluryhmä on hy.opiskelu.tktl.ohjelmointitekniikka. Kurssin WWW-sivuja ja keskusteluryhmää on hyvä seurata.

Luennot ovat 16.1.-24.2. maanantaisin 16-18 ja perjantaisin 12-14 salissa CK112. Luennoilla (oikeastaan "luennoilla"!) ei pyritä siis lainkaan 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 viikon aikana opintopiirityöskentelyn seurauksena esiin tulleita ongelmia. Noita ongelmia voidaan luentotilanteessakin yrittää yhdessä ratkoa. Kurssin aikataulua, sisältöä ja lukuvinkkejä löytyy sivulta http://www.cs.helsinki.fi/u/wikla/OTJ/K06/Sisalto/

Kurssin tärkein työskentelyväline on opintopiiri, noin viiden hengen kiinteä opiskelijaryhmä, joka yhdessä työskennellen ratkoo kurssilla annettuja tehtäviä ja ongelmia. Opintopiiri hakee itse tietoa internetistä, kirjoista... Opintopiirien tyoskentelytavoista, säännöistä ja määräyksistä, suosituksista ym. on oma ohjesivunsa: http://www.cs.helsinki.fi/u/wikla/OTJ/K06/Opintopiiriohje.html .

Opintopiireillä on viikoittain kaksi kahden tunnin ohjattua työskelyjaksoa, mutta opintopiirin on varmasti syytä kokoontua myös omin nokkinensa tietoa etsimään ja tehtäviä ratkomaan.

Opintopiirien ohjausryhmät (eli harjoitusryhmät) kokoontuvat kahdesti viikossa 16.1.-24.2. Tilaisuus on tiistaisin aina mikroluokassa, joka toinen torstai kuitenkin tavallisessa harjoitussalissa. Kunkin kaksiviikkoisjakson kolme ensimmäistä kokoontumista on mikroluokassa, viimeinen tavallisessa harjoitussalissa.

 1. Risto Saarelma  16.01.-24.02. TI, TO 10-12 BK107, TO 10-12 BK106  
 2. Risto Saarelma  16.01.-24.02. TI, TO 12-14 BK107, TO 12-14 BK106  
 3. Jukka Stenlund  16.01.-24.02. TI, TO 14-16 BK107, TO 14-16 BK106  
Opintopiirit muodostetaan ensimmäisellä ohjauskerralla. Läsnäolo tässä järjestäytymiskokoontumisessa on välttämätöntä! Poissaolijoiden paikat jaetaan jonottajille. Poissaolija voi siis ihan oikeasti menettää paikkansa! Kurssin työskentelytapojen luonteen takia virallista osanottajamäärää ei voida kasvattaa. Kurssi-ilmoittautumisaikaa käytetään jonotustilanteissa päätöksenteon perusteena.

Opintopiirit työskentelevät kahden viikon aihejaksoina, joita on yhteensä kolme, ks. sivu http://www.cs.helsinki.fi/u/wikla/OTJ/K06/Harjoitukset/. Opintopiirillä on siis joka jaksolla 4x2 tuntia ohjausryhmän kokoontumisia.

Kurssin osasuorituksista saatavat pisteet ja niiden saamisen säännöt esitellään tarkasti sivulla http://www.cs.helsinki.fi/u/wikla/OTJ/K06/Tavat.html.

Kurssin koe on tiistaina 28.2. klo 16-19. Sali ilmoitetaan myöhemmin. Kokeen pistemaksimi on 36 pistettä. Kurssin suorittaminen pelkällä kokeella saattaa olla aika vaativaa, koska koepisteiden maksimi on vain 36! Kurssilla on käytössä ns. koeleikkuri, mikä tarkoittaa, että kokeesta on saatava vähintään puolet pisteistä eli 18 pistettä, jotta suoritus voidaan hyväksyä (tietenkin edellyttäen että kokonaispistemäärä riittää).

Arvosana määräytyy seuraavasti:

Osasuoritusten pistemaksimit:

     osallistumispisteitä    3
     itsearviopisteitä       6
     tehtäväpisteitä        15
     koepisteitä            36
                            --
     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.