Tik-76.030 Ohjelmoinnin peruskurssi Y1
Kurssin tavoitteena on oppia ohjelmoinnin perusasiat. Liikkeelle lähdetään alkeista.
Ohjelmointikielenä käytetään Javaa.
Kurssi ei kuitenkaan ole
oliohjelmointikurssi
grafiisisten käyttöliittymien kurssi
Java-kurssi
Henkilökunta
Luennoija Kerttu Pollari-Malmi, vastaanotot keskiviikkoisin klo 12-13 tietotekniikan talossa huoneessa B232
Pääassistentti: Juha Sorva
12 tuntiassistenttia
Tiedotus
Kurssin kotisivu: http://www.hut.fi/~tik76030/
Uutisryhmä opinnot.tik.opey
Opetusmuodot
Luennot ke ja to klo 14-16 B-salissa
Oppikirja:
Arto Wikla: Ohjelmoinnin perusteet Java-kielellä, OtaDATA
Vaihtoehtoinen oppikirja:
Lewis, Loftus: Java Software Solutions, Foundations of Program Design, Addison Wesley
Harjoitustehtävät: 6 kierrosta, palautus automaattiselle tarkastajalle (Ceilidh)
Harjoitukset: viikottaiset ryhmät, joissa assistentti on paikalla neuvomassa harjoitustehtävien tekemisessä.
Ma 10-12 maari-a
Ti 14-16 maari-b
Ti 16-18 maari-a
Ti 18-20 maari-a
Ke 16-18 maari-a
Ke 18-20 maari-a
To 12-14 maari-a
To 16-18 maari-c
To 18-20 maari-a
Pe 12-14 maari-c
Pe 14-16 maari-c
To 16-18 maari-b Olarin koulu ja lukio
Ke 16-18 maari-c muut koululaiset
Projektityö: suurempi harjoitustyö (n. 500 ohjelmariviä)
Pakolliset osasuoritukset
Tentti, ensimmäinen mahdollisuus ma 22.5. klo 9-12. Perustuu luentoihin ja oppikirjaan.
Harjoitustehtävät, kierroksilla 2-5 kerättävä vähintään minimimäärä pisteitä
Projektityö
Arvostelukaava:
Arvosana
= 0,2 * harjoitustehtävät
+ 0,4 * projektityö +
0,4* tentti
Paikkausmahdollisuudet
tentin voi uusia, viimeinen mahdollisuus tammi- tai helmikuussa 2001
jos joltain harjoitustehtäväkierrokselta ei saa tarpeeksi pisteitä, voi tilanteen korjata tekemällä rästitehtäviä toukokuussa
projektityö on tehtävä ajallaan, jos ei halua suorittaa koko kurssia uudelleen
Luentoaikataulu
viikko
3 ohjelmoinnin alkeet, muuttujat, lausekkeet
4 if, while, for, do
5 metodit
6 luokat, oliot
7
8 taulukot, järjestäminen, merkkijonot
9
10 luokka- ja ilmentymämuuttujat, luokkien suunnittelua
11
12 periytyminen, tiedostot
13 tiedostot, projektiopastusta
14 kirjastoluokat (grafiikkaa)
15
16
17 viimeinen luento 27.4.
VAROITUS: aikaisemmin ohjelmointia harrastaneille alku tuntuu hyvin yksinkertaiselta, mutta hyvin nopeasti siirrytään olio-ohjelmoinnin käsitteisiin.
Konekieli ja lausekieli
Tietokone ymmärtää vain hyvin yksinkertaisia käskyjä, esim
siirrä luku muistista rekisteriin
laske kaksi eri rekisterissä olevaa lukua yhteen
siirrä luku rekisteristä toiseen
Käskyt pitää lisäksi esittää koneelle erilaisina 1:n ja 0:n yhdistelminä. Konekieli koostuu tällaisista käskyistä.
Koska tietokoneohjelman kirjoittaminen nollina ja ykkösinä on hyvin hidasta ja virhealtista, kehitettiin aluksi symbolinen konekieli, Assembler.
Symbolisessa konekielessä bittijonot on korvattu sanojen tapaisilla kaskyilla (load, add, sub jne.). Yhtä konekielen käskyä vastaa kuitenkin yleensä yksi symbolisen konekielen käsky.
Tarvitaan erityinen ohjelma, joka muuttaa symbolisen konekielen käskyt varsinaiselle konekielelle.
Lausekielisissä ohjelmissa yhdellä käskyllä voidaan korvata monta peräkkäistä konekielen käskyä. Näin ohjelmointi on
helpompaa
vähemmän virhealtista
ohjelmia on helpompi siirtää tietokoneesta toiseen.
Lausekielinen ohjelma täytyy muuttaa konekielelle, jotta tietokone osaisi suorittaa sen. Tähän käytetään toista ohjelmaa, kääntäjää tai tulkkia.
Kääntäjä muuttaa lausekielisen ohjelman konekielelle. Itse ohjelmaa ei samalla suoriteta, mutta konekielinen ohjelma voidaan tallentaa tiedostoon ja suorittaa myöhemmin - vaikka monta kertaa.
Tulkki suorittaa lausekielistä ohjelmaa lause kerrallaan. Jos ohjelma halutaan suorittaa myöhemmin uudelleen, se pitää tulkita uudelleen jokaisella suorituskerralla.
Java-kielisiä ohjelmia suoritettaessa käytetään sekä kääntäjää että tulkkia. Alkuperäinen ohjelma käännetään ensin välikielelle (Bytecode), joka tallennetaan tiedostoon.
Välikielinen ohjelma suoritetaan tulkin avulla.
Ensimmäinen Java-ohjelma
public class Hoi {
public static void main(String[] args) {
System.out.println("Hoi maailma!");
}
}
Ohjelma kirjoitetaan editorilla tiedostoon, jolle annetaan nimeksi Hoi.java
Sen jälkeen tiedosto käännetään Javan välikielelle
> javac Hoi.java
Jos kääntäjä ei havaitse virheitä, se kirjoittaa välikielisen ohjelman tiedostoon Hoi.class
Välikielinen ohjelma voidaan ajaa Java-tulkilla
> java Hoi
Tällöin ohjelma tulostaa kuvaruudulle
Hoi maailma!