Introduction to C Programming for Embedded Devices. 3ECTS¶
Kurssin sisältö on osa 8 opintopisteen kurssia, jota opetetaan Oulun yliopistossa nimellä Computer Systems
Tämä kurssi keskittyy seuraaviin aiheisiin:
- Yleiskatsaus tietokonearkkitehtuuriin ja suoritin (CPU)
- Johdatus sulautettuihin järjestelmiin
- Datan esittäminen ja muistin hallinta
- Johdatus C-ohjelmointiin: muuttujat, funktiot, ohjausrakenteet, osoittimet ja tietorakenteet
- Bittitaso-operaatiot: arvojen lukeminen ja kirjoittaminen rekistereistä
- Kääntöympäristö: kirjastot ja makefile-tiedostot
Kurssi voidaan suorittaa Lovelaceen tarjotun oppimateriaalin avulla.
Lisäkirjallisuus
- 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
- Patterson & Hennessy, Computer Organization and Design, 5th Edition: The Hardware/Software Interface, 5th edition. (Vain ensimmäinen luku)
- Bryant & O'Hallaron, Computer Systems: A Programmer's Perspective, 3rd edition. (Vain ensimmäinen luku)
Ilmoittautuminen¶
Kirjautuminen Lovelace-järjestelmään¶
Lovelace kuuluu Oulun yliopiston kirjautumisjärjestelmän piiriin. Klikkaa siis oikealta ylhäältä "Kirjaudu sisään" ja valitse aukeavalta sivulta "Kirjaudu sisään yliopiston tunnuksella". Ulkopuoliset opiskelijat, joilla ei ole yliopiston tunnusta voivat luoda erillisen tunnuksen Lovelace-järjestelmään. Konfliktien välttämiseksi itse luotu käyttäjätunnus ei voi olla sähköpostiosoite. Katso myös tarvittaessa Yliopiston yleinen kirjautumisohje.
Ilmoittautuminen Lovelacessa¶
Jotta voit vastata kurssin tehtäviin, sinun tulee ilmoittaa osallistumisesi Lovelacessa. Ilmoittautuminen onnistuu järjestelmän etusivulta, tai kurssitilan etusivulta (Introduction to C Programming for Embedded Devices > Fitech 2024/2025). Kun ilmoittaudut sinun pitäisi saada myös automaattisesti sähköposti, joka sisältää kurssilla työskentelyn kannalta oleelliset linkit joita emme voi jakaa julkisesti tällä sivustolla. Lovelace saa sähköpostisi Peppi-tietojen kautta, joten uusilla tunnuksilla sähköpostit tulevat yliopistolta saamaasi osoitteeseen. Vanhoilla tunnuksilla on mahdollista, että postit tulevat johonkin muuhun osoitteeseen, jonka olet ilmoittanut tunnuksia luotaessa.
Kurssin toteutus¶
- Lue kappaleet 1-13 Lovelacesta.
- Lisäksi voit katsoa Computer Systems videoita ja kalvoja, jotka löydät Luentomateriaalil. Vain luennot 1-7 kuuluvat tämän kurssin aiheisiin.
- Suorita C-harjoitukset Lovelacessa (yhteensä 27 pistettä).
- Suorita Summary Quizz (yhteensä 3 pistettä).
Aikataulu¶
Voit suorittaa kurssin omaan tahtiisi.
Kurssiarvostelu¶
Tämä kurssi arvioidaan hyväksytty/hylätty. Kun suoritat kurssin hyväksytysti, voit saada osaamismerkin.
Hyväksyttyyn suoritukseen vaaditaan:
- Vähintään 25 / 30 pistettä.
- Vähintään 70 % oikein Yhteenvetovälikoe -kyselyssä.
Uusintakoe¶
Jos et saanut testissä 70 % oikein vastauksia:
- Katso läpi kysymykset, joihin vastasit väärin. Yritä etsiä tietoa Lovelacesta tai kysy apua.
- Käy kaikki materiaalit uudelleen läpi.
- Kahden viikon kuluttua voit yrittää koetta uudelleen.
- Jos epäonnistut myös toisella yrityksellä, sinun täytyy suorittaa koko kurssi uudelleen ensi vuonna.
Apua harjoitustehtäviin¶
Paras tapa saada apua on kysyä kurssin Discord channel tai sähköpostilla osoitteesta
computer-systems@lists.oulu.fi. Lisää sähköpostin aihekenttään alussa [CEMB].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!