Etusivu | -- Materiaalia -- | Luennot | Demot | Opettajat |
ITKP102 Ohjelmointi 1 --- syksy 2007 --- Kirjallisuutta ja linkkejä
Varsinkin nettilinkkejä tullee lisää kurssin aikana.
Työkaluohjeet
==> Työkaluohjeet erillisellä sivulla. Niissä on mukana myös pientä perustietoutta tiedostojärjestelmästä ja tekstimuotoisesta ohjelmien käytöstä.Kirjallisuutta
Pari suomenkielistä kirjaa Java-ohjelmoinnista:
- Mika Vesterholm, Jorma Kyppö: Java-ohjelmointi. Tämä on meidän pääasiallinen oppikirjamme tällä hetkellä. Esitysjärjestys on kuitenkin vähän eri. Varoitan kirjan alkupuolesta: Se keskittyy Java-alustaan ja oliosuunnitteluun, joita en pidä kurssimme pääasioina lainkaan. Alkaisin lukea kirjaa aikaisintaan sivulta 79, ja palaisin alkupuoleen vasta myöhemmin, kun olisi jo tullut näppituntuma ohjelmoinnin perusrakenteisiin. Sitten se soveltuu paljon paremmin kuin heti alkuun. Pelkään että järjestelmäsuunnittelu pyyhkii vähän ohitse alkuvaiheessa... Eli voisin ehdottaa, että tästä tarinasta katsotaan alkunäytös vasta kun juoni on jo selvillä...
- Juha Peltomäki, Simo Silander, Pekka Kosonen: Java 2 - ohjelmoinnin peruskirja 2005
Pari esimerkkiä muista Java-kirjoista (näidenkin lisäksi on olemassa paljon):
- Walter Savitch: Absolute Java, Pearson Education. (Companion Website)
- Y. Daniel Liang: Introduction to Java Programming (Core Version), Prentice Hall. (Companion Website)
- John Lewis, William Loftus: Java Software Solutions, Addison Wesley. (kustantajan katalogisivu)
- Harvey M. Deitel and Paul J. Deitel: (Small) Java How to Program, Prentice Hall. (kustantajan katalogisivu)
Pari linkkiä
Javan API-dokumentaatio
- Java Platform SE 6 Uusimman Javan (SE eli standardiversio) API-dokumentaatio! Tärkeä referenssimateriaali heti siinä vaiheessa kun ohjelmointi alkaa muodostua tutuksi.
- Edellinen versio: Java SE 5 API (silloinen J2SE 1.5) (Vesterholmin ja Kypön kirjan 6. painoksen esimerkit ovat tällä tehtyjä)
- Edellisempi versio. Java 1.4 API (silloinen J2SE 1.4.2)
- Vielä edellisempi. Java 1.3 API
Uusimman käyttö kannattaa opetella, mutta on syytä pitää mielessä, että uuden Javan herkut eivät ole vielä käytössä kaikilla maailman ihmisillä, kaikissa maailman laitteistoissa ym., joten tietyt laajasti julkaistavat ohjelmat kannattanee ehkä tehdä aina hieman vanhemman version mukaisesti. Joihinkin tarkoituksiin soveltuu paremmin vähän isompi Enterprise Edition (EE), ja puolestaan esim. kännyköissä toimii vastaavasti paljon pienempi Micro Edition (ME). API on laaja; ei ole mitään mieltä yrittää opetella sitä kokonaan! Sen sijaan tulee opetella etsimään ja ymmärtämään sieltä kulloinkin tarvittava pienenpieni yksityiskohta. Ison manuaalin käyttö ei ole ihan maailman yksinkertaisin taito oppia, mutta joskus se tulee eteen joka tapauksessa... Mitä pikemmin, sen parempi. Eli nyt.
Koodauskäytänteet
- Code Conventions for the Java Programming Language -- tämä kertoo perusteet siitä, miten kaikkien maailman Java-ohjelmoijien tulisi keskenään kommunikoida (eli muotoilla ohjelmansa). Ota haltuun, noudata ja säädä tekstieditorisi/IDEsi noudattamaan näitä! (Poiketa saa vain, jos koodaa omaan, kaverin tai firman projektiin, jossa on jostain syystä määritelty jollain tavoin erilaiset pelisäännöt.) Ohjelmointi 1:llä lisätään pelisääntö: Tabulaattoria ei saa käyttää (edes 8-merkkisenä) vaan pelkkiä välilyöntejä sisennyksiin.
Työkaluja
Kolme perustyökalua, joilla aloitamme:
- PuTTY SSH Tools -- SSH2-protokollaa käyttävä yhteysohjelmisto
- ConTEXT -- Windowsissa toimiva kätevä tekstieditori, joka on vielä syyskuun 7. päivä 2007 ilmainen (mutta näköjään tilanne voi muuttua tulevaisuudessa...) Vastaavia hyviä editoreja on varmasti paljon.
- Java SE Development Kit (JDK) -- Javan perustyökalut suoraan pääkallonpaikalta
Puolessavälissä kurssia tutustutaan tähän:
- Eclipse IDE for Java Developers -- Tuon kanssa olette toistaiseksi aika lailla omillanne... katsotaan (ehkä) ohjeistusta joskus lokakuussa.
Alkuvaiheessa ymmärtämistä ja mielikuvamallien syntymistä voi edesauttaa ohjelman toiminnan visualisointi esim. tällaisella välineellä:
- Jeliot -- Joensuussa kehitetty visualisointi ohjelman suorituksen ymmärtämisen avuksi. Teatterinäkymä on kiva ja konsolikäyttäjän karvainen käsi hauska. Tästä on varmasti apua alkuvaiheessa; todellinen työkalu ohjelman tutkimiseen on sitten kuitenkin oikea debuggeri, jonka käyttö pitää osata pikimmiten.
Viimeksi kajottu 2007-11-05.