Tietokonejärjestelmät ¶
Ilmoittaudu Tietokonejärjestelmät, syksy 2018
Kurssin sisältö ¶
- OSA I Sulautetut järjestelmät
-
Harjoitus: Sulautetut Järjestelmät
0.00 / 0.00
- 2. Tietokoneen toiminta
-
Harjoitus: tietokoneen toiminta
2016-10-24, 07:070.00 / 0.00
- Johdanto: Pythonista C-kieleen
-
C-ohjelmoinnin peruspalikat
0.00 / 0.00
-
Lukujärjestelmät
0.00 / 0.00
- Bittioperaatiot Pythonissa
- Ohjausrakenteet Pythonissa
-
3. Bitit ja lukujärjestelmät
0.00 / 0.00
-
Harjoitus: Bitit ja lukujärjestelmät
0.00 / 0.00
- 4. Muuttujat C-kielessä
-
Harjoitus: Muuttujat C-kielessä
0.00 / 0.00
- 5. Bittioperaatiot C-kielessä
-
Harjoitus: Bittioperaatiot C-kielessä
0.00 / 0.00
- 6. Funktiot C-kielessä
- 7. Ohjausrakenteet C:ssä
-
Harjoitus: Ohjausrakenteet C:ssä
0.00 / 0.00
-
8. C-kielen syöte ja tulostus
0.00 / 0.00
- 9. Osoittimet
-
Harjoitus: Osoittimet
0.00 / 0.00
-
10. Tietorakenteet
0.00 / 0.00
-
Harjoitus: Tietorakenteet
0.00 / 0.00
- 11. C-kielen Esikääntäjä
- 12. Kirjastot
-
Harjoitus: Kirjastot
0.00 / 0.00
- FAQ: Vastauksia kysymyksiin ja palautteeseen
-
13. Sulautettu reaaliaikakäyttöjärjestelmä
0.00 / 0.00
- 16. Input / Output
- 17. Sarjaliikenne
- 18. Keskeytykset
- 20. SensorTagin oheislaitteista
- 15. Tilakoneet
-
19. Langaton viestintä
0.00 / 0.00
- Laboratorioharjoitus
-
JTKJ Harjoitustyö 2018
0.00 / 0.00
- OSA II Tietokonejärjestelmät
-
Harjoitus: Liukuluvut
0.00 / 0.00
- 2. Suoritinarkkitehtuuri
-
Harjoitus: y86 Assembly
0.00 / 0.00
- 4. Konekieli
-
Harjoitus: Konekieli
0.00 / 0.00
- 5. Käskysykli
-
Harjoitus: Käskysykli
0.00 / 0.00
- 6. Liukuhihnaprosessori
-
Harjoitus: Liukuhihnaprosessori
0.00 / 0.00
- 7. CISC vs RISC
-
Harjoitus: CISC vs RISC
0.00 / 0.00
- 8. Järjestelmäpalvelut ja poikkeukset
-
Harjoitus: Järjestelmäpalvelut ja poikkeukset
0.00 / 0.00
- 9. Muistihierarkia
-
Harjoitus: Muistihierarkia
0.00 / 0.00
- 10. Rinnakkaislaskenta
-
Harjoitus: Rinnakkaislaskenta
0.00 / 0.00
- 11. Tietokonejärjestelmän suorituskyky
-
Harjoitus: Suorituskyky
0.00 / 0.00
-
TKJ harjoitustyö 2018
0.00 / 0.00
- Kootut ohjeet ohjelmointiin
Kurssien yleiset asiat¶
Ilmoittautuminen¶
- WebOodissa kurssille ja laboratorioharjoitus-ryhmiin
- Lovelaceen ja työasemaluokkiin (harjoitukset) vaaditaan yliopiston käyttäjätunnukset. Erillistä tunnusta ei tarvitse tehdä.
Oppimateriaalit¶
Lovelacen luentomateriaali ja harjoitustehtävät. Oppikirjat eivät ole välttämättömiä. Kurssilla pyritään mahdollistamaan etäopiskelua.
Henkilökunta¶
- Luennot: TkT Teemu Leppänen
- Harjoitukset: DI Mika Oja, Teemu Leppänen
- Assistentit: Ella Juvonen, Mauri Miettinen, Olli Puhakka, Nuutti Räihä, Mikko Yliniemi
Yhteystiedot¶
- Sähköpostiosoite: computer-systems@lists.oulu.fi
- Kurssin Slack-kanava #jtkj2018 on vapaa keskustelualue kurssin asioista jne. Opetushenkilökuntaa on paikalla ainakin virka-aikana (arkisin 8-16).
- Slack-kanavalle lähetetään kutsu weboodissa oleviin sähköpostiosoitteisiin.
Tiedotus¶
Tiedotteet löytyvät virallisesti kurssin Noppa-sivulta. Noppa-sivuston kautta ne lähetetään myös Weboodissa kurssille ilmoittautuneiden sähköposteihin.
Seuraa siis postia aktiivisesti!
Kurssi(t) pähkinänkuoressa¶
Tämän kurssikokonaisuuden muodostaa kaksi kurssia:
- Johdatus tietokonejärjestelmiin (5op, 521287A)
- Tietokonejärjestelmät (8op, 521286A)
Kurssit on rakennettu siten, että Johdatus tietokonejärjestelmiin-kurssi on osa Tietokonejärjestelmät-kurssia. Johdatus-kurssin luennot ja tehtävät ovat siis samat. Jatko-osa Tietokonejärjestelmät (+3op) on joko pakollinen tai vapaaehtoinen, riippuen koulutusohjelmasta.
1. Johdatus tietokonejärjestelmiin (5op)¶
Tällä kurssilla tutustutaan tietokoneen perustoimintaan, C-ohjelmointikieleen ja laiteläheiseen ohjelmointiin C-kielellä. Tämä kurssi korvaa aiemman kurssin Laiteläheinen Ohjelmointi (521142A).
Kurssin oppimistavoitteet ovat, että opiskelija:
- Ymmärtää tietokoneen perustoiminnan
- Osaa tehdä pienimuotoisia C-kielisiä ohjelmia
- Osaa tehdä sulautettuun laitteeseen pienimuotoisia ohjelmia, joissa ohjataan I/O-laitteita
- Tunnistaa miten laiteläheinen ohjelmointi eroaa yleisestä ohjelmoinnista työasemalla
Kurssi on sisäisesti jaettu kahteen osaan
- osassa tutustutaan C-ohjelmointiin, perustuen
- luentomateriaaliin
- oppikirjoihin (eivät ole välttämättömiä)
- Kernigham & Ritchie: The C programming language (vähintään 2. painos)
- Jussi Kasurinen (2008) C-kieli ja käytännön ohjelmointi, Osa 1. Lappeenrannan teknillinen yliopisto, ISBN 978-952-214-532-1, ISSN 1459-3092
- osassa keskitytään laiteläheiseen ohjelmointiin C-kielellä sulautetulla laitteella, perustuen
- luentomateriaaliin
- laitteen käsikirjoihin ja komponettien datakirjoihin
Opetustapahtumat¶
Kurssin toteutus:
- Luennot, pidetään 7-8 kertaa. Materiaali julkaistaan Lovelacessa
- Materiaalin seassa luentoaiheita koskevia (ei-arvosteltavia) pieniä tehtäviä
- Lovelacessa C-kielen ja sulautetun laitteen harjoitustehtäviä
- Tehtäviä voi tehdä itsenäisesti tai ohjatuissa harjoituksissa, joissa on assistentteja vastaamassa kysymyksiin
- Jotkut harjoitustehtävät ovat tehty Tietokonejärjestelmät-kurssin (8op) opiskelijoille. Nämä on merkitty erikseen. Johdatus-kurssin opiskelijat saavat näistä lisäpisteitä.
- Deadline ennen laboratorioharjoitusta
- Pakollinen laboratorioharjoitus, jonka jälkeen sulautetun laitteen saa kotilainaan.
- Kurssin harjoitustyönä laajempi ohjelma sulautetulle laitteelle. Harjoitustyö on mitoitettu parityöksi, mutta sen voi tehdä myös yksin.
- Työtä voi tehdä itsenäisesti tai ohjatuissa harjoituksissa, joissa on assistentteja vastaamassa kysymyksiin
Aikataulut¶
Aikataulut löydät virallisesti Weboodista ja/tai Tuudosta!
Luennot¶
Pidetään Maanantai ja Perjantai.
Aika | Paikka | (Alustava) sisältö |
10.9. klo 12-14 | L1 | Kurssin aloitus; Sulautetut järjestelmät, Tietokoneen perustoiminta |
14.9. klo 8-10 | L1 | Bitit ja lukujärjestelmät, bittioperaatiot, C-kielen muuttujatyypit |
17.9. klo 12-14 | L1 | Funktiot, ohjausrakenteet, syöte ja tulostus |
21.9. klo 8-10 | L1 | Osoittimet, Tietorakenteet, Esikääntäjä, Kirjastot |
24.9. klo 12-14 | L1 | Laiteläheinen osuus; SensorTag-ohjelman rakenne, I/O |
28.9. klo 8-10 | L1 | Keskeytykset, Sarjaliikenne, Oheislaitteet |
1.10. klo 12-14 | L1 | Tilakoneet, Langaton Tiedonsiirto |
5.10. klo 8-10 | L1 | Lopputyön julkistus ja yleisiä ohjeita |
Harjoitukset¶
Harjoitusryhmät ovat yhteiset Ohjelmoinnin Alkeet-kurssin kanssa, mutta byrokratiasyistä ne on merkitty aina jommalle kummalle kurssille. Kaikki ryhmät eivät siis näy kurssin Weboodisivuilla ja luokkien ovikalentereissa lukee välillä Ohjelmoinnin alkeet ja välillä Tietokonejärjestelmät - paikalla on kuitenkin samat tutut naamat. Joten käyttäkää niitä ryhmiä, jotka parhaiten aikatauluun sopivat.
Harjoitukset pidetään luokissa TS135 tai TS137.
Maanantai | 10-12 |
14-16 | |
Tiistai | 8-10 |
Keskiviikko | 12-14 |
Torstai | 8-10 |
10-12 |
C-kielen harjoitustehtävät¶
Deadline osalle C-kielen tehtävistä on 1. Lokakuuta.
Tämä deadline on ehdoton, koska vaaditaan että opiskelijoilla on jo tietty C-kielen osaamisen taso ennen laboratorioharjoitusta, jossa tulisi keskittyä laitteen ohjelmoinnin opetteluun.
Laboratorioharjoitus¶
Laboratorioharjoitukset pidetään viikolla 40 1.-5. Lokakuuta. Jos teette harjoitustyön parityönä, niin tulkaa mahdollisuuksien mukaan samalle harjoitusvuorolle. Harjoituksista on myös mahdollista löytyy pari.
Harjoitustyö¶
Harjoitustyön deadline on Maanantai 19. Marraskuuta klo 23:59 2018.
Harjoitustyö arvostellaan erillisessä arvostelutilaisuudessa. Tarkemmat ohjeet harjoitustyömateriaalissa.
Arvostelu¶
- 50% arvosanasta tulee suoritettujen C-kielen ohjelmointiharjoitustehtävien pistemäärästä
- Lovelacen harjoitustehtävät on pisteytetty vaativuuden mukaan: 1-3p.
- 50% arvosanasta tulee harjoitustyöstä: arvosteluperusteet julkaistaan harjoitustyömateriaalissa.
2. Tietokonejärjestelmät (8op)¶
Tämä osa syventää kuvausta tietokoneen sisäisestä arkkitehtuurista ja toiminnasta.
Kurssin oppimistavoitteet ovat, että opiskelija:
- Ymmärtää tietokoneen arkkitehtuurin, toimintaperiaatteen ja sisäisen tiedonsiirron
- Tuntee keskusyksikön sisäisen rakenteen ja toiminnan
- Osaa tehdä pienimuotoisia assembly-kielisiä ohjelmia
Opetustapahtumat¶
Kurssin toteutus:
- Luennot, pidetään 7-8 kertaa.
- Luentomateriaali
- Lisäksi oppikirjat (eivät ole välttämättömiä)
- Bryant & O'Hallaron: Computer Systems: A Programmer's Perspective, 3. painos, ISBN 978-0134092669, 2016. Kappaleet 1-6, 8-9.
- Patterson & Hennessy: Computer Organization and Design, The Hardware/Software Interface, 5. painos, ISBN 978-0124077263, 2014. Kappaleet 1-2, 4-6.
- Lovelacessa harjoitustehtäviä
- Luentoaiheisia
- Pieniä Assembly-kielen tehtäviä
- Lopputyönä pienehkö assemblykielinen harjoitustyö.
Aikataulut¶
Aikataulut löydät virallisesti Weboodista ja/tai Tuudosta!
Luennot¶
Pidetään Maanantai ja Torstai.
29.10. klo 10-12 | TS101 | Kurssin aloitus; Assembly-kieli |
1.11. klo 10-12 | PR101 | Sisältö päivittyy.. |
5.11. klo 10-12 | TS101 | Sisältö päivittyy.. |
8.11. klo 10-12 | PR101 | Sisältö päivittyy.. |
12.11. klo 10-12 | TS101 | Sisältö päivittyy.. |
15.11. klo 10-12 | PR101 | Sisältö päivittyy.. |
19.11. klo 10-12 | PR101 | Sisältö päivittyy.. |
22.11. klo 10-12 | TS101 | Sisältö päivittyy.. |
Harjoitukset¶
Harjoitusryhmät ovat yhteiset Ohjelmoinnin Alkeet-kurssin kanssa, mutta byrokratiasyistä ne on merkitty aina jommalle kummalle kurssille. Kaikki ryhmät eivät siis näy kurssin Weboodisivuilla ja luokkien ovikalentereissa lukee välillä Ohjelmoinnin alkeet ja välillä Tietokonejärjestelmät - paikalla on kuitenkin samat tutut naamat. Joten käyttäkää niitä ryhmiä, jotka parhaiten aikatauluun sopivat.
Harjoitukset pidetään luokissa TS135 tai TS137.
Maanantai | 10-12 |
14-16 | |
Tiistai | 8-10 |
Keskiviikko | 12-14 |
Torstai | 8-10 |
10-12 |
Assembly-kielen harjoitustehtävät¶
Harjoitustehtävien deadline julkaistaan myöhemmin, mutta se tulee olemaan ennen Joulukuun puoliväliä.
Harjoitustyö¶
Harjoitustyön deadline julkaistaan myöhemmin, mutta se tulee olemaan ennen Joulukuun puoliväliä.
Arvostelu¶
Arvosana lasketaan keskiarvona niin, että Johdatus-kurssin pistemäärä on 50% arvosanasta ja tietokonetekniikan osuuden pistemäärä on 50% arvosanasta.
Tämän kurssiosuuden arvosana tulee suoritettujen Lovelacen tehtävien ja harjoitustyön mukaan
- Harjoitustehtävät on pisteytetty vaativuuden mukaan: 1-3p.
- Maksimipisteet ovat: 20p (harjoitustehtävät) + 10p (harjoitustyö) = 30p.
- Kurssisuoritus edellyttää suorituksia sekä harjoitustehtävissä että harjoitustyössä.
- Läpipääsyyn (arvosana 1) vaaditaan vähintään puolet maksimipisteistä.
Apua harjoitustehtäviin¶
Paras tapa saada apua harjoitusaikojen ulkopuolella on kysyä kurssin Slack-kanavalla tai sähköpostilla osoitteesta
computer-systems@lists.oulu.fi
. Helpointa ongelmia tuottavien tehtävien kohdalla on jakaa assistenteille tehtävän vasemmalla puolella olevasta laatikosta ”<vastausten lukumäärä> answers” -linkin takaa löytyvä sivu. Tämä onnistuu aukaisemalla kyseisen sivun, kopioimalla sivun osoitteen selaimen osoitepalkista ja liittämällä osoitteen viestiisi. Voit myös klikata suoraan ”Help!”-linkkiä, joka lisää automaattisesti kyseisen osoitteen sähköpostiin. Muista myös kertoa viestissä varsinainen ongelmasi ja kysymyksesi!'
'
Vaihtoehtoisesti voit lähettää ongelmia tuottavan koodisi suoraan sähköpostin liitetiedostona kysymyksesi ja Lovelacen antaman palautteen kera; ilman kooditiedostoa (tai yrittämääsi vastausta) on usein mahdoton arvata, mistä ongelma johtuu. Älä liitä sähköpostiisi kuvia!
Kutsut Slack-kanavalle pitäisi olla lähetetty kaikille Weboodissa olevaan sähköpostiosoitteeseen – voit myös pyytää kutsua assareilta harjoituksissa tai kurssin sähköpostilistalta.