' Ohjelmoinnin perusteet: HY/Avoin syksy 2011

581325 Ohjelmoinnin perusteet, 5 op

Helsingin yliopisto / Avoin yliopisto syksy 2011



Ajankohtaista


Kurssin asema ja tavoite

Kurssi on matemaattis-luonnontieteellisen tiedekunnan tutkintovaatimusten mukainen ja kuuluu pakollisena osana tietojenkäsittelytieteen perusopintoihin. Kurssilla opitaan ohjelmoinnin peruskäsitteitä Java-ohjelmointikielen avulla. Ensi vuoden puolella alkava neljän opintopisteen laajuinen Ohjelmoinnin jatkokurssi tulee olemaan suoraa jatkoa tälle kurssille.

Opetus

Luennot: ti 25.10. - 29.11.2011 klo 17.00 - 18.30 ja to 27.10. - 1.12.2011 klo 17.00 - 18.30

25.10. luento on yliopiston päärakennuksen salissa 12 ja 1.11. ollaan Metsätalon salissa 1 (Unionink. 40). Muulloin luentopaikkana on tiistaisin Economicumin luentosali (Arkadiankatu 7) ja torstaisin Unioninkatu 35:n luentosali.

Harjoitukset:

Harjoitustehtävät löytyvät kurssin Moodle-alueelta ja vastauksia niihin odotetaan Moodlen kautta neljässä erässä. Näiden palautusten perusteella voi saada arvosanaan vaikuttavia harjoituspisteitä. Huomaa, että kullakin neljästä palautuksesta on oma deadlinensa, jonka jälkeen harjoitusten ohjaaja tulee postittamaan mallivastauksia keskustelufoorumille.

Kurssilla on melko paljon harjoitustunteja atk-luokassa: niihin kannattaa oman aikataulun sallimissa rajoissa osallistua, jos haluaa apua harjoitusten teossa. (Oletuksena ei ole, että kaikki osallistuisivat kaikille harjoitustunneille.) Kotona tehtyjä ratkaisuja kannattaa ottaa mukaan muistitikulla tms. ja toki kannettavan tietokoneenkin voi harjoituksiin tuoda. Kysythän ohjaajalta kun jonkin tehtävän kanssa tulee vaikeuksia! Harjoitustunteja on kahdelle ryhmälle; voit vierailla myös toisen harjoitusryhmän tunneilla jos luokassa on tilaa (jos ei ole, ao. ryhmään ilmoittautuneilla on "etuajo-oikeus"). Ks. harjoitusten ajat ja paikat opetusohjelmasta. Samalta sivulta myös ilmoittaudutaan harjoitusryhmiin.

Kurssilla ei ole opintopiirejä, joihin osallistuminen huomioitaisiin pistelaskussa vaan kaikki palauttavat itse omat ratkaisunsa. Tämä ei kuitenkaan tarkoita, etteikö harjoitustunneilla saisi ja kannattaisikin keskustella ratkaisuista muiden kanssa!

Oma ohjelmointiympäristö olisi hyvä saada kurssin alussa suht. nopeasti käyttökuntoon. Pyydäthän tarvittaessa neuvoja ensimmäisissä harjoitustapaamisissa.

Huomaa, että Moodleen tarvitaan tietotekniikkaosaston kevyt- tai varsinainen tunnus ja opettajan aloitusluennolla ilmoittama kurssiavain.

Luennoitsijana toimii Kai Korpimies ja harjoituksia ohjaa Hannu Kärnä. Hannu myös vastaanottaa ja pisteyttää harjoitustehtävät.


Luentojen alustava etenemisjärjestys

