Kursöversikt

Kurs-PM

EDA483/DIT153, Maskinorienterad programmering VT2023 (7,5hp)

Kursen ges av Institutionen för Data och informationsteknik.

Kursens syfte

Kursens syfte är att vara en introduktion till konstruktion av små inbyggda system och att ge en förståelse för hur imperativa styrstrukturer översätts till assembler samt för de svårigheter som uppstår vid programmering av händelsestyrda system med flera indatakällor. I pedagogiskt syfte används traditionella in- utmatningsenheter som tangentbord, sifferindikatorer och LC-displayer. Utrustningen används tillsammans med en mikrodator (MD407). Allt finns tillgängligt både i form av maskinvara och som enheter i en simulator. Utrustningen används både för C- och assemblerprogrammering.

Schema

Kursen ges i form av schemalagda lektioner, laborationer och handledartillfällen (simuleringsövningar), tid och plats framgår av kursens hemsida. Observera att enstaka tillfällen kan avvika från schemat i TimeEdit.

Kontaktuppgifter

Examinator och kursansvarig: Roger Johansson, roger@chalmers.se

Laborationsansvarig: Elias Hällqvist haelias@chalmers.se

Kursnämndsrepresentanter:    

Kurslitteratur

Följande kurslitteratur, i tryckt form, används:

Lärobok: Om du redan har en bok om grundläggande C-programmering kan du förmodligen klara dig bra med den. Det finns också åtskilligt med god litteratur om grundläggande C på nätet. Om du planerar att skaffa en ny bok för kursen vill jag gärna framhålla "The C-programming language", Kernighan/Ritchie, ett klassiskt och tidlöst verk.

Lärobok/Arbetsbok: innehåller detaljerade beskrivningar och praktiska övningar för genomförande av laborationsprojekt.

  • "Maskinorienterad Programmering med MD407, Utgåva 6.3, ", Johansson, ISBN: 978-91-89280-31-1. Finns på Cremona.

Lärobok (ej nödvändig, går en bra bit utanför kursen, men kan rekommenderas för den intresserade)

  • "The Definitive Guide to ARM® Cortex® -M3 and Cortex-M4 Processors", Third Edition, Joseph Yiu, ARM Ltd, Cambridge, UK. ISBN-13:978-0-12-408082-9.

Utöver ovanstående används material som du kan ladda ner via kursens hemsida, dokument och programdistributioner. Dessutom ges länkar till resurser på Internet, typiskt avseende grundläggande C-programmering.

Program som används i kursen, finns såväl i STUDAT-datorer som i laborationssalar,  men du måste också installera dem på egna datorer du använder för dina distansstudier. Alla sådana programvaror är kostnadsfria.

Kursens upplägg

Under kursens lektioner introduceras och förklaras ny teori som belyses med praktiska exempel. Lektionernas innehåll finns dessutom sammanfattade i en uppsättning videoklipp. Det rekommenderas att du tittar på dessa inför lektionen. Efter lektionen kan du använda videoklippen för repetition.

Ett laborationsprojekt, där slutligen ett enkelt datorspel (av äldre modell) konstrueras, är kursens genomgående tema.  Uppgifter som är centrala i laborationsprojektet hämtas också till den slutliga tentamen. Vi rekommenderar därför starkt att kursens deltagare samarbetar sinsemellan med att lösa uppgifter, utan att samtidigt förlora individuella insikter och förståelse.

Handledning (simuleringsövningar) där du kan få hjälp av lärare och lärarassistenter ges, varje vecka. 

Förändringar sedan förra kurstillfället

Kursen ges i ett nytt "hybridformat" där föreläsningar hålls i traditionell salsundervisning som samtidigt strömmas och kan följas via Zoom. Detta ger möjlighet till begränsat deltagande på distans.

Medan kursinnehållet är det samma som tidigare har åtskilligt material bearbetats för att bättre passa "hybrid"-formen. Nytt material för självverksamhet har också lagts till.

För dig som följt en tidigare instans av denna kurs

Läroboken har reviderats. Nytt material för självverksamhet har också lagts till. Laborationerna har bearbetats.

För dig som följt en tidigare instans av denna kurs

Om du tidigare har varit kursregistrerad och  klarat av kursens laborationer, gäller detta även i denna kursinstans. Det betyder att du inte formellt behöver godkännas under de nya laborationerna.

Examination

Kursens innehåll examineras medelst en skriftlig tentamen på hela kursen (4,5 hp) samt en uppsättning laborationsuppgifter (3 hp). Betyg (U, 3-5) ges baserat på tentamensresultat och laborationsuppgifter. För godkänt slutbetyg (3-5) i kursen fordras godkänd skriftlig tentamen såväl som godkända laborationsuppgifter.

Tillåtna hjälpmedel:

Under tentamen får endast häftet Quick Guide, MOP användas. Häftet kommer att delas ut under lektioner och kan också hämtas på studieexpeditionen (Data och Informationsteknik).

Betygsgränser:

Maximal poäng på tentamen är 50 och tentamenspoäng ger slutbetyg enligt:

  • EDA482: 20p ≤ betyg 3 < 30p  ≤  betyg 4 < 40p ≤  betyg 5
  • DIT153: 20p ≤  betyg G < 35p ≤ VG

Lärandemål och kursplan

Efter fullgjord kurs ska studenten kunna

  • skriva enkla assemblerprogram med användande av den valda arkitekturens instruktionsuppsättning.
  • skriva enkla C-program med användande av programspråkets datatyper och styrstrukturer.
  • beskriva motsvarigheten i assembler till typiska programstrukturer i C.
  • utnyttja de i kursen använda verktygen för programutveckling på ett adekvat sätt.
  • konstruera system innefattande olika typer av undantag (interna undantag, avbrott, återstart).
  • beskriva och exemplifiera några olika typer av digitala kringkomponenter och deras användning.

Chalmers kursplan.

Göteborgs Universitets kursplan