Tietokonejärjestelmät ¶
Ilmoittaudu Tietokonejärjestelmät, syksy 2017
Kurssin sisältö ¶
-
OSA I Sulautetut järjestelmät
0.00 / 0.00
-
Harjoitus: Sulautetut Järjestelmät
0.00 / 0.00
-
Johdanto: Pythonista C-kieleen
0.00 / 0.00
-
C-ohjelmoinnin peruspalikat
0.00 / 0.00
-
Lukujärjestelmät
0.00 / 0.00
-
2. Tietokoneen toiminta
0.00 / 0.00
-
Harjoitus: tietokoneen toiminta
2016-10-24, 07:070.00 / 0.00
-
3. Bitit ja lukujärjestelmät
0.00 / 0.00
-
Harjoitus: Bitit ja lukujärjestelmät
0.00 / 0.00
-
4. Muuttujat C-kielessä
0.00 / 0.00
-
Harjoitus: Muuttujat C-kielessä
0.00 / 0.00
-
5. Bittioperaatiot C-kielessä
0.00 / 0.00
-
Bittioperaatiot Pythonissa
0.00 / 0.00
-
Harjoitus: Bittioperaatiot C-kielessä
0.00 / 0.00
-
6. Funktiot C-kielessä
0.00 / 0.00
-
Lisämateriaali: Rakenteellinen ohjelmointi
0.00 / 0.00
-
Harjoitus: Funktiot C-kielessä
0.00 / 0.00
-
7. Ohjausrakenteet C:ssä
0.00 / 0.00
-
Harjoitus: Ohjausrakenteet C:ssä
0.00 / 0.00
-
Ohjausrakenteet Pythonissa
0.00 / 0.00
-
8. C-kielen syöte ja tulostus
0.00 / 0.00
-
Harjoitus: C-kielen Syöte ja tulostus
0.00 / 0.00
-
9. Osoittimet
0.00 / 0.00
-
Harjoitus: Osoittimet
0.00 / 0.00
-
10. Tietorakenteet
0.00 / 0.00
-
11. C-kielen Esikääntäjä
0.00 / 0.00
-
12. Kirjastot
0.00 / 0.00
-
Harjoitus: Kirjastot
0.00 / 0.00
-
13. Sulautettu reaaliaikakäyttöjärjestelmä
0.00 / 0.00
-
16. Input / Output
0.00 / 0.00
-
17. Sarjaliikenne
0.00 / 0.00
-
18. Keskeytykset
0.00 / 0.00
-
20. SensorTagin oheislaitteista
0.00 / 0.00
-
15. Tilakoneet
0.00 / 0.00
-
19. Langaton viestintä
0.00 / 0.00
-
Harjoitustyö
0.00 / 0.00
-
OSA II Tietokonejärjestelmät
0.00 / 0.00
-
2. Suoritinarkkitehtuuri
0.00 / 0.00
-
Harjoitus: y86 Assembly
0.00 / 0.00
-
4. Konekieli
0.00 / 0.00
-
Harjoitus: Konekieli
0.00 / 0.00
-
5. Käskysykli
0.00 / 0.00
-
Harjoitus: Käskysykli
0.00 / 0.00
-
6. Liukuhihnaprosessori
0.00 / 0.00
-
Harjoitus: Liukuhihnaprosessori
0.00 / 0.00
-
7. CISC vs RISC
0.00 / 0.00
-
Harjoitus: CISC vs RISC
0.00 / 0.00
-
8. Järjestelmäpalvelut ja poikkeukset
0.00 / 0.00
-
9. Muistihierarkia
0.00 / 0.00
-
Harjoitus: Muistihierarkia
0.00 / 0.00
-
10. Rinnakkaislaskenta
0.00 / 0.00
-
Harjoitus: Rinnakkaislaskenta
0.00 / 0.00
-
11. Tietokonejärjestelmän suorituskyky
0.00 / 0.00
-
Harjoitus: Suorituskyky
0.00 / 0.00
-
TKJ harjoitustyö 2019
0.00 / 0.00
- Kootut ohjeet ohjelmointiin
Syksy 2018¶
Kurssisivut julkaistaan Elokuun 2018 aikana.
Älä siis ilmoittaudu Lovelacessa vuoden 2017 kurssille!!
Kurssi 2017¶
Wanhat sivut...
Lovelace-järjestelmään sisäänkirjautuminen¶
KIrjautuminen yliopiston tunnuksilla, Lovelace on mukana tietohallinnon Shibboleth-järjestelmässä. Erillistä tunnusta ei tarvitse tehdä.
Apua harjoitustehtäviin?¶
Katso ohje sivun lopusta..
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¶
Tiedotukset löytyvät kurssin Noppa-sivulta. Noppa-sivuston kautta ne lähetetään myös Weboodissa kurssille ilmoittautuneiden sähköposteihin. Seuraa siis postia aktiivisesti!
Aikataulut löydät Weboodista ja tämän sivun lopusta.
- Luennot, pidetään 6-8 kertaa. Materiaali Lovelacessa (kunhan valmistuu..)
- Materiaalin seassa luentoaiheita koskevia 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ö tehdään parityönä.
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¶
Tiedotus kurssin Noppa-sivun ja Weboodin sähköpostin kautta. Luentoaikataulut löytyvät Webooista ja tämän sivun lopusta.
Kurssin toteutus:
- Luennot, pidetään 6-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ö.
Arvostelu¶
Arvosana lasketaan keskiarvona opintopisteiden mukaan niin, että Johdatus-kurssin pistemäärä on 50% arvosanasta ja tietokonetekniikan osuuden 50% arvosanasta.
Tämän kurssiosuuden arvosana tulee suoritettujen Lovelacen tehtävien ja lopputyön mukaan
- Harjoitustehtävät on pisteytetty vaativuuden mukaan: 1-3p.
- Maksimipisteet ovat: 20p (harjoitustehtävät) + 10p (lopputyö) = 30p
- Kurssisuoritus edellyttää suorituksia sekä harjoitustehtävissä että lopputyössä.
- Läpipääsyyn (arvosana 1) vaaditaan vähintään puolet maksimipisteistä
Kurssien yleiset asiat¶
Henkilökunta¶
- Luennot: Teemu Leppänen
- Harjoitukset: Teemu Leppänen, Mika Oja
- Assistentit: Ville Karsikko, Mauri Miettinen, Niklas Riikonen, Joonas Soudunsaari
Yhteystiedot¶
- Sähköpostiosoite: computer-systems@lists.oulu.fi
- Kurssin Slack-kanava #tkj2017 on vapaa keskustelualue kurssin asioista jne. Opetushenkilökuntaa on paikalla ainakin virka-aikana (arkisin 8-16).
Tiedotus¶
Tiedotus hoidetaan luennoilla, Slack-kanavalla ja Noppaan kurssisivuille, josta viesti menee Weboodissa oleviin sähköpostiosoitteisiin.
Ilmoittautuminen¶
- WebOodissa kurssille ja laboratorio-harjoitusryhmiin
- Lovelaceen ja työasemaluokkiin (harjoitukset) vaaditaan yliopiston käyttäjätunnukset
Aikataulut¶
JTKJ harjoitustehtävät ja -työ¶
1.10. klo 23:59 | Deadline C-kielen harjoitustehtäville |
24.11. klo 16:00 | Deadline kurssin harjoitustyölle |
TKJ harjoitustehtävät ja -työ¶
22.12. klo 23:59 | Deadline assembly-kielen harjoitustehtäville |
22.12. klo 23:59 | Deadline kurssin harjoitustyölle |
Luennot¶
Johdatus Tietokonejärjestelmiin (5op)
Luennot Maanantai ja Perjantai.
Aika | Paikka | Sisältö |
11.9. klo 12-14 | L1 | Kurssin aloitus; Sulautetut järjestelmät, Tietokoneen perustoiminta |
15.9. klo 8-10 | L1 | Bitit ja lukujärjestelmät, bittioperaatiot, C-kielen muuttujatyypit |
18.9. klo 12-14 | L1 | Funktiot, ohjausrakenteet, syöte ja tulostus |
22.9. klo 8-10 | L1 | Osoittimet, Tietorakenteet, Esikääntäjä, Kirjastot |
25.9. klo 12-14 | L1 | Laiteläheinen osuus: SensorTag-ohjelman rakenne, I/O |
29.9. klo 8-10 | L1 | Keskeytykset, Sarjaliikenne, Oheislaitteet |
2.10. klo 12-14 | L1 | Tilakoneet, Langaton Tiedonsiirto |
6.10. klo 8-10 | L1 | Lopputyön julkistaminen |
Tietokonejärjestelmät (8op)
Luennot Maanantai ja Torstai.
30.10. klo 10-12 | TS101 | Kurssin aloitus; Assembly-kieli |
2.11. klo 10-12 | TS101 | Sisältö päivittyy.. |
6.11. klo 10-12 | TS101 | Sisältö päivittyy.. |
9.11. klo 10-12 | L4 | Sisältö päivittyy.. |
13.11. klo 10-12 | TS101 | Sisältö päivittyy.. |
16.11. klo 10-12 | TS101 | Sisältö päivittyy.. |
20.11. klo 10-12 | TS101 | Sisältö päivittyy.. |
23.11. klo 10-12 | TS101 | Sisältö päivittyy.. |
Harjoitusten aikataulu¶
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 ovat joko luokassa TS137 (ensisijainen) ja/tai TS135.
Periodi 2:
Maanantai | 8-10 | TS135 / TS137 |
14-16 | TS135 / TS137 | |
Tiistai | 8-10 | TS135 / TS137 |
Keskiviikko | 12-14 | TS135 / TS137 |
Torstai | 8-10 | TS135 / TS137 |
Torstai | 12-14 | TS135 / TS137 |
Periodi 1:
Maanantai | 10-12 | TS135 / TS137 |
14-16 | TS135 / TS137 | |
Tiistai | 8-10 | TS135 / TS137 |
Keskiviikko | 12-14 | TS135 / TS137 |
Torstai | 8-12 | TS135 / TS137 |
Laboratorioharjoitukset¶
Alkavat maanantaina 2.10.2017. Opiskelijan tulee ilmoittautua WebOodissa yhteen ryhmään.
Jos työpari on ilmoittautunut eri ryhmiin, heidän olisi syytä tulla jompaankumpaan harjoitukseen yhdessä.
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.