© Arto Wikla.
Tämän oppimateriaalin käyttö on sallittu vain yksityishenkilöille
opiskelutarkoituksissa. Materiaalin käyttö muihin tarkoituksiin,
kuten kaupallisilla tai muilla kursseilla, on kielletty.
582309 Ohjelmointitekniikka (Java), 3 ov, kevät 2005:
aikataulu, sisältöä, linkkivinkkejä
(Muutettu viimeksi 18.3.2005)
Työn alla ja ainaisessa muutoksen tilassa!
Kurssin sisällön ja rakenteen lähtökohtana käytetään
kevään 2004 kurssiversiota
Aika paljon muutoksia on kuitenkin tiedossa johtuen mm.
Javan uudesta ja aika paljon muuttuneesta versiosta 1.5.
Viime kevään kurssi puolestaan perustui monin osin
Juha Vihavaisen kurssmateriaaliin keväältä 2003.
Kurssin neljä jaksoa, joista jokainen kestää noin kaksi viikkoa:
- Johdantoa, väittämiä, uutuuksia, poikkeuksia:
assert, Java 1.5, Exception, ...
- Swingin kutsu:
GUI, AWT, Swing, tapahtumaohjattu ohjelmointi, ...
- Rakenteita:
malleista ja kehyksistä konkreettisina ohjelma-arkkitehtuureina,
kokoelmat (collections) tietorakenneabstraktioina, ...
- Käymme aina rinnaikkain:
säikeet, synkronointi, lukkiuma, ...,
Luentojen ja harjoitusten aikataulu limittyy siten, että harjoitusten jaksot
alkavat hieman myöhemmin kuin luentojen; perusidea on, että seuraavaan
harjoitusjaksoon liittyvä ensimmänen luento on perjantaina. Viimeistään
samalla julkistetaan harjoitusjakson tehtävät.
Opintoaikataulusuunnitelmaa (versio 14.1.2005):
- 1. viikko (nro 3), 17.-21.1.:
- Kurssin rakenteen ja työtapojen esittely
- Johdantoa, ohjelmointityyliä, väittämiä
- Javan version 1.5 uutuuksista (alkaa)
-
- 2. viikko (nro 4), 24.-28.1.:
- 1. harjoitusjakso alkaa!
- Javan version 1.5 generisyydestä (jatkuu)
- Poikkeuksista
- 3. viikko (nro 5), 31.1.-4.2.:
- Graafisen käyttöliittymän ohjelmointitekniikkaa (alkaa perjantaina)
- 4. viikko (nro 6), 7.-11.2.:
- 2. harjoitusjakso alkaa!
- Edellisen viikon aihe jatkuu
- 5. viikko (nro 7), 14.-18.2.:
- Rakenteita-osa (alkaa perjantaina)
- 6. viikko (nro 8), 21.-25.2.:
- 3. harjoitusjakso alkaa!
- Edellisen viikon aihe jatkuu
- 7. viikko (nro 9), 28.2.-4.3.:
- Edellisen viikon aihe jatkuu
- Säikeitä-osa (alkaa perjantaina)
- 8. viikko (nro 10), 7.-11.3.:
- 4. harjoitusjakso alkaa!
- Edellisen viikon aihe jatkuu
- 9. viikko (nro 11), 14.-18.3.:
- Viimeiset harjoitukset, ei luentoja.
- Kurssikoe on tiistaina 5.4. klo 16-20 saleissa B123 ja CK112.
Materiaalia ja lukuvinkkejä
Kuvalla ""
merkityt linkit ovat varmasti tärkeitä ja lukemisen
arvoisia. Toki muutkin voivat olla.
- Kehittimiä (satunnaisessa järjestyksessä):
Jakso 3: Rakenteita
- Suunnittelumalleista (design pattern) ja
kehyksistä (framework)
- [Koskimies, s. 245-287], [Gamma et al., pp. 1-77]
- Koskimies:
- Nimistöä:
abstrakti tehdas (Abstract Factory),
kooste (Composite),
strategia (Strategy),
ainokainen (Singleton),
silta (Bridge),
tarkkailija (Observer), ...
- Lisää nimistöä: edustaja (Proxy),
"kulkuri" vai iteraattori? (Iterator), ...
-
Esimerkkejä suunnittelumalleista
Koskimiehen Oliokirjasta tekijän luvalla (AW 5.2.2004)
Huom: Nämä esimerkit ovat ajalta ennen geneerisyyttä.
Pohdi miten tyyppiparametrisoinnilla ohjelmointityyliä
voidaan kehittää.
-
Programming Patterns Overview, Rob Kremer,
University of Calgary, selkeä esitys!
-
Java Design Patterns, JavaWorld, Feb 3, 2003
-
Overview of Design Patterns, M. Grand, Patterns in Java, vol I
-
Gang of Four Design Patterns - tiivis esitys pelkkinä UML-kaaviona
-
Design Patterns - linkkejä vaikka toisille jakaa
-
Software Patterns - kokonainen gradu aiheesta (ruotsiksi) (pdf)
-
Swing and design patterns slides
[Deitel & Deitel: Java How to.., 2002],
- Google-haun "design pattern Java generics" tuloksia 15.2.2005:
- [Kertausta 1. jaksolta:]
Generics Tutorial (pdf)
- [Kertausta 1. jaksolta:]
Angelika Langer: JAVA Articles
- [Kertausta 1. jaksolta:]
Angelika Langer: Java Generics FAQs
- Ja aina vain lisää materiaalia...
-
Ohjelmisto- ja sovelluskehyksistä:
Koskimies, luku 13.1
-
Ohjelmisto- ja sovelluskehyksistä:
Koskimies, koko luku 13
-
Oliopohjaiset kehykset, Jari Juslinin esitelmä
Olioarkkitehtuurit-seminaarissa 21.10.1999
(esitelmän kalvot, ppt)
(linkit ovat täällä tekijän luvalla)
-
PicoContainer - a lightweight embeddable container for
components that honour Dependency Injection
(Hmm. kehykseksi tämä on niin yleinen - minkä tahansa sovelluksen
kehys - että se taitaisi sopia paremmin seuraavaan alakohtaan... ;-)
-
[Kehykset
(Harri Laineen luentokalvoja Ohjelmistoarkkitehtuurit-kurssilta 2000, pdf)]
- Kokoelmat (collections) (tietorakenneabstraktioita)
Jakso 4: Käymme aina rinnaikkain...
- Rinnakkaisuus oliokielessä, säikeet
- Synkronointi ja lukkiuma (deadlock)
-
Threads and Swing
- Timer
- 1.5
Takaisin kurssin pääsivulle.
Muita www-sivujani:
Homepage
/
Suomisivu
/
Music
page