Kurssin aikataulu ja sisältö
Tietokoneen toiminta (4 op), Kevät 2008
Computer Organization I (4 cr), Spring 2008
Tämä aikataulu- ja sisältösivu päivittyy aina tarpeen tullen eli siis aika usein . Tarkkailkaa tätä sivua ainakin viikoittain kurssin aikana. Kurssin sisältö voi vielä jonkin verran muuttua aika myöhäänkin. Olen kiitollinen kaikista ilmoituksista koskien materiaalin puutteita. Kiitos.
Ohjeita on aika paljon, mutta kurssin suoritusmenetelmä vaatii niiden kaikkien lukemista ja noudattamista. Ohjeiden lukemiseen käytetty 15 minuuttia säästää varmasti ainakin 60 minuuttia aikaanne jatkossa. Lukekaa kaikki ohjeet, erityisesti tämä aikataulusivu. Kiitos.
Ryhmätapaamiset alkavat heti kurssin ensimmäisellä viikolla. Opintopiirit muodostetaan tuossa ensimmäisessä tapaamisessa. Poissaolijoiden tilalle otetaan uusia opiskelijoita. Jos ette ensimmäisen viikon jälkeen vielä kuulu mihinkään opintopiiriin ja aiotte silti osallistua tähän kurssiin, teidän tulisi ensi tilassa ottaa yhteys omaan ohjaajaanne. Opintopiireihin kuulumattomat opiskelijat poistetaan kurssin listoilta toisen viikon jälkeen.
Jos keskeytätte kurssin, niin olisi kohteliasta ilmoittaa omalle opintopiirille asiasta, jotta muille opintopiiriläisille ei koituisi keskeyttämisenne vuoksi turhaa haittaa. Muihin opintopiiriläisiin saa helposti yhteyden sähköpostitse tai puhelimitse. Jos opintopiirin jäsenestä ei ole vähään aikaan (2-3 päivään?) kuulunut mitään, niin opintopiiri voi katsoa kyseisen opiskelijan keskeyttäneeksi ja toimia sen mukaisesti. Opintopiirin ei kannata lykätä uudelleenjärjestäytymistä turhan pitkään, koska kurssi on vain 6 viikkoa pitkä.
25.4.2008 Tein vielä yhden uuden TitoTrainer tehtävän niille, jotka kaipaavat haasteita.
15.4.2008 Muistattehan, että projekti 1 on pakollinen osio kurssilla ja se tulee palauttaa ajoissa sekä kirjallisena että elektronisena kopiona. Palautukset kirjataan opintopiirisivulle, josta voitte tarkistaa oman projektinne palautuksen perilletulon.
14.4.2008 Muistakaa, että harjoitustilaisuuteen osallistuminen on jonkin verran pakollista. Minimivaatimuksen (1 arvosanaan vaikuttava piste) saa, kun on tehnyt 9 harjoitustehtävää. Huolehtikaa, että teillä on tehtynä vähintään tämän verran harjoitustehtäviä.
8.4.2008 Tarkistuslistasta on poistettu näkyviltä täysin passiiviset opiskelijat. Jos teidät on poistettu näkyviltä virheellisesti, ottakaa yhteys kurssin vastuuhenkilöön.
31.3.2008 Harjoitusryhmätilaisuuksien toimintaa täsmennetään seuraavasti:
- Tehtävän merkinneet voidaan osoittaa osaaviksi ”konsulteiksi” muihin ryhmiin.
- Jos ryhmä on valmis, niin ryhmän jäsenet sijoitetaan asiantuntijakonsulteiksi muihin ryhmiin.
- Kaikki pysyvät siis paikalla kunnes kaikki ryhmät ovat saaneet kaikki tehtävät käsiteltyä.
If some group is done early, group members are assigned as consultants to other groups.
19.3.2008 Kaikilla pitäisi nyt olla opintopiiri, jossa tekee ainakin projektin pr1. Lähettäkää minulle (Teemu.Kerola at cs.helsinki.fi) opintopiirin jäsenten nimet ja syntymäpäivistä laskemanne projektin pr1 aihepiirit. Opintopiirit ovat näkyvillä verkossa. Jos teillä ei vielä ole opintopiiriä ettekä halua tehdä töitä yksin, mailatkaa asiasta minulle. Mainitkaa samalla harjoitustilaisuutenne numeron - muodostaisin mieluummin opintopiirejä saman ryhmä jäsenistä.
17.3.2008 Harjoitusryhmä 1 (ti 12-14) on siirretty isompaan saliin B222.
17.3.2008 Verkkoluennossa lu03 pieni korjaus. Suojausasetukset tarvinnee laittaa uudelleen kuntoon IE'llä, jos käytätte muuta selainta.
17.3.2008 Opiskelijalta on tullut seuraavanlaatuinen ehdotus harjoitustilaisuuksia silmälläpitäen:
Kurssin kotisivuille pitäisi saada harjoitustehtävistä "malliratkaisut" (esimerkkivastaukset), joista kukin opiskelija voisi tarkistaa, onko ymmärtänyt asian oikein ja mikä omassa ratkaisuyrityksessä mahdollisesti on ollut vialla.
Em. asiantuntijaryhmätyöskentelyssä pitäisi ehdottomasti olla mukana jokin lähdemateriaali, muuten työskentely on liiaksi "tyhjän päällä". Olisiko mahdollista saada verkkoluentojen asiat myös kalvoille (pdf), jotka voisi tulostaa ja ottaa mukaan laskuharjoituksiin?
Malliratkaisuja ei julkisteta. Käytämme liki samoja tehtäviä vuodesta toiseen, joten malliratkaisun julkistamisen jälkeen tehtävistä ei seuraavalla kursilla voi antaa arvosanaan vaikuttavia pisteitä. Pisteiden antaminen on kuitenkin havaittu hyväksi "porkkanaksi" harjoitustehtävien tekemiseen ja niiden avulla oppimiseen. Idea ryhmätyöskentelyssä on juuri se, että siellä käydään tehtävien ratkaisut läpi riittävällä tarkkuudella. Olkaa paikalla ryhmässä ja aktiivisesti huolehtikaa, että olette ymmärtäneet asian oikein. Harjoitustilaisuuteen voi toki ottaa luentoihin liittyvät pdf't mukaan (ovat olleet verkossa koko ajan). Lisäksi paikalla on ainakin yksi tietokone, jolla voi katsoa kaikkea verkossa olevaa materiaalia. Joillakin opiskelijoilla on lisäksi omat läppärinsä mukana. Paikalla on asiantuntijana assistenssi, joka on siellä juuri neuvojen antamista varten.
4.3.2008 Huomatkaa, että maanantaina 10.3. Exactumin tiloissa luultavasti ei ole lämmitystä, ilmanvaihtoa eikä lämmintä vettä. Ottakaa luennolle lämmintä päälle ja omat tyynyt mukaan. ;-)
28.2.2008 Tällä hetkellä näyttää siltä, että mahdollisesti englanninkielisenä tarjottava harjoitusryhmä (ke 16-18) myös toteutuu englanninkielisenä.
Huom 1: Kaikilla oppilailla tulee olla TKTL:n käyttäjätunnus laitoksen Linux- ja Windows-järjestelmien käyttämistä varten. Sivuaineopiskelijoilla tulee olla ensin haettuna Tietotekniikkaosaston UNIX-tunnus eli ns. cc-tunnus.
Huom 2: Kaikkien tulee olla ilmoittautunut kurssikirjanpitoa varten tälle kurssille TKTL:n ILMO järjestelmään. Jos et ole tehnyt sitä vielä, niin tee se ystävällisesti nyt heti. Laita myös opiskelijanumerosi ILMOon. Kiitos.
Tavoite
Päätavoitteena on ymmärtää tietokonejärjestelmän keskeiset piirteet suoritettavan ohjelman näkökulmasta: miten tietokonejärjestelmä on rakennettu ja miten se suorittaa sille annettua ohjelmaa. Pääpaino on yhden ohjelman suorituksella konekielen tasolla. Tavoitteena on myös ymmärtää käyttöjärjestelmän perustoiminnot ja rooli ohjelman suorituksen kannalta.
Tavoite on tarkemmin kuvattu kurssikuvauksessa ja oppimistavoitteissa.
Kurssin muoto: opintopiiri- ja verkkokurssi
Kurssi toteutetaan opintopiirejä käyttäen. Tämä tarkoittaa sitä, että ns. tavallisten laskuharjoitusten asemesta opiskelijat jaetaan pienryhmiin (opintopiireihin), joissa tehdään sekä tavanomaisia laskuharjoituksia että suurempia projekteja. Kantavana ajatuksena ja ideana opintopiireissä on se, että yhdessä opiskellen oppii paremmin. Kun selittää asiaa toiselle, niin oppii itsekin ja/tai huomaa aukkoja omassa osaamisessaan. Opintopiirit kokoontuvat viikoittain yhden pakollisen kerran ohjaajan kera. Sen lisäksi opintopiirit voivat tavata itse sopiminaan aikoina eri tiloissa yliopistolla.
Tämä kurssi toteutetaan verkkokurssina. Siihen sisältyy siten tiedotuksen lisäksi merkittävä määrä verkossa olevan materiaalin käyttöä ja verkon käyttöä suunnitelmalliseen kurssin sisäisen kommunikointiin. Kurssin toteutus verkkokurssina ei tarkoita, että kurssin voisi suorittaa puhtaasti etäopiskeluna. Läsnäolo kampuksella kurssin aikana on aika ajoin välttämätöntä.
Tavallisina luentoina pidetään ainoastaan ensimmäinen aloitusluento ja viimeinen yhteenvetoluento.
Yleistä
- Kurssiin liittyvät yleiset asiat (siis muut kuin erityisesti tähän verkkokurssiin liittyvät asiat) ovat kurssin kotisivulla http://www.cs.helsinki.fi/teemu.kerola/tito/index.html.
- Tällä aikataulu-sivulla on tämänkertaisen kurssin perustiedot.
- Jos haluatte (nopeaa) reagointia (esim. jokin verkkosivu ei aukea tms) luennoitsijalta, niin käyttäkää sähköpostia. Kaikkia kurssilaisia kiinnostavat asiat julkaistaan luennoitsijan puolesta tällä sivulla.
Ohjausajat
Ohjausajoilla tarkoitetaan niitä aikoja, jolloin kurssin vastuuhenkilö tai ohjaaja on henkilökohtaisesti paikalla.
Lectures |
Opening lect. |
Mon 12-14 (B119) in English ma 14-16 (B123) suomeksi |
Teemu Kerola |
Summary
17.4.2008 |
17.4.2008 Thu 12-14 (C221) in English 18.4.2008 pe 12-14 (A111) suomeksi |
Teemu Kerola | |
Group meetings |
10.3-25.4.2008 HUOM: |
ti 12-14 (B222 ) |
Jaakko Sorri |
ti 14-16 (CK107) | Jaakko Sorri | ||
ke 16-18 (CK111) Wed 16-18 (CK111) in English |
Sebastian Siikavirta | ||
to 16-18 (CK107) | Sebastian Siikavirta | ||
Exam Kurssikuulustelu |
28.4.2008 |
Teemu Kerola |
Arviointi
Yhteensä jaossa yli 60 p, joista 30 p tarvitaan läpipääsyyn. Normaalit arvosanarajat ovat: 1 (30 p), 2 (35 p), 3 (40 p), 4 (45 p) ja 5 (50 p). Näitä voidaan tarpeen vaatiessa muuttaa.
Kurssin osiot, niiden maksimipistemäärät ja minimivaatimukset:
- Harjoitustehtävät (mukaanlukien osa TitoTrainer tehtävistä): 10 p, minimivaatimus 1 p
- 1 arvosanaan vaikuttavan pisteen saa 30%'lla ja 10 pistettä 90%'lla max htp'sta
- Projektit: 14 p (18, jos ylim. projekti mukana), minimivaatimus 1 p
- Kertaustehtävien laadinta (pr1): 8 pp, minimivaatimus 1 pp
- Kurssikuulustelun mallivastaukset ja arviointiperusteet (pr2, ylimääräinen projekti): 4 pp, minimivaatimus 0 pp
- TitoTrainer tehtävät (pr3): 6 pp, minimivaatimus 0 pp
- Projektipisteet (pp) vaikuttavat sellaisenaan arvosanaan
- Kursssikuulustelu: 36 p, minimivaatimus 18 p
- Koepisteet vaikuttavat sellaisenaan arvosanaan
- Yhteensä: 60 p (vähän enemmän ylim. projektin kanssa), minimivaatimus 30 p
Kirjanpitolistalla näkyy kaikki kurssikirjanpito. Sieltä poistetaan ilmeisesti passiiviset opiskelijat näkyviltä. Jos listalla on puutteita tai ette halua nimeänne näkyville, ottakaa yhteys luennoitsijaan. Projektit pr1, pr2 ja pr3 näkyvät kirjanpidossa harjoitustehtävinä HT1, HT2 ja HT3. Kurssin arvostelun valmistuttua tulokset ja kurssikuulustelun arvosteluperusteet ovat näkyvillä verkossa muutaman viikon ajan. Tiedot julkaistaan verkossa ja ilmoitustaululla ainoastaan opiskelijanumeroa käyttäen dekaanin 22.2.2008 päätöksen ja 27.6.2007 Tietosuoja yliopistossa -ohjeen (ks. kohta Tietosuoja ja julkisuus opintohallinnossa / Tenttitulosten ja muiden opintosuoritusten ilmoittaminen) mukaisesti. Kurssikirjanpito ei osaa etsiä opiskelijanumeroa muualta kuin ILMOsta. Laittakaa siis opiskelijanumeronne ILMO-tietoihinne. Yksityisyytenne suojaamiseksi pitäkää opiskelijanumeronne salaisena.
Opintopiirit
Kaikki opiskelijat osallistuvat opintopiiritoimintaan. Opintopiiri ovat samat koko kurssin ajan ja ne muodostetaan ensimmäisellä harjoituskerralla vähän keinotekoisesti, mikä ei nyt paljoakaan poikkea työelämän enemmän tai vähemmän satunnaisesta tiimien muodostamisesta. Ensisijaisena ryhmäytymisen perusteena on samantyyppiset suoritustavoitteet ja toissijaisena perusteena sopivat tapaamisajat, joten ottakaa kalenterit mukaan. Opintopiirin koko on 2-4 opiskelijaa. Poikkeustapauksena opintopiirin voi muodostaa myös vain yksi opiskelija, mutta työmäärä tulee tällöin aika suureksi. Ja miksi opiskella yksin, kun sen voisi tehdä paremmin muiden kanssa!
Opintopiirien jäsenet ovat usein hyvinkin heterogeenisia, mikä ei myöskään poikkea paljoakaan työelämästä. Opintopiirien yleisiä käytäntöjä on esitetty ohjeessa Opiskelijan opas [Kurhila & Lokki, "Opintopiirikurssien opettajan opas", Liite 5]. Saman lähteen mukainen Opintopiirisopimus allekirjoitetaan opintopiirien muodostamistilaisuudessa.
Opintopiirin tarkoituksena tällä kurssilla on (a) tehdä isommat projektityöt (pr1, pr2) yhteistyössä ja (b) toimia tukiryhmänä pienempien harjoitustehtävien tekemisessä sekä muissa kurssin suorittamiseen liittyvissä asioissa. Pienet harjoitustehtävät ovat samanlaisia kuin traditionaaliset laskaritehtävät. Kaikki tekevät ne itsenäisesti opintopiirin kanssa tarpeen mukaan neuvotellen. Harjoitustehtävistä annetaan pinnoja (htp) tehtyjen tehtävien mukaan tilaisuudessa läsnäoleville.
Projektityössä on tyypillistä, että kaikki eivät tee hommia ihan samalla tavalla tai samalla laajuudella. Pienet erot (±20%) ovat normaaleja ja kuuluvat asiaan. Jos opintopiirin jotkut jäsenet tekevät kuitenkin huomattavasti enemmän töitä kuin muut, niin heitä pyritään palkitsemaan tästä paremmalla arvosanalla. Jotkut opintopiirit voivat jopa alkuaan suunnitella työn niin, että opintopiirin työmyyrä tekee vähän enemmän ja sitten myös saa muita isomman osan opintopiirin projektin tuloksista itselleen (pr1). Oleellista on kuitenkin, että kaikki oppivat. Opintopiirin tulisi pyrkiä siihen, että kaikki tiimin jäsenet oppivat kaikki kurssin asiat.
Opintopiiri kokoontuu ainakin viikoittain ohjaajan kera siinä ryhmätapaamisessa, johon kaikki opintopiirin jäsenet ovat ilmoittautuneet. Sen lisäksi on suotavaa, että opintopiiri kokoontuisi tarpeen mukaan itse valitsemina aikoinaan. Sopivia palaverinpitopaikkoja on esimerkiksi tiedekirjaston alakerrassa ryhmätyösalissa ja Exactumin sekä Physicumin aulatiloissa. Ruokalan kiinniollessa myös kahvilan pöydät ovat käytettävissä, niin Exactumissa kuin Physicumissakin. Käyttäkää mielikuvitustanne! Palaveerata voi myös verkossa.
Harjoitustehtävät ja harjoitustilaisuudet
Opintopiireissä on viikoittain joukko pienempiä harjoitustehtäviä, jotka ovat tavanomaisten laskuharjoitustehtävien tyyppisiä. Ne tehdään itsenäisesti tai oman opintopiirin kanssa yhdessä. Hyvä menettelytapa olisi esimerkiksi sellainen, että kukin pohtii ensin tehtävät läpi itsenäisesti ja sitten niitä puidaan yhdessä opintopiirissä. Jokaisen tulisi oppia tehtävien asiat täydellisesti, mielellään jo ennen tehtävien käsittelyä viikoittaisessa ryhmätapaamisessa. Tehtävistä saa pisteitä (htp) niiden vaativuuden mukaan, mutta vain tehdyistä tehtävistä ja vain omassa ryhmätapaamisessa (harjoitustilaisuudessa) läsnäoleville.
Harjoitustilaisuuksissa kokeillaan uutta käytäntöä, jossa harjoitustehtäviä käydään läpi opiskelijavetoisesti keskustellen tehtäväkohtaisesti. Kutakin "tehtäväpöytää" vetää muutama sen tehtävän tehnyt opiskelija ja opiskelijat kiertävät tilaisuudessa pöydät läpi tarpeensa mukaan. Pöydissä voi otaksua, että opiskelijat ovat tutustuneet tehtäviin etukäteen ja ainakin yrittäneet ratkaista niitä. Yhtä tehtäväpöytää vetävä opiskelija voi siirtyä muihin pöytiin "asiakkaaksi", kunhan vain joku muu opiskelija jää alkuperäiselle pöydälle vetäjäksi. Ohjaaja avustaa pöytiä tarpeen mukaan.
Yksi harjoitusryhmistä on englanniksi, jos tarvetta ilmenee. Jos laskuharjoitusryhmä on englanniksi, niin se on sitten kokonaan englanniksi (tehtävien esittämiset, kysymykset ja vastaukset, kaikki keskustelu) silloin kuin osallisena on suomea taitamattomia opiskelijoita.
Acrobat Connect Professional "streamatut" Flash-luennot
Aloitus- ja yhteenvetoluennot taltioidaan yliopiston Connect pro palvelimelle, josta ne voi katsoa suoraan linkkiä klikkaamalla. Taltioissa ei ole indeksointia, mutta vasemman alhaalla olevan aikapalkin avulla "nykykohtaa" voi vierittää eteen- ja taaksepäin. Taltiot tarvitsevat suht'koht tuoreen Flash-palikan ja toimivat tällä hetkellä kunnolla vain Windows- ja Mac-ympäristöissä.
Verkkoluennot
Verkkoluennon seuraaminen vaatii oman liitospalikan (Macromedia Authorware Web Player) selaimeen. Sen kuuluu Windows'in vakioasennukseen laitoksen opiskelijakäyttöön tarkoitetuissa tiloissa. (Sitä ei voi itse asentaa laitoksen koneisiin, kuten ei muitakaan selainten liitospalikoita.) Liitospalikka on olemassa ainoastaan Windows ympäristöön ja luotettavimmin se toimii Internet Explorer'issa. Sorry. Voitte kokeilla liitospalikan toimivuutta tästä. Järjestelmä antaa liitospalikkaa käynnistettäessä erilaisia asiaan kuuluvia varoituksia, mutta nähdäkseni liitospalikka on turvallinen käyttää. Liitospalikka toimii myös Firefox-selaimella, mutta yleensä vasta sen jälkeen kun oikeudet on asetettu oikein IE'n avulla. Joissakin tapauksissa palautelomakkeet eivät aina toimi kunnolla Firefox'illa - lähettäkää palaute tällöin esim. sähköpostitse täsmällisten luento/aliluku/sivu-tietojen kera.
Macintosh
Macintosh-ympäristöjen käyttö on täysin testaamatta, koska tekijällä ei ole Macintosh'ia käytössään. Toisaalta, ainakin Patrik Jansson on keväällä 2006 saanut verkkoluennot toimimaan iBook'issa Safari-selaimella. Firefox ei toiminut. Verkkoluentoa avatessa Safari herjaa automaattisesti Authorwaren puuttumisesta ja ehdottaa sen lataamista. Hyväksymisen jälkeen selain ohjautuu Macromedian lataus-sivulle, josta voi ladata Authorwaren liitospalikan. Asennuksen jälkeen täytyy Safari käynnistää uudelleen, että sivu näkyy oikein. Joissakin kohdin tulee virheilmoitus "Xtra not found" ja sivun tausta saattaa jäädä puuttumaan. Flash-animaatio (luennon 1 lopussa) ei toimi. Lisätietoja annetaan mahdollisesti lisää tällä foorumilla.
Niko Kivelä (2008): Lisäinfoa että myös minä sain Intel iMac OSX Leopard käyttäjänä Authorware luennot toimimaan käyttäen Safari selainta. Tämä vaati melkoisen paljon säätöä, aikaa ja rutkasti Googlettamista. Pluginista selaimeen piti etsiä Adoben vaihtoehtoinen Web soitin sekä selain piti käynnistää Rosetta avulla.
Windows 2003 Terminal Server
Windows 2003 Terminal Server -palvelimen avulla verkkoluentoa voi seurata myös Linux-ympäristöissä Tietojenkäsittelytieteenlaitoksen koneilta. Palvelin mahdollistaa Windows-ympäristön käytön ohjelmistoineen etänä, jopa Linux-koneilta. Palvelimen käyttö laitoksen Linux-koneilta onnistuu yksinkertaisesti komennolla "windows". Tämä avaa ruudulle Windows-järjestelmän sisäänkirjautumisruudun. Kirjautuminen tapahtuu normaaleilla TKTL-käyttäjätunnuksilla. Palvelimen IE'ssä on valmiiksi asennettuna Authorware liitospalikka. Mikäli haluatte tarkemman kontrollin etäkäyttöohjelmistoon, voitte käyttää suoraan rdesktop (http://www.rdesktop.org) ohjelmistoa komennolla "/usr/local/bin/rdesktop winserver".
Pärtel Martin'in ohje (kevät 2007) laitoksen Windows palvelimen etäkäyttöön Linux'issa kotoa käsin:
Jos kotikoneessa on Mac tai Linux, voi verkkoluentoja katsoa ilmaisella
rdesktop-ohjelmalla ( http://www.rdesktop.org/ ). Komento on
rdesktop -z -r sound winserver.cs.helsinki.fi
Lisäksi optiolla -f saa kokoruutumoodin (poistuminen Ctrl+Alt+Enter), ja -g
optiolla voi asettaa resoluution itse (esim -g 1000x700 mahtuu hyvin
ikkunaan jos näyttösi resoluutio on 1024x768).
Kovin hitailla nettiyhteyksillä ääni valitettavasti pätkii.
Windows palvelinta voi käyttää myös Windows-järjestelmistä etäkäyttönä esimerkiksi keskustakampukselta. Tällöin Authorware liitospalikaa ei tarvitse asentaa käytettävälle koneelle. Käyttö tapahtuu ensin käynnistämällä etätyöpöytä ("start / All Programs / Accessories / Communications / Remote Desktop Connection"), jonka avulla yhteys luodaaan palvelimelle "winserver.cs.helsinki.fi". Siellä käynnistetään selain (IE on luotettavampi) ja avataan verkkoluennot tavalliseen tapaan.
Ongelmia?
Jos Authorware Web Player -liitospalikan käytössä on ongelmia, raportoikaa niistä kurssin vastuuhenkilölle.
Verkkoluentojen käyttöön on olemassa Käyttöohje ja Usein Kysyttyjen Kysymysten lista, jotka löytyvät verkosta ja ovat myös suoraan käytettävissä verkkoluennoista.
Verkkoluennot on linkitetty helposti käytettäväksi niiden yhteiselle sisällysluettelosivulle.
Titokone ja TitoTrainer
Kurssilla tutustutaan konekieliseen ohjelmointiin Auvo Häkkisen opetuskäyttöä varten suunnitteleman ttk-91 tietokoneen ja sen konekielen avulla [Häkk98]. Ttk-91 -ohjelmien kehitystä, suoritusta ja animointia varten käytettävissä on Titokone simulaattoriympäristö, jonka avulla pääosa konekielisestä ohjelmoinnista tehdään. Titokoneeseen on oma asennusohjeensa.
Sen lisäksi kurssikomponenttina on TitoTrainer, jonka avulla voidaan automaattisesti tarkistaa (Titokoneelle tehtyjen) ttk-91 -ohjelmien oikeellisuus. TitoTrainer pitää kirjaa suoritetuista tehtävistä ja niistä saa arvosanaan vaikuttavia pisteitä.
TitoTrainer'illä on vielä lastentauteja. Tunnetut sellaiset on listattu sivullaan Piirteet ja Ongelmat. Olkaa kärsivällisiä ja lähettäkää tietoja uusista piirteistä ja ongelmista kurssin vastuuhenkilölle. Ongelmat korjataan, kun seuraavan kerran saamme ohjelmistotuotantoryhmän lisäkehittämään TitoTraineria. Kertokaa myös, jos tehtävän asettelu tuntuu epäselvältä. Tehtävien määrittelyjä säädetään jatkuvasti palautteen perusteella paremmiksi. Kiitos.
TitoTraineriin tarvitaan oma tunnus ja salasana. Voit luoda ne "Sign up" hypertekstiä klikkaamalla TitoTrainerin kirjautumissivulla. Kirjaa tunnuksesi samalla TitoTrainer-kurssille "Tito K2008". Käyttäkää opiskelijanumeroa (ei henkilötunnusta) TitoTrainer tunnusta luodessanne.
TitoTrainer-tehtävissä on niiden nimen alussa luokittelutietoa (esim. a-150 CtoTtk91), 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.
Titokoneen on toteuttanut Koski-ohjelmistotuotantoryhmä kevällä 2004. TitoTrainerin on toteuttanut Kohahdus-ohjelmistotuotantoryhmä syksyllä 2006, hyödyntäen aikaisemman Koskelo-ohjelmistotuotantoryhmän prototyyppiä syksyltä 2004.
Ryhmätapaamiset (laskuharjoitukset)
Opintopiirit tapaavat ainakin kerran viikossa ohjaajan läsnäollessa ryhmätapaamisessa. Ensimmäisessä ryhmätapaamisessa muodostetaan opintopiirit. Yleensä ryhmätapaamisessa käydään läpi sen viikon harjoitustehtävät ja seurataan projektin edistymistä. Ryhmätapaamisessa on myös mahdollista kysyä ohjaajalta neuvoa mihin tahansa kurssin asiaan tai logistiikkaan liittyvästä asiasta.
Projektit
Opintopiireissä tehdään isompi projekti (pr1). Opintopiiri toteuttaa projektin ja antaa raportin projektin lopputuloksista. On luultavaa, että projektin alussa opintopiirin jäsenet joutuvat opiskelemaan taustatietoja verkkoluentojen, oppikirjojen, verkossa olevien kertaustehtävien sekä harjoitus- ja keskustelutehtävien avulla. Projektin etenemistä valvotaan viikoittaisissa ryhmätapaamisissa, joissa voi aina kysyä neuvoa ohjaajilta.
Opintopiirissä voi tehdä myös toisen, pienemmän projektin (pr2). Tämä projekti on valinnainen ja siitä mahdollisesti saatavat pisteet ylimääräisiä. Sen voi tehdä myös itsenäisesti tai uuden opintopiirin kanssa.
Kolmas projekti (pr3) on lisää ttk-91 ohjelmointiharjoittelua TitoTrainerin avulla.
Projekteista saa projektipisteitä (pp) projektin tulosten ja myös osittain ryhmän toimintaan osallistumisen mukaan (pr1).
The English schedule page has most the information above, but none of the information below.
The information in English is given with green color below.
Sisältö ja aikataulu (Contents and Schedule)
Kurssikirjat täydentävät verkkoluentoja. Niissä on erilainen esitystapa ja enemmän detaljeja. Jos jokin asia jäi epäselväksi tai muuten vain haluat toisenlaisen lähestymistavan sen oppimiseen, niin tarkista asia kurssikirjasta kyseisen luennonkohdalla annetusta kohdasta.
Huomatkaa, että luennoista 1-11 on olemassa myös (vähän vanhat, v. 2003) pdf-kalvot, joihin pääsee helposti käsiksi vasemmalla olevan linkkipalkin kautta.
Text books give different view and more thorough presentation to the same topics as the web lectures. If anything is left unclear, please read the corresponding material in text books.
Viikko 10 (3-7.3.2008) Week 10
- Tutustu verkkomateriaaliin
(Familiarize your self with course web-material)
- Aikataulu, kurssikuvaus, oppimistavoitteet (Schedule, course description, learning goals)
- Kotitehtävät : lh1 (Homeworks: lh1E)
Viikko 11 (10-14.3.2008) Week 11
- Opening lecture (lecture 0), Monday 10.3.2008 12-14 (B119) in English: admin, course components, study circles, web components.
Important to be present, please. - Aloitusluento
(luento 0), maanantai 10.3.2008 14-16 (B123) suomeksi. Hallintoa,
kurssin suoritusosiot, opintopiiritoiminta, verkkokomponentit
Tärkeätä olla paikalla, kiitos.- Luentokalvot lu00 pdf mv2 mv6 vä1 (suomeksi)
- Acrobat Connect Professional taltio aloitusluennosta. (n. 1 h 25 min)
- Itseopiskelua, luento 1: Järjestelmän rakenne
(System structure, self study)
- Verkkoluento lu01 vain Windows'issa (Web lecture lu01e in English, only in Windows)
- Ch 1 [Stal06] (Ch 1 [Stal03] )
- Kertauskysymyksiä (Practice Problems, some in English)
- Itseopiskelua, luento 2: TTK-91 -tietokone ja sen simulaattori
(Ttk-91 and the simulator for it)
- Verkkoluento lu02 (Web lecture lu02e in English)
- Ch 3.1, 10.1-3 [Stal06] (Ch 3.1, 10.1-3 [Stal03] )
- Kertauskysymyksiä (Practice Problems)
- Ryhmätapaaminen (Group meeting)
Tärkeätä olla paikalla, kiitos. (Very important to be present, please! )- opintopiirien muodostaminen (Study circle creation)
- yhteystietojen vaihto, tapaamissuunnitelma (Swapping contact information, meeting plans)
- projektin PR 1 aikataulutus (Schedule for project PR 1)
- opintopiirisopimuksen läpikäynti ja allekirjoitus (Study circle contract and signatures)
- tehtävien läpikäyntiä pienryhmissä: lh1 (Discussion in small groups: lh1E)
- Opintopiiriprojekti alkaa: pr1 (Study circle project begins: pr1E)
- Itseopiskelua, luento 3: Konekielinen ohjelmointi (Self study, Assembly language programming)
- Verkkoluento lu03 (Web lecture lu03e in English)
- Ch 10.4-8 [Stal06] (Ch 10.4-8 [Stal03] )
- Kertauskysymyksiä (Practice Problems)
- Kotitehtävät lh2 (homeworks lh2E)
- Aloita projekti pr3: TitoTrainer tehtävät tasolla A (Start pr3E: do TitoTrainer problems at level A)
Viikot 12-13 (17-19.2.2008, 27-28.2.2008) Weeks 12-134
- Itseopiskelua, luento 4: Aliohjelmien toteutus konekielen tasolla (Self study: Assembly language subroutine implementation)
- Verkkoluento lu04 (Web lecture lu04e in English)
- Ch 10.4 [Stal06] (Ch 10.4 [Stal03])
- Kertauskysymyksiä (Practice Problems)
- Ryhmätapaaminen (Group meeting)
- Itseopiskelua, luento 5: Suoritin (CPU) ja väylä (Self study: CPU and bus)
- Verkkoluento lu05 (No further web lectures in English. Sorry. Read the text books)
- Ch 3.1-3 [Stal06] (Ch 3.1-3 [Stal03])
- Kertauskysymyksiä (Practice Problems)
- Itseopiskelua, luento 6: Tiedon esitysmuodot (Self study: Data presentation)
- Verkkoluento lu06
- Ch 10.1-3 [Stal06] (Ch 10.1-3 [Stal03] )
- Kertauskysymyksiä (Practice Problems)
- Kotitehtävät lh3 (homeworks lh3E)
- TitoTrainer tehtävät tasolla B (TitoTrainer problems at Level B)
Viikko 14 (31.3.-4.4.2008) Week 14
- Itseopiskelua, luento 7: Tiedon muuttumattomuus ja järjestelmän sisäinen muisti (Self study: Error recovery and internal memory)
- Verkkoluento lu07
- Ch 4.1, 5.1-2 [Stal06] (Ch 4.1, 5.1-2 [Stal03] )
- Kertauskysymyksiä (Practice Problems)
- Itseopiskelua, luento 8: Ohjelman toteutus järjestelmässä (Self study: Program implementation in the system)
- Verkkoluento lu08
- Ch 8.1-2 [Stal06] (Ch 8.1-2 [Stal03])
- Kertauskysymyksiä (Practice Problems)
- Ryhmätapaaminen (Group meeting)
- Kotitehtävät lh4 (Homeworks lh4E)
- TitoTrainer tehtävät tasolla C (TitoTrainer problems at Level C)
Viikko 15 (7-11.4.2008) Week 15
- Itseopiskelua, luento 9: Järjestelmän ulkoinen muisti, I/O-laitteet, I/O:n toteutus (Self study: External memory, I/O-devices, I/O implementation)
- Verkkoluento lu09
- Ch 6.1, 7.1-5 [Stal06] (Ch 6.1, 7.1-5 [Stal03])
- Kertauskysymyksiä (Practice Problems)
- Itseopiskelua, luento 10: Käännös, linkitys ja lataus (Self study: Compilation, linking and loading)
- Verkkoluento lu10
- Ch 7.3, 7.4 [Tane06] (Ch 7.3, 7.4 [Tane99])
- Kertauskysymyksiä (Practice Problems)
- Ryhmätapaaminen (Group meeting)
- Kotitehtävät lh5 (Homeworks lh5E)
- TitoTrainer tehtävät tasolla D (TitoTrainer problems at Level D)
Viikko 16 (14-18.4.2008) Week 16
- Itseopiskelua, luento 11: Tulkinta ja emulointi (Self study: Interpretation and emulation)
- Verkkoluento lu11
- Oppikirja: Ch 4.2 [Tane06] (Ch 4.2 [Tane99])
- Kertauskysymyksiä (Practice Problems)
- Summary lecture (lecture 12) in English, 17.4.2008 Thu 12-14 (C221)
- Yhteenvetoluento (luento 12) suomeksi, 18.4.2008 pe 12-14 (A111)
- Luentokalvot pdf mv2 mv6 vä1 (suomeksi)
- Acrobat Connect Professional taltio yhteenvetoluennosta ei aivan onnistunut teknisten ongelmien vuoksi. Taltio on kahdessa osassa ja jälkimmäisen osan alusta puuttuu ääni 17:26 minuutin ajalta.
Sorry.
- Osa 1 https://connectpro.helsinki.fi/p10999153/ (23:23 minuuttia)
- Osa 2 https://connectpro.helsinki.fi/p16669720/ (56:37 minuuttia, josta alussa 17:26 ilman ääntä)
- Ryhmätapaaminen (Group meeting)
- Kotitehtävät lh6 (Homeworks lh6E)
- TitoTrainer tehtävät tasolla E (TitoTrainer problems at Level E)
Viikko 17 (21-25.4.2008) Week 17
- Ryhmätapaaminen (Group meeting)
- TitoTrainer tehtävät tasolla F (TitoTrainer problems at Level F)
- 25.4.2008 klo 23:00 Projekti valmistuu: pr1 (Project completes pr1E)
Viikko 18 (28.4.-2.5.2008) Week 18
- 28.4.2008 Kurssikuulustelu (Course examination)
- Ylimääräinen projekti pr2 alkaa (Extra project pr2E begins)
Viikko 19 (5-9.5.2008) Week 19
- 6.5.2008 klo 09:00 Ylimääräinen projekti pr2 valmistuu (Extra project pr2E completes)
- 6.5.2008 klo 09:00 Arvosanaan vaikuttavien TitoTrainer tehtävien (pr3) tekemisen deadline.
(Deadline to do TitoTrainer problems (pr3) that count towards your grade)
Viikko 24 (9-13.6.2008) Week 24
- 13.6.2008 Tietokoneen toiminta -erilliskuulustelu, joka toimii myös tämän luentokurssin uusintakuulusteluna
(CO-I final exam, that also is a make-up exam for Course Examination for this lecture course)
Kirjallisuutta ja muita viitteitä (References)
- [Stal06] William
Stallings, Computer Organization and Architecture - Designing for Performance,
7th Ed., Prentice Hall, 2006.
- William Stallings'in kotisivu.
- William Stallings'in oma tukisivu kurssikirjaa käyttäville opiskelijoille ja opettajille.
- Yliopistokirjakauppa Exactumissa myy kirjaa ale-hintaan 59,90€ (31.1.2008)
- CourseSmart.com, 6 kk verkkoversio, $62.25 (31.1.2008)
- Suomalainen.com, kovakantinen US edition, 127,90€ (31.1.2008)
- Akateeminen kirjakauppa, kovakantinen UK-edition, 74.90€ (31.1.2008)
- Amazon.uk, kovakantinen, £47.49 uusi ja £35.22 alkaen vanhat (31.1.2008)
- Otan mielelläni vastaan opiskelijoiden tietoja siitä, mistä tätä kirjaa kulloinkin on saatavana mihinkin hintaan. Välitän tietoja eteenpäin muille opiskelijoille tällä foorumilla.
- [Stal03] William Stallings, Computer Organization and Architecture - Designing for Performance, 6th Ed., Prentice Hall, 2003.
- [Häkk98] Auvo Häkkinen, Tietokoneen toiminta, opetusmoniste
D390 (ikivanha kurssimoniste), Tietojenkäsittelytieteen laitos, Helsingin
yliopisto, 30.1.1998. Monistetta voi ostaa TKTL:n monistemyynnistä hintaan 15€.
- Monisteen painovirhelista
- Monisteen painovirhelista
- [Tane06] Andrew S. Tanenbaum, Structured Computer Organization, 5th Ed, Prentice-Hall, 2006.
- [Tane99] Andrew S. Tanenbaum, Structured Computer Organization, 4th Ed, Prentice-Hall, 1999.
- [PaHe98] Patterson & Hennessy, Computer Organization and Design - The Hardware/Software Interface, 2nd Ed, Morgan Kaufmann, 1998.
- [Scra92] Greg
W. Scragg, Computer Organization - A Top Down Approach, McGraw-Hill,
1991.
- Ttk-91 -tietokoneen simulaattorijärjestelmä Titokone on kopioitavissa
verkosta titokone sivustolta.
Titokone, the current ttk-91 simulator system, is available in web in page titokone.
- Luennolla käytettyjä (ja muita) ttk-91 -esimerkkejä (ttk-91 example programs) sekä aikaisempien kurssien esimerkkejä on myös verkossa. Kopioikaa ne omaan käyttöönne omaan hakemistoonne.
- Sanakirjoja
- Slides for
Principles Of Computer Architecture, Miles J. Murdocca and Vincent P.
Heuring
(vähän Titoa vastaavan kurssin luentokalvot) - Merkit ja koodaukset, Jukka Korpela, TTYO, link ok 31.1.2008.
- ISO Latin 9 as compared with ISO Latin 1, Jukka Korpela, TTYO, link ok 31.1.2008.
- The Java Virtual Machine Specification, Second Edition, Tim Lindholm, Frank Yellin, Sun Microsystems (1999), link ok 31.1.2008.
- IEEE-754 Calculators Christopher Vickery, Computer Science Department at Queens College of CUNY (The City University of New York), link ok 31.1.2008.
- Koksi
- Aikaisemmin opetuskäytössä ollut ja edelleen ainakin vanhemmissa Windows-järjestelmissä toimiva konekielisimulaattori KOKSI (koksi.zip) on myös kopioitavissa verkosta, tekijänsä Auvo Häkkisen sivuilta.
- esimerkkikoneen TTK-91 käskykannan kuvaus.
- Kimmo Palinin Linux TTK-91 simulaattori. Käyttö omalla vastuulla. Käyttö-ohjeita löytynee Kimmo Palinilta itseltään (ja uutisryhmistä).
- Heikki Lindholmin dosemu_ohje.txt Koksin (alkup. Windows-version) käyttämiseen Linux-PC:ssä Dos-emulaattorin avulla. Käyttö omalla vastuulla.
- KOKSI-simulaattoria käytettäessa esimerkkiohjelmat on kopioitava samaan hakemistoon kuin mihin KOKSI on asennettu!
- Older KOKSI ttk-91 simulator: koksi.zip
- [KariA] Introduction to the KOKSI simulator by Kalle Karinen (student project)
- [KariB] A summary of TTK-91 instructions by Kalle Karinen (student project)
- [Liu] TTK-91 Memory addressing by Song Liu (student project)
- The KOKSI simulator (koksi.zip) can be downloaded from here. Download it into some directory (e.g., koksi) and unzip the files contained.
- With older Koksi simulator, copy programs into your own koksi directory.