7

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


Henkilökunta


Tiedotus





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


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


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


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!