Kurssin TIEP111 kes�n 2006 ilmentym�n tiedonantoja: linkit luentoaiheisiin ja lis�materiaaliin, demo, mallivastaukset, jne... Aikataulut, luentosalit, tulokset ja lomakkeet Korpissa: T�st� linkist�....
Tarkista, ett� olet saanut minulta postia v�likokeeseen liittyen. Vaihtoehtoja on:
Jos en ole l�hett�nyt mit��n postia, olen tulkinnut, ett� olet j�tt�nyt kurssin kesken. Jos t�m� ei mielest�si ole tilanne, ota yhteytt� v�litt�m�sti.
Sivu el�� kurssin ajan. "); ?> MUUTOKSIA TULEE! (Nyt on hyv� aika klikata selaimen Reload-nappia, ettet lue v�limuistista vanhentunutta tietoa...)
"Kioski on auki" 12.5.2006 asti. (Sen verran joustan Matti My�h�sille, jollainen itsekin aika usein olen...) Sen j�lkeen kurssia ei voi en�� aloittaa, koska mm. meill� on pakolliset demot ja harjoitusty� jo hyv�� vauhtia menossa. My�h�ilmoittautujien tulee tehd� 100 % demon 2 teht�vist� (jos ei ehdi palauttaa demoa 1 normaaliin tapaan).
Jos p��t�t osallistua, on kes�ohjelmasi saman tien ly�ty lukkoon hein�kuun loppupuolelle saakka: Tulet ohjelmoimaan. Paljon. Kurssi on ty�l�s, eli se vaatii aikaa ja istumista n�pp�imist�n ��ress�. Toisaalta el�m� on valintoja: r�tv��tk� kes�n rannalla velaksi vai opiskeletko siten, ett� yhteiskunta maksaa sinulle siit�. T�m� valinta on sinun. Toivottavasti kurssista tulee my�s palkitseva: Tavoitteena on saada osallistujille todella lyhyess� kalenteriajassa syntym��n alustava ohjelmoinnin taito. Guruja ei viel� Ohjelmointi kakkosella tehd�, mutta yritet��n saada jokainen oikealle tielle (ja pois v��rilt� raiteilta) ohjelmoinnin suhteen.
Helppoa se on (ja mukavaa) vaikkakin ty�l�st�. Tervetuloa.
T�m�n tervehdyksen, nettisivun ja kes�kurssin opetuksen allekirjoittaa Paavo Nieminen. Suurin osa materiaalista periytyy aiemmilta kurssikerroilta, joista melkein kaikki on pit�nyt Vesa Lappalainen.
T�m� on luentosuunnitelma, jonka mukaan pyrin etenem��n. Merkitsen toteutuneet aiheet ja lis�materiaaliviitteet kunkin luennon j�lkeen. Saatan venkslata my�s tulevia aiheita paikasta toiseen, joten pit�k�� varanne ja tarkkailkaa ohjelmaa pari p�iv�� etuk�teen. P�iv�m��r�t ovat nyt lopullisia: Jos (puuta koputtaen) en tule kipi�ksi tai hulluksi, niin n�ill� ajankohdilla menn��n kurssin 52 luentotuntia:
nro | viikko | Ajankohta | Aiheet, monisteviitteet | Lis�materiaalia |
---|---|---|---|---|
1 | 18 | ti 2.5. | Kurssin aloitus:
|
|
2 | ke 3.5. | Ohjelman elinkaari, suunnitteluvaihe esimerkkiohjelman kautta: | ||
3 | to 4.5. | Viel� ohjelman suunnittelua esimerkkien kautta: | ||
4 | 19 | ti 9.5. | Algoritmien suunnittelusta, toteuttamisesta ja testauksesta.
P�yt�testi, totuustaulu.
|
|
5 | ke 10.5. |
Ohjelmointikielten historia ja periaatteet; Java-kieli muiden joukossa.
|
|
|
6 | to 11.5. | Sis�lle Javan rakenteisiin.
(Muista luento 4, monisteen luvut
4 ja
5)!
|
||
7 | 20 | ke 17.5. |
|
|
8 | to 18.5. | Olioiden k�sittely alkaa, "paradigmahyppy"... | ||
9 | 21 | ti 23.5. | Jatketaan luokista ja olioista | |
10 | ke 24.5. | Jatketaan luokista ja olioista. Polymorfismi, rajapinnat.
|
|
|
11 | 22 | ti 30.5. | Kertaus olioiden perusteista. Javan kielioppi: lauseet, lohkot, operaattorit, peruskontrollirakenteet. |
|
12 | ke 31.5. | Luokkien suunnittelu, tietorakenteet, UML, CRC-kortit | ||
13 | to 1.6. | Oliosuunnitelma ja sen toteutus olio-ohjelmointikielell�
|
||
14 | 23 | ke 7.6. | Poikkeukset (exceptions), Paketit (packages), Moduulijako ja yksikk�testaus, "Ohjelman synty" | |
15 | to 8.6. | Javan taulukot, merkkijonot, dynaaminen muisti, dynaaminen taulukko | ||
16 | 24 | ti 13.6. | Dynaamiset taulukot ja Javan valmiit tietorakenteet. "autoboxing" | |
17 | ke 14.6. | T�ydennyst� Javaan ja olio-ohjelmointiin:
abstract ,
final ,
implements ,
instanceof ; abstraktit ja konkreettiset luokat.
+ Tiedostojen k�sittely�.
|
||
18 | 25 | ti 20.6. | Tiedostojen k�sittely [Java-moniste loppuu; edet��n loppukurssi esimerkkilistausten varassa.] | |
19 | ke 21.6. | Lis�� olioista ja dynaamisuudesta, linkitetty lista, Map. | ||
20 | to 22.6. | Malliohjelman talletukset, Harrastukset. Iteraattorit. | ||
21 | 26 | ti 27.6. | Olioiden v�linen kommunikointi. Lis�ksi: Versionhallinta. Refaktorointi. Suunnittelumallit. |
|
22 | ke 28.6. | Funktio-oliot.
Lis�ksi ehk� viel� jotain liukuluvuista (+avainsanasta strictfp ).
Lis�ksi ehk� jotain s�ikeist� (+avainsanoista
synchronized ,
volatile ).
Lis�ksi ehk� jotain Javan alustariippumattomuudesta
(+avainsanasta native sek�
siit� miten Java-ohjelmaan saa aikaan alustariippuvuuden).
|
|
|
23 | to 29.6. | P��tesy�tt� | ||
24 | 27 | ti 4.7. | Oikeellisuustarkistukset, ohjelman testausvaihe. Ehk� jotakin avainsanasta assert . JUnit.
|
|
25 | ke 5.7. | Etsiminen ja lajittelu
Jos aikaa j��, avainsana enum sek� "serialization" ja transient .
ClassLoader, Java virtuaalikoneen sielunel�m��.
|
|
|
26 | to 6.7. | Ohjelmointi on nyt opittu (?). Mihin suuntaan eteenp�in?
|
------- T�ss� kohtaa menn��n: -------
Luennot on nyt pidetty, ja j�ljell� on kolme viikkoa hein�kuuta. Demot, p��teohjaukset ja varattavat harkkaohjausajat jatkuvat. Harjoitusty�st� pit�isi saada aikaan j�rkev� ohjelma ja legendaarinen "Vaihe 7" siten hyv�ksytyksi. Lis�ksi ajalle sijoittuu v�likoe sek� uusinta niille, jotka tupeksivat ensimm�isen yrityksen liian pahasti. Kun uusien eteen tulevien asioiden virta lopulta p��ttyy, yritet��n ne saada viel�p� jollain tavoin j�sentym��n kokonaisuudeksi. Eli senp� takia viimeinen kolme viikkoa ovat kurssin t�rkeimm�t! Yrit�n tsempata opettajana, ja toivottavasti porukka tsemppaa oppijoina. Lopussa toivottavasti on tapahtunut oppimista enemm�n oikeaan kuin v��r��n suuntaan. N�ytt�jen perusteella joudun miettim��n arvosanat niille, jotka pyristelev�t loppuun saakka.
Demokerta | Linkki vastauksiin | aiheet | + Harjoitusty�vaihe |
---|---|---|---|
demo1 | (poistettu) | johdanto, algoritmien ideaa | HT vaihe 1: Esisuunnitelma |
demo2 | (poistettu) | algoritmeja, taulukoita, aliohjelmiin perustuvaa ohjelmointia | |
demo3 | (poistettu) | Java-aliohjelmia (=staattisia luokkametodeja) | HT vaihe 2: K�ytt�liittym� ja -ohje, tallennusformaatti, ei Java-koodia |
demo4 | (poistettu) | Syntaksi, l�hdekoodi, Java-oliot | HT vaihe 3: K�ytt�liittym�luokka: P��menu ja alamenut Javalla |
demo5 | (poistettu) | oliot, perint�, kapselointi | HT vaihe 4: Tietorakennesuunnitelma, oliokaaviot |
demo6 | (poistettu) | oliot, rajapinta | HT vaihe 5: Tietorakenteet toteutettu Javalla, moduulijako |
Demokerta | Linkki vastauksiin | aiheet | + Harjoitusty�vaihe |
---|---|---|---|
demo7 | (poistettu) | merkkijonoja, matriiseja | HT vaihe 6: Tiedostonk�sittely, luokkien v�linen yhteisty� |
demo8 | (poistettu) | kertausta, tietorakenteita (dynaamisuus, geneerisyys, valmiit algoritmit) | (toteutetaan ja testataan uusia toimintoja, ohjausta annetaan tarvittaessa jatkuvasti) |
demo9 | (poistettu) | v�likoeteht�v�n tyyppisi� teht�vi� | (sama jatkuu) |
demo10 | (poistettu) | funktio-olioita, oikeellisuustarkistuksia, kokonaisuuden hahmottamista | HT vaihe 7: Toimiva sovellus, kaunis koodi |
demo11 | (poistettu) | kokonaisuuden hahmottamista, suorituskyvyn huomioimista, rekursion hy�dynt�minen algoritmeissa | HT viimeistely ja (toivottavasti) hyv�ksynt�. |
nro | Ajankohta | Aiheet/teht�v�t |
---|---|---|
1 | pe 5.5. | Ohjaus1 |
2 | pe 12.5. | Ohjaus2 |
3 | pe 19.5. | Ohjaus3 |
4 | pe 2.6. | (Demoja, harkkaty�t�) |
5 | pe 9.6. | (Demoja, harkkaty�t�) |
6 | pe 16.6. | (Demoja, harkkaty�t�) |
7 | pe 30.6. | (Demoja, harkkaty�t�) |
8 | pe 7.7. | (Demoja, harkkaty�t�) |
9 | pe 14.7. | Delphi-ty�kalu, ikkunaliittym�t, tapahtumapohjaisuus (+ Demoja, harkkaty�t�) |
11 | pe 21.7. | Yleisesti v��rin/heikosti ymm�rrettyjen pointtien paikkailua/varmistelua (+harkkaty�t�, jos kell� viel� on) |
Tarkista, ett� olet saanut minulta postia v�likokeeseen liittyen. Vaihtoehtoja on:
Jos en ole l�hett�nyt mit��n postia, olen tulkinnut, ett� olet j�tt�nyt kurssin kesken. Jos t�m� ei mielest�si ole tilanne, ota yhteytt� v�litt�m�sti.
Jos N-asema ei toimi automaattisesti, joutuu kirjoittamaan Command Promptiin tuollaiset rivit:
net use N: /delete net use N: \\eppi.ad.jyu.fi\mnt "" /u:""
Lis�tietoa: http://www.ad.jyu.fi/
Linkkej� joihinkin dokumentteihin, jotka liittyv�t kurssilla hipaistaviin ohjelmoinnin tai ohjelmistotekniikan piirteisiin. Ovat kuitenkin olennaisesti muiden kurssien tai (my�hemm�n) itseopiskelun aiheita:
T�ss� on listattu joitakin mikroluokissa k�yt�ss� olevia ty�kaluja, joilla kurssiin liittyvi� demoja ja harjoitusty�t� esimerkiksi voi tehd�.