Kurssin aikataulu ja sisältö
Tietokoneen toiminta (4 op), Kevät 2010
Computer Organization I (4 cr), Spring 2010
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.
18.10.2010 TitoTrainer on muuttanut. Uusi osoite on http://titotrainer2.users.cs.helsinki.fi.
20.5.2010 Kurssin arvostelu on valmistunut. Kurssin tulokset ja kurssikuulustelun arvosteluperusteet ovat näkyvillä verkossa muutaman viikon ajan.
Course grading is completed. Course results and exam grading guidelines (only in Finnish, sorry) are in the web for a few weeks.
31.3.2010 Kirjanpitolistalta on poistettu opiskelijat, joilla ei ole suorituksia vielä. Jos teitä ei tarkistuslistalla, mutta olette vielä suorittamassa kurssia, pyytäkää luennoitsijaa palauttamaan teidät listoille.
Seemingly passive students have been removed from the bookkeeping list. If there is an error in your part, please contact the lecturer.
22.3.2010 Kaikkien tulisi olla tämän viikon jälkeen opintopiirissä eli kaikkien nimi tulisi löytyä projektin 2 statussivulta. Jos teillä ei ole vielä opintopiiriä ja haluatte minun yrittää löytävän teille opintopiiripartnerin tai kaksi, mailatkaa minulle asiasta 26.3 klo 12:00 mennessä. Opintopiirikavereita voi myös yrittää paikallistaa vielä tämän viikon harjoitustilaisuudessa.
Evrybody should be in study circles after this week and find their names in project 2 status page. If you still do not have a study circle and want me to find you partners for it, please email me about it by 26.3. noon. Please mention "English speaking only" in your email so that I do not pair you up someone not willing to speak English. One can also try to locate study circle partners in this week practice session.
19.3.2010 Palvelin http://db.cs.helsinki.fi bootattiin eilen illalla, jonka jälkeen Titotrainer2 ei toiminut. Asia korjattiin tänään noin klo 10:30.
Server http://db.cs.helsinki.fi was booted yesterday evening and Titotrainer2 has been down since. Problem was solved today around 10:30.
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. Opintopiirit ja niihin kuuluvat opiskelijat ovat näkyvissä projektin pr2 statussivulla.
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ä.
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.
Sisältö
- Tavoite
- Kurssin muoto
- Yleistä
- Ohjausajat
- Arviointi
- Opintopiirit
- Harjoitustehtävät ja harjoitustilaisuudet
- Verkkoluennot
- Titokone ja TitoTrainer
- Projektit
- HY Moodle
- Kurssin sisältö ja aikataulu
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ä opiskelijat ryhmäytyvät 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. 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 luentoja on yksi viikossa. Sen muotona on yhteenveto- ja keskusteluluento, joka käsittelee aikataulun mukaan edeltävän viikon asioita.
Yleistä
- Kurssiin liittyvät yleiset asiat (siis muut kuin erityisesti tähän verkkokurssiin liittyvät asiat) ovat kurssin kotisivulla.
- Tällä aikataulusivulla 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 (Instruction Schedule)
Ohjausajoilla tarkoitetaan niitä aikoja, jolloin kurssin vastuuhenkilö tai ohjaaja on henkilökohtaisesti paikalla.
Luennot Lectures |
Suomeksi |
ma 12-14 (CK112) |
Teemu Kerola |
In English |
Mon 14-16 (C220) | Teemu Kerola |
|
|
HUOM: |
ti 12-14 (C222) |
Päivi Kuuppelomäki |
ke 14-16 (B119) |
Teemu Kerola |
||
ke 16-18 (C222) | Heikki Korhola |
||
pe 12-14 (C222) |
Päivi Kuuppelomäki | ||
Kurssikuulustelu Exam |
3.5.2010 16-19 (A111) |
Kokeet/Exams K2010 check! |
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ä): 6 p, minimivaatimus 1 p
- Tehtävät arvioidaan harjoitustehtäväpisteinä (htp), jotka skaalataan lineaarisesti arvosanaan vaikuttaviksi pisteiksi. Maksimipisteet saa noin 90%'lla max htp:stä.
- Projektit: 14 p, minimivaatimus 1 p
- Projektit arvioidaan projektipisteinä (pp), jotka skaalataan lineaarisesti arvosanaan vaikuttaviksi pisteiksi.
- Projekti pr1: TitoTrainer tehtävät, 12 pp, minimivaatimus 0 pp
- Projekti pr2: Kertaustehtävien laadinta, 16 pp (8pp molemmista osista a ja b), minimivaatimus 0 pp
- Kurssikuulustelu: 40 p, minimivaatimus 20 p
- Koepisteet vaikuttavat sellaisenaan arvosanaan
- Yhteensä: 60 p, 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, pr2a ja pr2b näkyvät kirjanpidossa sarakkeilla HT1, HT2 ja HT3. Kurssin arvostelun valmistuttua tulokset ja kurssikuulustelun arvosteluperusteet ovat näkyvillä verkossa muutaman viikon ajan.
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.
Harjoitustehtävät ja harjoitustilaisuudet
Kotitehtävät 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 arvosanaan vaikuttavia pisteitä (htp) niiden vaativuuden mukaan, mutta vain tehdyistä tehtävistä ja vain harjoitustilaisuudessa koko ajan läsnäolleille.
Jos haluatte tehdä harjoitustehtäviä (tai muuten vain opiskella) yhdessä muiden opiskelijoiden kanssa, niin kurssin Moodle-sivulla on keskustelupalsta, jonka avulla voi koordinoida tällaista toimintaa. Esimerkiksi "Hei, Maija ja Matti ovat tekemässä laskareita salissa XYZ klo 14:30 alkaen. Mukaan mahtuuu muitakin." tai "Aloitimme juuri tekemään laskaria ABC salissa XYZ. Kukas tulisi auttamaan?". Synkronointikeskusteluryhmän käyttö on ihan kiinni itsestänne.
Harjoitustilaisuuksissa kokeillaan käytäntöä, jossa kaikki tehtävät käydään tehtäväkohtaisesti läpi opiskelijavetoisesti keskustellen. Ohjaaja jakaa opiskelijat harjoitustilaisuudessa pöytäkuntiin, joihin pyritään saamaan kuhunkin tehtävään ainakin yksi sen tehtävän ratkaissut opiskelija. Pöydissä voi otaksua, että opiskelijat ovat tutustuneet tehtäviin etukäteen ja ainakin yrittäneet ratkaista niitä. Jos opiskelija ei ole tutustunut tehtäviin etukäteen, hän ei pysty hyödyntämään harjoitustilaisuutta kunnolla. Harjoitustilaisuuden aika ei riitä kaikkien tehtävien huolelliseen läpikäyntiin, ellei tehtäviin ole perehdytty etukäteen.
Harjoitustehtävistä annetaan harjoitustilaisuudessa oikeat ratkaisut sillä tarkkuudella, että pöytäkunnat voivat itse tarkistaa tekemiensä ratkaisujen oikeellisuuden. Oikeita ratkaisuja laitetaan verkkoon seuraavalla viikolla. Jos/kun harjoitustehtävät on käyty läpi, pöytäkunta jatkaa keskustelua tilaisuudessa annettavien aihepiirien pohjalta. Jos pöytäkunta toteaa olevansa täysin valmis, sen jäsenet voivat siirtyä muihin pöytiin asiantunteviksi konsulteiksi. Kaikki ovat kuitenkin paikalla tilaisuuden loppuun asti.
Englanninkielisessä harjoitusryhmässä yksi tai useampi pöytäkunta voi olla englanniksi, jos tarvetta ilmenee. Jos pöytäkunta on englanniksi, niin se on sitten kokonaan englanniksi (tehtävien esittämiset, kysymykset ja vastaukset, kaikki keskustelu). Kaikkien englanninkieliseen harjoitusryhmään osallistuvien suomenkielisten opiskelijoiden tulee varautua siihen, että heidät voidaan sijoittaa englanninkieliseen pöytäkuntaan.
On erityisen opettavaista ja omaa oppimista tukevaa selittää asioita jollekin toiselle, joka myös on työskennellyt tehtävän ratkaisemiseksi. Muiden opiskelijoiden auttaminen hyödyntää kumpaakin osapuolta ja yleensä opastajaa enemmän. Älkää kuitenkaan pilatko harjoitustehtävän hyötyä toiselle antamalla sen vastausta suoraan. Eihän siitä juurikaan kostu kumpikaan. Hyvää oppimista saa aikaan vuorottelemalla (a) omaa opiskelua, (b) ongelmien ratkaisuja ja (c) keskusteluja ongelmista ja niiden ratkaisuista muiden opiskelijoiden kanssa.
Harjoitustehtävien tavoitteena on oppiminen, ei pinnojen kalastelu kurssin läpäisemiseksi tai paremman arvosanan saamiseksi. Oppiminen tapahtuu nimenomaan silloin, kun ajattelee ja tekee itse merkittävän osan ongelman ratkaisua sekä keskustelee ratkaisustaan ja ratkaisumenetelmästään muiden kanssa. Valmiiden vastausten lukemisella ei opi yhtä hyvin. Samanlaisia esimerkkejä on luennoilla ja kirjoissa, joten harjoitustehtävien valmiiden ratkaisujen käyttö pelkästään luettavina esimerkkeinä on oppimisen kannalta hyvien harjoitustehtävien hukkaan heittämistä.
Tilaisuuden ohjaaja toimii konsulttina kaikille pöytäkunnille.
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.
HUOM: Verkkoluennoista on nyt myös flash-versiot, joita voi katsoa (ja kuunnella) tavallisella selaimen Flash-liitospalikalla missä tahansa ympäristössä. Flash-versioissa ei kuitenkaan ole interaktiivista toimivuutta, vaan kukin luento muodostaa yhden selattavan jatkumon. Flash-versioiden koko on aika suuri, 6-23 MB per luento.
HUOM2: Flash-versioiden tekemisen jälkeen verkkoluentojen kehitystyötä ei enää jatketa, joten rakentavia kommentteja Authorware-luennoista ei enää kannata lähetellä. Flash-versioista niitä ei suoraan voikaan lähettää. Suuremmista puutteista tai palvelimien alhaallaolosta voi raportoida sähköpostitse.
Autorware verkkoluennot Macintosh-ympäristöissä
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 Authorware-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 (versio 2, TitoTrainer2), jonka avulla voidaan automaattisesti tarkistaa (Titokoneelle tehtyjen) ttk-91 -ohjelmien oikeellisuus. TitoTrainer pitää kirjaa suoritetuista tehtävistä ja niistä saa arvosanaan vaikuttavia pisteitä. Osa tehtävistä tehdään tavallisina harjoitustehtävinä ja loput projektissa pr1.
TitoTrainer'illä (versio 2) voi olla vielä lastentauteja. Lähettäkää tietoja uusista piirteistä ja ongelmista kurssin vastuuhenkilölle. 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 TitoTrainerin kirjautumissivulla. Kirjaa tunnuksesi samalla TitoTrainer-kurssille "Kevät 2010".
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.
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. TitoTrainer2:n toteutti alustavasti NextTito-ohjelmistotuotantoryhmä syksyllä 2008 hyödyntäen alkuperäisen TitoTrainerin spesifikaatioita ja määrittelyjä. Tuotantokäyttöön TitoTrainer2:n viimeisteli ja toteutti Martin Pärtel keväällä 2009. TitoTrainer2 on käytössä myös Aalto yliopistossa.
Projektit
Projekti 1 (pr1) tehdään itsenäisesti ja siihen kuuluu lisää ttk-91 ohjelmointiharjoittelua TitoTrainerin avulla.
Projekti 2 (pr2) tehdään opintopiirissä ja se käsittää kahden uuden kertaustehtävän laatimisen. Projekti palautetaan kahdessa osassa (pr2a ja pr2b).
Projekteista saa projektipisteitä (pp) projektin tulosten ja myös osittain opintopiirin toimintaan osallistumisen mukaan (pr2).
HY Moodle
HY Moodle on Helsingin yliopiston Moodle-installointi. Se on yleinen oppimisalusta verkko-opetukseen ja sitä käytetään tällä kurssilla lähinnä keskustelualueiden toteutukseen. Kurssin "titoK2010" avain on "titomoodle".
Kaikille yhteisellä alueella on keskustelupalstoja, mukaan lukien em. laskuharjoitusten yhdessä tekemisen synkronointipalsta.
Opintopiirit voivat halutessaan saada oman alueensa (ryhmän) kurssin Moodle-sivustolle. Tällöin (a) jokaisen opintopiirin jäsenten tulee ensin kirjautua kurssin Moodle-sivustolle yhden kerran, (b) mailatkaa ryhmän muodostamishalusta tieto luennoijalle (mukana valitsemanne ryhmän nimi ja kaikkien opintopiirin jäsenten nimet) ja (c) luennoija muodostaa ryhmän. Opintopiirin omalla alueella on joitakin työkaluja kuten wiki ja oma keskusteluryhmä. Jos tarvitsette lisää työkaluja, mailatkaa luennoijalle.
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. Lue asiat myös 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. Please read the corresponding material (also) in text books.
Viikko 10 (8-12.3.2010) Week 10
- Tutustu verkkomateriaaliin
(Familiarize your self with course web-material)
- Aikataulu, kurssikuvaus, oppimistavoitteet (Schedule, course description, learning goals)
- Kotitehtävät : lh1, esitietojen perusteella (Homeworks: lh1E, based on prerequisite knowledge)
Viikko 11 (15-19.3.2010) Week 11
- 15.3.2010 12-14 Aloitusluento
suomeksi. Hallintoa,
kurssin suoritusosiot, opintopiiritoiminta, verkkokomponentit
Tärkeätä olla paikalla, kiitos. - 15.3.2010 14-16 Opening lecture, in English. Admin, course components, study circles, web components.
Important to be present, please. - Harjoitukset (Practice Session)
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)
- projektien aikataulutus (Schedule for projects)
- opintopiirisopimuksen läpikäynti ja allekirjoitus (Study circle contract and signatures)
- tehtävien läpikäyntiä pienryhmissä: lh1 (Discussion in small groups: lh1E)
- vastaukset harj. tehtäviin lh1_answers (Answers to homeworks)
- Itseopiskelua, luento 1: Järjestelmän rakenne (System structure, self study)
- Verkkoluento lu01 (Authorware versio vain Windows'issa, ei W7)
(Authorware Web lecture lu01e in English, only in Windows, not in W7) - Ch 1 [Stal10] (Ch 1 [Stal06], Ch 1 [Stal03] )
- Kertauskysymyksiä (Practice Problems, some in English)
- Verkkoluento lu01 (Authorware versio vain Windows'issa, ei W7)
- Itseopiskelua, luento 2: TTK-91 -tietokone ja sen simulaattori (independent study, Ttk-91 and the simulator for it)
- Verkkoluento lu02 lu02f (Web lecture lu02e lu02ef in English)
- Ch 3.1, 10.1-3 [Stal10] (Ch 3.1, 10.1-3 [Stal06], Ch 3.1, 10.1-3 [Stal03] )
- Kertauskysymyksiä (Practice Problems)
- Itseopiskelua, luento 3: Konekielinen ohjelmointi (Self study, Assembly language programming)
- Verkkoluento lu03 lu03f (Web lecture lu03e lu03ef in English)
- Ch 10.4-7 [Stal10] (Ch 10.4-8 [Stal06], Ch 10.4-8 [Stal03] )
- Kertauskysymyksiä (Practice Problems)
- Kotitehtävät lh2 (homeworks lh2E)
- Aloita projekti pr1: TitoTrainer tekemällä kaikki tehtävät tasolla A
(Start pr1E: TitoTrainer by doing all problems at level A) - Opintopiiriprojekti alkaa: pr2 (Study circle project begins: pr2E)
Viikko 12 (22-26.3.2010) Week 13
- 22.3.2010 Kertausluento, luennot 1-3. (Summary lecture, in Finnish only. Sorry.)
- Ryhmätapaaminen
(Group meeting)
- tehtävien läpikäynti: lh2 (Discussion lh2E)
- vastaukset harj. tehtäviin lh2_answers (Answers to homeworks)
- keskustelua: Titokone, TitoTrainer (Discussion)
- Itseopiskelua, luento 4: Aliohjelmien toteutus konekielen tasolla (Self study: Assembly language subroutine implementation)
- Verkkoluento lu04 lu04f (Web lecture lu04e lu04f in English)
- Ch 10.4 [Stal10] ( Ch 10.4 [Stal06], Ch 10.4 [Stal03])
- Kertauskysymyksiä (Practice Problems)
- Itseopiskelua, luento 5: Suoritin (CPU) ja väylä (Self study: CPU and bus)
- Verkkoluento lu05 lu05f (No further web lectures in English. Sorry. Read the text books)
- Ch 3.1-3 [Stal10] ( Ch 3.1-3 [Stal06], Ch 3.1-3 [Stal03])
- Kertauskysymyksiä (Practice Problems)
- Itseopiskelua, luento 6: Tiedon esitysmuodot (Self study: Data representation)
- Verkkoluento lu06 lu06f
- Ch 10.1-3, App 10B[Stal10] ( Ch 10.1-3, App 10B [Stal06], Ch 10.1-3, App 10B [Stal03] )
- Kertauskysymyksiä (Practice Problems)
- Kotitehtävät lh3 (homeworks lh3E)
- TitoTrainer tehtävät tasolla B (TitoTrainer problems at Level B)
Viikot 13-14 (29-31.3.2010, 8-9.4.2010) Weeks 13-14
- 29.3.2010 Kertausluento, luennot 4-6. (Summary lecture, in Finnish only. Sorry.)
- Pääsiäisloma 1-7.4.2010 (Easter Break)
- Muista projektin pr2 (osa a) palautus pian pääsiäisen jälkeen
(Remember that project pr2 (part a) must be completed soon after Easter)
- Muista projektin pr2 (osa a) palautus pian pääsiäisen jälkeen
- Itseopiskelua, luento 7: Tiedon muuttumattomuus ja järjestelmän sisäinen muisti
(Self study: Error recovery and internal memory)- Verkkoluento lu07 lu07f
- Ch 4.1, 5.1-2 [Stal10] ( 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 lu08f
- Ch 8.1-2 [Stal10] ( Ch 8.1-2 [Stal06], Ch 8.1-2 [Stal03])
- Kertauskysymyksiä (Practice Problems)
- Ryhmätapaaminen (Group meeting)
- tehtävien läpikäynti: lh3 (Discussion lh3E)
- vastaukset harj. tehtäviin lh3_answers (Answers to homeworks)
- Kotitehtävät lh4 (Homeworks lh4E)
- TitoTrainer tehtävät tasolla C (TitoTrainer problems at Level C)
Viikko 15 (12-16.4.2010) Week 15
- 12.4.2010 klo 12:00 Projekti valmistuu: pr2 (osa a) (Project pr2E (part a) completes)
- palauta paperikopio, tekijöiden työprosenttiosuudet ja sähköpostitse linkki verkossa toimivaan kertaustehtävään
(return paper copy, author contribution percents, and email a link to the practice problem to be tried out in web)
- palauta paperikopio, tekijöiden työprosenttiosuudet ja sähköpostitse linkki verkossa toimivaan kertaustehtävään
- 12.4.2010 Kertausluento, luennot 7-8. (Summary lecture, in Finnish only. Sorry.)
- 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 lu09f
- Ch 6.1, 7.1-5 [Stal10] (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 lu10f
- Ch 7.3, 7.4 (21 pages) [Tane10] (Ch 7.3, 7.4 [Tane06], Ch 7.3, 7.4 [Tane99])
- Kertauskysymyksiä (Practice Problems)
- Ryhmätapaaminen (Group meeting)
- tehtävien läpikäynti: lh4 (Discussion lh4E)
- vastaukset harj. tehtäviin lh4_answers (Answers to homeworks)
- Kotitehtävät lh5 (Homeworks lh5E)
- TitoTrainer tehtävät tasolla D (TitoTrainer problems at Level D)
Viikko 16 (19-23.4.2010) Week 16
- 12.4.2010 Kertausluento, luennot 9-10. (Summary lecture, in Finnish only. Sorry.)
- Itseopiskelua, luento 11: Tulkinta ja emulointi (Self study: Interpretation and emulation)
- Verkkoluento lu11 lu11f
- Oppikirja: Ch 4.2 (9 pages) [Tane10] (Ch 4.2 [Tane06], Ch 4.2 [Tane99])
- Kertauskysymyksiä (Practice Problems)
- Ryhmätapaaminen (Group meeting)
- tehtävien läpikäynti: lh5 (Discussion lh5E)
- vastaukset harj. tehtäviin lh5_answers (Answers to homeworks)
- Kotitehtävät lh6 (Homeworks lh6E)
- TitoTrainer tehtävät tasolla E (TitoTrainer problems at Level E)
Viikko 17 (26-30.4.2010) Week 17
- 26.4.2010 12-14 Kertaus- (luento 11) ja yhteenvetoluento (luento 12) suomeksi,
- 26.4.2010 14-16 Summary lecture (lecture 12) in English
- Ryhmätapaaminen (Group meeting)
- tehtävien läpikäynti: lh6 (Discussion lh6E)
- vastaukset harj. tehtäviin lh6_answers (Answers to homeworks)
- TitoTrainer tehtävät tasolla F (TitoTrainer problems at Level F)
Viikko 18 (3-7.5.2010) Week 18
- 3.5.2010 klo 09:00 Projekti valmistuu: pr2 (part b) (Project pr2E (part b) completes)
- 3.5.2010 klo 09:00 Arvosanaan vaikuttavien TitoTrainer tehtävien (pr1) tekemisen deadline.
(Deadline to do TitoTrainer problems (pr1) that count towards your grade) - 3.5.2010 Kurssikuulustelu (Course examination)
Viikko 23 (7-11.6.2010) Week 23
- 11.6.2010 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)
- [Stal10] William
Stallings, Computer Organization and Architecture - Designing for Performance,
8th Ed., Prentice Hall, 2010.
- William Stallings'in kotisivu.
- William Stallings'in
oma tukisivu kurssikirjaa käyttäville opiskelijoille ja opettajille.
- Ch 19-21, Appendixes C-K, Example problems with solutions, etc
- Yliopistokirjakauppa Porthania tilasi kirjaa 50 kpl, saapunevat 20.10.2009, hinta 79€.
- 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.
- 29.1.2010 Kumpulan kampuskirjastossa kurssikirjahyllyssä lainattavana 15 kpl ja lukusalissa luettavana 5 kpl.
(7 books in Kumpula Campus Library as text books to be loaned out and 5 books in reading room) - Bokus bokhandel, 566 Kr eli noin 56€ plus postikulut plus ALV? (4.2.2010)
- [Stal06] William
Stallings, Computer Organization and Architecture - Designing for Performance,
7th Ed., Prentice Hall, 2006.
- Aikaisempi painos. Tämä sopii vielä Tito:on, mutta jatkokurssille (Tikra) tarvitaan 8. painos.
- 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)
- Bokus bokhandel, 601 Kr (2.3.2009) eli jotain 55€ ruotsin kruunun nykykurssin mukaan...
- [Stal03] William Stallings, Computer Organization and Architecture - Designing for Performance, 6th Ed., Prentice Hall, 2003.
- Jo vähän vanha painos, mutta sopii vielä Tito:on. Jatkokurssille (Tikra) tarvitaan kuitenkin 8. painos.
- Jo vähän vanha painos, mutta sopii vielä Tito:on. Jatkokurssille (Tikra) tarvitaan kuitenkin 8. painos.
- [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
- [Tane10] Andrew S. Tanenbaum, Structured Computer Organization, 5th Ed, Prentice-Hall, 2010 (same as [Tane06]).
- [Tane06] Andrew
S. Tanenbaum, Structured Computer Organization, 5th Ed, Prentice-Hall,
2006.
- 4.2.2010 lukusalissa 4 kappaletta. (4 books in reading room)
- [Tane99] Andrew S. Tanenbaum, Structured Computer Organization, 4th Ed, Prentice-Hall, 1999.
- 4.2.2010 kurssikirjahyllyssä 7 kappaletta. (7 books as text books to be loaned out)
- 4.2.2010 kurssikirjahyllyssä 7 kappaletta. (7 books as text books to be loaned out)
- [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.
- [Birn99] Dieter Birnbacher, The Socratic method in Teaching Medical Ethics: Potentials and Limitations, Medicine, health Care and Philosophy vol 2, pp 219-224 (Oct 1999).
- 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 4.2.2010.
- ISO Latin 9 as compared with ISO Latin 1, Jukka Korpela, TTYO, link ok 4.2.2010.
- The Java Virtual Machine Specification, Second Edition, Tim Lindholm, Frank Yellin, Sun Microsystems (1999), link ok 4.2.2010.
- IEEE-754 Calculators Christopher Vickery, Computer Science Department at Queens College of CUNY (The City University of New York), link ok 4.2.2010.
- 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.