Tietokoneen toiminta : TitoTrainer
Pisteytys:
Luennolla 17.2. sovimme, että Titotrainer tehtävät pisteytystä varten kerätään maaliskuussa 14.3. aamupäivällä. Niitä ehtii siis tehdä vielä 13.3. asti.
Ttk-91 konekieli
Ttk-91 konekielen käskyjen kuvaus on tiiviissä muodossa titotrainerin ohjeissa ja ladattaviss tekstitiedostona titokoneen sivuilta. Anna Kuosmanen kokosi oman erillisen dokumentin käskyistä esimerkkeineen. Hän saattaa myös jossain vaiheessa laittaa lisää ohjelmaesimerkkejä hakemistoonsa http://www.cs.helsinki.fi/u/aekuosma/titoesimerkit/
Aiempien vuosien ttk-91-esimerkkejä. Joitakin vielä vanhempia esimerkkejä.
TitoTrainer ja titokone
Kurssilla käytetään konekieliseen ohjelmointiin tutustumisessa TitoTrainer-sivustoa, joka osaa automaattisesti tarkastaa ttk-91 -ohjelmien oikeellisuuden. Ttk-91 on laitoksella lehtorina toimineen Auvo Häkkisen suunnnittelema äärimmäisen yksinkertainen tietokone ja sen konekieli [Häkk98]. TitoTrainer2 -ohjelman verkkosivun osoite on http://titotrainer2.users.cs.helsinki.fi.
Itsenäiseen omalla koneella tapahtuvaa kokeiluun voi käyttää myös Titokone-simulaattoriympäristöä, joka osaa mm. animoida käskyjen suoritusta. Titokoneen oma asennusohje.
Kukin opiskelijan täytyy tutustua konekieliseen ohjelmointiin suorittamalla TitoTrainerilla joukko tehtäviä. TitoTrainer pitää kirjaa suoritetuista tehtävistä ja niistä saa arvosanaan vaikuttavia pisteitä. Osa tehtävistä tehdään tavallisina harjoitustehtävinä ja loput opintopiirien kanssa osana opintopiiritoimintaa. Jos ohjelman toiminnassa tai tehtävien muotoilussa on ongelmia tai outouksia, niin kertokaa niistä kurssin vastuuhenkilölle (=Tiina Niklander).
TitoTraineriin tarvitaan oma tunnus ja salasana. Voit luoda ne TitoTrainerin kirjautumissivulla. Kirjaa tunnuksesi samalla TitoTrainer-kurssille "Kevät 2011". Älä käytä laitoksen tunnuksen tai yliopiston AD-tunnuksen salasanaa.
TitoTrainer-tehtävissä on niiden nimen alussa luokittelutietoa (esim. a-150 Simppeli koodisegmentti), jossa ensimmäisenä oleva kirjain kertoo päätason:
- aloittelija, yksinkertainen koodi, if-then-else, silmukat
- monimutkaisempaa koodia, tietorakenteiden käyttö
- aliohjelmien kutsuminen, konekielen hyvä ymmärrys, koodin optimointi
- aliohjelmien toteutus, moniulotteiset taulukot
- kokonaiset ohjelmat aliohjelmineen, laiteajuri
- itse muokkaavaa koodia, ihan mitä vain
Päätason perässä oleva kolminumeroinen luku kertoo päätason sisällä vaikeusasteen (100=helppo, 900=vaikea). On suositeltavaa, että tehtävät tehdään tasojärjestyksessä helpoimmasta vaikeampaan. Vaikeusasteella 700 tehtävät millä tahansa tasolla voivat olla haastavia. Vaikeusasteen 900 tehtävät menevät jo syventävien oppimistavoitteiden puolelle.