Lukuohje

Tässä kurssimateriaalissa yhdistyvät eräänlainen ohjelmoinnin oppikirja ja siihen liittyvät harjoitustehtävät. Materiaali on räätälöity syksyn 2017 Ohjelmointi 1 -kurssille ja kevään 2018 Ohjelmointistudio 2 -kursseille sopivaksi, mutta sitä voi käyttää myös omatoimiseen opiskeluun näiden kurssien ulkopuolella.

Materiaali jakautuu kierroksiin, jotka ryhmittävät kurssia: kullakin kierroksella on oma deadlinensa. Kierrokset 1–13 kuuluvat Ohjelmointi 1 -kurssiin ja kierrokset 14–20 Ohjelmointistudio 2 -kurssiin.

Kierrokset jakautuvat lukuihin. Myöhemmät luvut rakentuvat aiempien varaan, ja materiaali onkin tarkoitus käydä läpi järjestyksessä jättämättä lukuja välistä. Aiempia lukuja voi toki palata kertaamaan myöhempiä käsitellessään, mikä voikin olla mainio ajatus.

Materiaalin ensimmäinen luku 1.1 toimii johdantona Ohjelmointi 1 -kurssille ja luku 14.1 Ohjelmointistudio 2 -kurssille.

Materiaaliin sisältyy paljon esimerkkiohjelmia, joista osa on upotettu suoraan materiaalin sivuille ja osa tarjotaan pakkauksina, joita käsitellään erillisessä ohjelmointiympäristössä.

Oppimateriaalin luvut eivät sovellu hakuteokseksi kovinkaan hyvin. Sivut Scalaa kootusti ja Sanasto voivat tässä suhteessa auttaa.

Teknisiä vaatimuksia

Oppimateriaalia on tarkoitus lukea siten, että sinulla on samanaikaisesti pääsy ohjelmointiympäristöön ja voit kokeilla asioita itse materiaaliin perehtyessäsi. Kurssilla käytettävään ohjelmointiympäristöön tutustut materiaalin luvusta 1.2 alkaen.

Materiaalia ei ole suunniteltu luettavaksi mobiililaitteilla. Ei se kiellettyäkään ole, mutta paitsi ettet pysty mobiililaitteella käyttämään tarvittavaa ohjelmointiympäristöä, niin myös jotkin muut materiaalin osat voivat toimia vajavaisesti mobiiliympäristössä.

Kurssimateriaali toimii kunnolla vain, jos sinulla on ajanmukainen web-selain ja selaimen JavaScript-tuki on päällä.

Materiaali sisältää kohtia, joissa käytetään koneen tuottamaa ääntä. Tämä tietysti järjestyy vain, jos sinulla on äänentoistolaitteisto käytettävissäsi. Jos opiskelet ihmisten keskellä, esimerkiksi Aallon tietokoneluokissa, varaa omat kuulokkeet mukaan. Äänikohdat eivät ole aivan välttämättömiä, eikä niitä ole kovin monta. Pakon edessä voit myös ohittaa ne.

Jos selaimesi tukee Flash-lisäosaa, niin eräät yksittäiset kohdat materiaalissa näyttävät hitusen paremmilta kuin muutoin. Tämä on kuitenkin vain kosmeettinen seikka.

Käytetyistä merkinnöistä

Keltaiset laatikot

Tällaisissa keltaisissa laatikoissa on tekstiä, joka on syystä tai toisesta nostettu leipätekstistä erilliseksi. Nämä laatikot sisältävät esimerkiksi käytännön ohjeita ja vinkkejä sekä lainauksia viisailta tahoilta. Ne ovat tärkeä osa kurssimateriaalia; älä ohita niitä.

Harmareunuksiset laatikot

Tällaisissa harmaareunaisissa laatikoissa on vapaaehtoista luettavaa, jonka ohittaminen ei vahingoita ohjelmoinnin keskeisimpien perusteiden oppimista tai kurssisuoritustasi. Näissä laatikoista löytyy muun muassa lisäselityksiä valituista aiheista sekä enemmän ja vähemmän haastavia vapaaehtoisia lisätehtäviä.

Tutustu myös näiden laatikoiden sisältöön, jos haluat ja ehdit, mutta jos jostain pitää karsia, niin karsi niistä.

Oppimateriaaliin on upotettu lainauksia aiempien ja myös käynnissä olevan kurssin opiskelijoiden kommentteja tähän tyyliin:

Tuntuupa hyvältä, kun ihmettelyn ja vääntämisen jälkeen tulee ymmärtämisen tunne! Olin niin tohkeissani, että palautin viimeisen tehtävän toiseen kertaan vaikka eka meni läpi täysillä pisteillä. :)

Seuraavanlaisissa laatikoissa on ohjelmatekstiä eli ohjelmakoodia. Tällaisia laatikoita käytetään materiaalissa toistuvasti esimerkkiohjelmia käsiteltäessä. Monesti käytetään erivärisiä tekstejä ohjelmakoodin eri osien korostamiseen kuten alla.

def nosta(summa: Int) = {
  val nostettu = min(summa, this.saldo)
  this.saldo = this.saldo - nostettu
  nostettu
}

Seuraavanlaisissa laatikoissa on ns. REPL-esimerkkejä eli esimerkkejä REPLiksi kutsutun vuorovaikutteisen ohjelmointiympäristön käytöstä. Tummemmalla pohjalla on käyttäjän antama syöte ja vaaleammalla tietokoneen antama vastaus. REPL-ympäristö esitellään luvussa 1.3.

1 + 1res0: Int = 2
50 + 50 > 100res1: Boolean = false

Seuraavanlaisia vihertäviä laatikoita käytetään monien esimerkkien selityksinä. Siirtämällä hiiren kursorin laatikon päälle korostuvat esimerkistä ne kohdat, joihin selitys liittyy.

Nämä ovat käyttäjän näppäimistöllään antamia syötteitä.
Nämä ovat arvoja, jotka tietokone on määrittänyt käyttäjän syötteen perusteella.

Raikkaan punaisissa laatikoissa on pseudokoodia eli ohjelmakoodia muistuttavaa mutta ainakin osittain vain ihmislukijalle tarkoitettua tekstiä. Pseudokoodia käytetään ensi kerran luvussa 2.7.

def totalPrice = {
  Vuorotellen jokaiselle huutokaupalle puskurissa this.items:
    - Selvitä huutokaupan hinta ja lisää summaan.
  Lopuksi palauta summa.
}

Kurssimateriaaliin on myös upotettu erilaisia vuorovaikutteisia osia kuten monivalintakysymyksiä ja vaiheittaisia animaatioita, joita lukija voi kontrolloida. Näiden osien käyttö on joko itseselitteistä tai siihen on annettu apua paikan päällä.

Palaute

Palautusta lähetetään...

Palautus on vastaanotettu.