Course syllabus

Kurs-PM

DAT017 / EDA482 / DIT153, Maskinorienterad Programmering VT2024 (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

Schemalagda lektioner, handledar- och laborations-tider ligger på TimeEdit. Observera att TimeEdit listar alla övnings och laborationstillfällen, och att en enskild student bara kommer gå på några få av dem. Mer information kommer finnas på Canvas så snart gruppindelningen är klar. 

Kontaktuppgifter

Examinator och kursansvarig: Erik Sintorn, erik.sintorn@chalmers.se

 

Laborationsansvarig: Elias Hällqvist - haelias@chalmers.se

Läsvecka 4-5:

Frågor angående laborationerna i form av examination kontakta examinator ovan. För övriga frågor om laborationerna exempelvis teorifrågor, förberedelse osv utanför sim-pass. Ställ främst din fråga i diskussionsforumet under discussions i menyn till vänster. Vill du inte ställa din fråga "offentligt" kan du maila:

Studentrepresentanter: 

TKDAT   gustavbrochmann@gmail.com       Gustav Brochmann
TKDAT   johansson.hampus501@gmail.com   Hampus Johansson
TKDAT   lukas.soderberg0404@gmail.com   Lukas Söderberg
TKDAT   emily.jo.tiberg@gmail.com       Emily Tiberg
TKDAT   edvin.zetterlund@gmail.com      Edvin Zetterlund
TKITE ev.dahlqvist@gmail.com  Emma Dahlqvist
TKITE samebra00@gmail.com     Sam Ebrahimi
TKITE jakob.grevle@hotmail.com      Jakob Grevle
TKITE gustav@hartwig.nu Gustav Hartwig
TKITE williamakerstrom03@gmail.com  William Åkerström

Kurslitteratur

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

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

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

Lärobok i C:

  • Ett kompendium om introduktion till C kommer att finnas tillgängligt på Canvas, och det kommer förmodligen vara tillräckligt för kursen. 
  • 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 som täcker allt om C vill jag gärna framhålla "The C-programming language", Kernighan/Ritchie, ett klassiskt och tidlöst verk.

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 kursen ges två lektioner i veckan där ny teori introduceras och förklaras. 

Handledning ges, två gånger varje vecka, där elever kan få hjälp av lärare och lärarassistenter. 

Ett laborationsprojekt ä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.

En exempelsamling ger möjligheter till självkontroll.

 

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

  • Laborationsserien bestod tidigare av fyra obligatoriska laborationer och ett mindre avslutande projekt. Detta är ändrat till fyra laborationer varav den fjärde är frivillig (men rekommenderad). 
  • Laborationstillfällena var tidigare 4h i sal, men har i år uppdaterats så att 2h i sal skall räcka. 
  • I årets instans kommer elever erbjudas 2x2h handledda övningspass (dubbelt så många som tidigare instanser)
  • Lektionernas organisation har setts över för att passa de nya laborationerna bättre och för att jämna ut arbetsbelastningen över kursens gång. 

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

  • Under LP4-2015/2016 infördes ett helt nytt laborationssystem i kursen (MD407). Detta påverkade utformningen av tentamen och det är därför olämpligt att använda äldre tentamina för övningsverksamhet.
  • Den nya laborationsserien är en central del av kursen och det är därför lämpligt att göra dessa laborationer även om man har ett godkännande från laborationer i den äldre instansen av kursen (MC12).
  • Under en övergångsperiod gavs tentamina anpassade även för det äldre laborationssystemet men sedan ht 2018 ges tentamina enbart anpassade efter det nya laborationssystemet. Detta är ytterligare ett incitament för varför du bör genomföra den nya laborationsserien även om du sedan tidigare är godkänd på laborationsmomentet.
  • Om du tidigare har varit kursregistrerad på EDA480,EDA481, EDA485, EDA486 eller DAT015, DAT016 och  klarat av laborationerna, kan du alltså tillgodoräkna dig detta moment i denna kurs. 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:

Endast Quickguiden tillåtet hjälpmedel. 

Betygsgränser:

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

 20p ≤ betyg 3 < 30p  ≤  betyg 4 < 40p ≤  betyg 5

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

 

Course summary:

Date Details Due