Maskinorienterad programmering
Machine Oriented Programming
Om kursplanen
Betygsskala
Kursens moduler
Inplacering
Kursen kan ingå i följande program:
- Datavetenskap, kandidatprogram (N1COS)
Kursen ges även som fristående kurs vid Göteborgs Universitet.
Huvudområde med fördjupning
Behörighetskrav
Kurserna DIT792 Grundläggande datorteknik, eller motsvarande samt DIT013 Imperativ programmering med grundläggande objektorientering, eller motsvarande, godkända.
Innehåll
Kursen är en introduktion till konstruktion av små inbyggda system och ger en förståelse för hur imperativa styrstrukturer översätts till assembler samt en förståelse för de svårigheter som uppstår vid programmering av händelsestyrda system med flera indatakällor.
Programutveckling i C och assemblerspråk, test och felsökning. Strukturerad assemblerprogrammering, grunder för kodgenerering. Första nivåns systemprogrammering, dvs. hur datorn programmeras för start från spänningstillslag och hantering av olika typer av undantag så som interna fel, händelser och avbrott. Programmering av kretsar för parallell in- och utmatning, tidshantering och programmering av räknarkretsar. Grunderna för datorkommunikation och programmering av kretsar för seriekommunikation. Dessutom implementeras ett enkelt tidsdelningssystem ( i C och assemblerspråk) med speciell tonvikt på användning av periferikretsar.
Mål
Efter avslutad kurs ska studenten kunna:
Kunskap och förståelse
- beskriva uppbyggnaden av en enchipsdator
- beskriva funktion och typisk användning av räknarkretsar, kretsar för parallell och seriell in- och utmatning
- beskriva och ge exempel på undantag och undantagshantering
- beskriva hur översättning av C-program till maskinprogram (kompilering, assemblering och länkning) utförs i den använda programutvecklingsmiljön
- beskriva och förklara datatyper och lagringsklasser i programspråket C samt redogöra för motsvarande konstruktioner i assemblerspråk.
Färdigheter och förmåga
- utnyttja den i kursen använda programutvecklingsmiljön för implementering och test av programkod i C och assemblerspråk
- skriva enkla maskinorienterade C-program med användande av programspråkets datatyper och styrstrukturer
- skapa och använda datatyper och lagringsklasser i programspråket C
- speciellt använda "pekare" för maskinorienterad programmering i C
- skapa och använda programbibliotek i den använda programutvecklingsmiljön
- konstruera och använda sammansatta datatyper speciellt för maskinorienterad programmering
- översätta uttryck och styrstrukturer givna i programspråket C till
instruktionssekvenser i assemblerspråk.
Värderingsförmåga och förhållningssätt
- analysera funktioner, skrivna i programspråket C och översätta dessa till assemblerkod
- analysera enklare subrutiner, skrivna i assemblerspråk, och beskriva dessa i programspråket C
- konstruera programvara, i C och assemblerspråk, med olika former av in- och utmatning
- konstruera programvara, i C och assemblerspråk, för system innefattande olika typer av undantag (interna undantag, avbrott, återstart)
- utnyttja programutvecklingsmiljöns mekanismer för kodförbättring (optimering)
- utnyttja programutvecklingsmiljöns mekanismer för generering av effektiv och resurssnål maskinkod.
Hållbarhetsmärkning
Former för undervisning
Schemalagd undervisning består av föreläsningar, demonstrationer och handledda simulerings- och kodningsövningar. Dessutom utförs handledda obligatoriska laborationer. Under kursen konstruerar eleven större och större programblock i assembler och C. Teorin inhämtas genom föreläsningar och demonstrationer. Eleven konstruerar sina program och testar dessa med hjälp av simulatorer under simuleringsövningar och självstudier. Inför laborationer anpassar eleven sina program så att funktionen dessutom kan verifieras i hårdvara.
Undervisningsspråk: svenska
Examinationsformer
Obligatoriska laborationer och skriftlig tentamen.
Om en student som har underkänts två gånger på samma examinerande moment önskar byta examinator inför nästa examinationstillfälle ska en sådan begäran bifallas om det inte finns särskilda skäl däremot (6 kap. 22 § HF).
Om en student har fått besked om pedagogiskt stöd från Göteborgs universitet med rekommendation om anpassad examination och/eller anpassad examinationsform kan examinator, i det fall det är förenligt med kursens lärandemål och förutsatt att inte orimliga resurser krävs, besluta att bevilja studenten anpassad examination och/eller anpassad examinationsform.
Om en kurs har avvecklats eller genomgått en större förändring ska studenten erbjudas minst två examinationstillfällen, utöver ordinarie examinationstillfälle. Dessa tillfällen fördelas under en tid av minst ett år, dock som längst två år efter det att kursen avvecklats/förändrats. Vad gäller praktik och verksamhetsförlagd utbildning (VFU) gäller motsvarande, men med begränsning till endast ett ytterligare examinationstillfälle.
Om en student har fått besked om att denne uppfyller kraven för att vara student vid Riksidrottsuniversitetet (RIU-student) har examinator rätt att besluta om anpassning vid examination, om detta görs i enlighet med Lokala regler gällande RIU-studenter vid Göteborgs universitet
Betyg
Delkurser
- Skriftlig salstentamen, 4,5 hp
Betygsskala: Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3) och Underkänd (U) - Laboration, 3 hp
Betygsskala: Godkänd (G) och Underkänd (U)
På kursen ges något av betygen Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3) och Underkänd (U).
För att bli godkänd på kursen krävs att båda modulerna är godkända. Betyget för hela kursen avgörs av den skriftliga tentamen.
Kursvärdering
Kursen utvärderas genom möten, både under och efter kursen, mellan lärare och studentrepresentanter. Ett anonymt skriftligt frågeformulär skickas även ut till studenterna efter kursens slut. Resultaten av utvärderingarna används för att förbättra kursinnehållet och som indikation till vilka delar som skulle kunna läggas till, tas bort, förbättras eller ändras.
Övriga föreskrifter
Kursen är samläst med Chalmers.
Kursen ersätter kursen DIT151, 7,5 hp. Den här kursen kan inte ingå i en examen som innehåller DIT151. Den kan inte heller ingå i en examen som bygger på en annan examen där DIT151 ingår.