Helsingin yliopisto TIETOJENKÄSITTELYTIETEEN LAITOS
Matemaattis-luonnontieteellinen tiedekunta

 
PL 26 (Teollisuuskatu 23)
00014 HELSINGIN YLIOPISTO
 

582309 Ohjelmointitekniikka (Java)    (3 ov)

TÄMÄ ON KEVÄÄN 2004 KURSSIN KUVAUS!

Luentojen, ohjatun opintopiiritoiminnan ja harjoitusten avulla perehdytään käyttöliittymien toteutukseen, ohjelmistokehysten käyttöön ja laatimiseen, rinnakkaiseen olio-ohjelmointiin sekä komponenttitekniikkaan.

HUOM. Kurssia ei ole käytännössä mahdollista suorittaa osallistumatta ohjattuun opintopiiritoimintaan harjoituksissa. Kurssin harjoituksiin osallistuminen on siis edellytyksenä myös myöhemmin järjestettäviin uusintakuulusteluihin osallistumiselle

Kurssi edellyttää hyvää ohjelmointitaitoa sekä valmiutta itsenäiseen työskentelyyn. Kurssin materiaali koostuu kurssin verkkosivuille kootusta aineistosta ja ohjeistosta (ks. kurssin kotisivu) sekä englanninkielisestä oppikirjasta ?????????? [Horstmann & Cornell, 2002].

Asema: Opintojakso on tietojenkäsittelytieteen cum lauden valinnainen kurssi. Se sopii opintosuoritukseksi erityisesti ohjelmistotekniikan suuntautumisvaihtoehdossa.

Esitiedot: Esitietoina vaaditaan Tietorakenteet- ja Rinnakkaisohjelmistot-kurssit sekä Java-kielen perusteiden tuntemus. Nämä esitietovaatimukset ovat luonteeltaan suosituksia, ja ilman mainittuja esitietojakin kurssin voi suorittaa, mutta se vaatii enemmän työtä.

Tavoitteet: Tavoitteena on oppia käytännössä käyttöliittymien toteutusta, ohjelmistokehysten käyttöä ja laatimista, rinnakkaisen olio-ohjelmoinnin perustekniikat sekä komponenttitekniikkaa. Esimerkkien pohjana käytetään Java-kieltä ja sen luokkakirjastoja, joten kurssi tarjoaa mahdollisuuden syventää Java-kielen tuntemusta ja käyttötaitoa.

Sisältö: Johdanto; Tapahtumaohjattu käyttöliittymäohjelmointi; Ohjelmistokehykset: kehysten rakenne, oliosuunnittelun ratkaisumallien käyttö ja Java-esimerkkikirjastoja; Rinnakkainen olio-ohjelmointi: säikeet, synkronointi, monitorimekanismit; Ohjelmistokomponentit ja sovelluskehittimen käyttö; Käytännön ohjelmointitekniikkaa.

Opetusmuodot:

Suoritukset:

Oppikirja: Kurssin oppikirja on Horstmann & Cornell: Core Java TM 2 Volume II - Advanced Features (5th Ed.), Prentice-Hall 2002.

Lisäksi olennaista kurssin aiheeseen liittyvää tausta- ja syventävää materiaalia löytyy teoksista 2 - 10. Java-kielen ja sen luokkakirjastojen perusteita käsittelevät teokset Core JavaTM 2 Volume I - Fundamentals, 6th Ed. [Horstmann & Cornell, 2002] sekä Java How to Program, 4th Ed. [Deitel & Deitel, 2002]. Erinomainen suomenkielinen yleisesitys olio-ohjelmoinnista, eri oliokielistä ja olioperustaisista ohjelmistoarkkitehtuureista on esitetty Oliokirjassa [Koskimies, 2000].

Kurssin lisämateriaalia julkaistaan kurssin verkkosivuilla. Kokeessa vaadittavat asiat sisältyvät kurssin oppikirjaan, kurssin verkkosivuilla olevaan materiaaliin sekä kurssin harjoitustöihin ja -tehtäviin.

  1. Horstmann & Cornell: Core JavaTM 2 Volume II - Advanced Features, 5th Ed. Sun Microsystems Press, A Prentice-Hall Title, 2002.
  2. Gamma et al.: Design Patterns: Elements of Reusable Object-Oriented Software.  Addison-Wesley, Reading, 1995.
  3. Horstmann & Cornell: Core JavaTM 2 Volume I - Fundamentals, 6th Ed. Resources. Sun Microsystems Press, A Prentice-Hall Title, 2002.
  4. Deitel & Deitel: Java How to Program, 4th Ed. Prentice-Hall, 2002.
  5. Morelli: Java, Java, Java: Object-Oriented Problem Solving, 2th Ed. Prentice-Hall, 2003.
  6. Deitel et al.: Advanced Java 2 Platform - How to Program. Prentice-Hall, 2003.
  7. Stelting & Maassen: Applied JavaTM Patterns. Sun Microsystems Press, A Prentice-Hall Title, 2002.
  8. Lea: Concurrent Programming in JavaTM - Design Principles and Patterns, 2nd Ed..  Addison-Wesley, USA, 2000. Java Sun Site, Online Supplement
  9. Liang: Rapid JavaTM Application Development Using SunTM ONE Studio 4.  Prentice-Hall, USA, 2003.
  10. Koskimies: Oliokirja, erityisesti Osa 3: Olioperustaiset ohjelmistoarkkitehtuurit, luvut 8 - 13, s. 195-287), Suomen Atk-kustannus Oy, 2000.

Juha.Vihavainen@cs.Helsinki.FI

Laitoksen etusivulle | Tiedekunnan etusivulle | Yliopiston etusivulle
Laitoksen yhteystiedot | Palaute laitokselle | Ulkonäköasetukset