(Muutokset vielä mahdollisia)

  1. ohjelmista ja ohjelmoinnista; NetBeans ja JDK
  2. tulostamisesta ja lukemisesta; muuttujat, tyypit ja sijoituslause; laskutoimituksia
  3. perusasioita metodeista, luokista ja olioista; math-luokka; ponnahdusikkunoiden käyttö
  4. String-luokka; algoritmit ja niiden esittäminen
  5. valinta ja toisto: if, while ja do-while
  6. sisäkkäiset silmukat, for-lause ja kertausesimerkki
  7. luokkametodien kirjoittaminen
  8. kertausta ja johdatusta olio-ohjelmointiin
  9. olio-ohjelmointia
  10. olio-ohjelmointi: kertausta. Taulukot (vastaukset)
  11. oliotaulukot; haku ja järjestäminen
  12. koeasioita

  13. Kertausta varten pieni käsitekaavion aihio: ovatko termit tuttuja ja minkälaisia yhteyksiä niiden välille voisi piirtää?


Materiaali

Kalvokopiot: ks. luentoaikataulun linkit (kopioita tulee luettavaksi kurssin edetessä). Kalvokopioilla pärjännee jo pitkälle ainakin jos osallistuu luennoille. Tämä sivusto muodostaakin kurssin tärkeimmän oppimateriaalin. Osa luennoilla käsitellyistä esimerkeistä löytyy täältä. Esimerkkejä kannattaa kokeilla suorittaa ja myös muokata. Miten ohjelma toimii jos hieman muutat sitä?

Pieni hakemisto luentokalvoihin.

Kirjallisuutta:

1. Lewis, J. & Loftus, W. Java software solutions. Foundations of Program Design. Addison-Wesley, 2005 (tai uudempi painos) TAI
2. Wikla, A.: Ohjelmoinnin perusteet Java-kielellä (4. painos) OtaDATA, 2003 ja sen lisäksi luentomateriaali TAI
3. Muu kirjallisuus, josta kerrotaan ensimmäisellä luentokerralla tarkemmin.

Lukuohjeita Lewisin ja Loftusin sekä Wiklan kirjoihin

Verkosta Java-tietoa löytyy mm. Oraclen sivuilta. Samoin NetBeansiä on voinut sieltä ladata (harjoituksissa tarvittavasta ohjelmointiympäristöstä on kerrottu ensimmäisen luennon kalvoilla). Ks. viitteet sivun lopussa.


Kurssin suorittaminen

Kurssin suorittamiseen tarvitaan n. 30 pistettä (johon sisältyy vähintään n. puolet koepisteistä) ja parhaaseen arvosanaan n. 50 pistettä. Joulukuun kuulustelusta voi enimmillään saada 40 pistettä ja sen lisäksi Moodlen kautta palautetuista harjoituksista on mahdollisuus saada kaksikymmentä pistettä. Kuulustelussa tullaan kysymään luennoilla ja harjoituksissa käsiteltyjä asioita.

Kevään kuulusteluista saa enimmillään 60 pistettä ja harjoituksia ei tällöin arvostelussa oletusarvoisesti huomioida. (Mutta merkitse vastauspaperiin, jos kuitenkin haluat harjoituspisteet mukaan arvosteluun.)

Ilmoittaudu kaikkiin kokeisiin viimeistään kymmenen päivää ennen ao. koetilaisuutta (lisätietoja: http://www.avoin.helsinki.fi/palvelut/tentit.htm#ilmoittautuminen)

Kuulustelut:

Ke 14.12.2011 klo 17 - 20.
Uusintakuulustelut: la 28.1.2012 klo 9 - 13 ja ke 14.3.2012 klo 17 - 21.

Kuulustelupaikat selviävät aikanaan täältä


Muuta

Otathan yhteyttä opettajaan tai harjoitusten ohjaajaan jos jokin asia jää mietityttämään tai kohtaat teknisiä ongelmia. Muista myös kurssin Moodle-alueen yleinen keskustelufoorumi.

Viitteitä verkkoon:

TKTL Ohjelmoinnin perusteet: http://www.cs.helsinki.fi/courses/581325/2011/s/k/1

Oraclen sivuilta löytyy hyvin paljon hyödyllistä tietoa. Kannattaa uhrata hieman aikaa kokonaisuuden hahmottamiseen! Ohessa muutama keskeinen viite tutkimusretkien lähtökohdiksi:

NetBeans.org


Viimeksi päivitetty 19.10.    URL: http://www.helsinki.fi/~korpimie/ohp11/