Datateknik GR (C), Programspråksteori, 7,5 hp

Observera att litteraturen i kursplanen kan ändras/revideras fram till: 
• 1 juni för en kurs som startar på höstterminen
• 15 november för en kurs som startar på vårterminen
• 1 april för en kurs som startar på sommaren 

Skriv ut eller spara kursplanen som PDF

Du kan enkelt skriva ut en kursplan direkt från webbsidan. Använd kortkommandot ctrl+p (Windows) eller command+p (Mac). I nästa steg väljer du om du vill skriva ut eller spara kursplanen som PDF.

 

För en nedlagd kurs kan eventuell information om avvecklingsperiod hittas under rubriken "Övergångsregel" i senaste versionen av kursplanen.


Versioner:

Kursplan för:
Datateknik GR (C), Programspråksteori, 7,5 hp
Computer Engineering BA (C), Theory of Programming Languages, 7.5 Credits

Allmänna data om kursen

  • Kurskod: DT096G
  • Ämne huvudområde: Datateknik
  • Nivå: Grundnivå
  • Progression: (C)
  • Högskolepoäng: 7,5
  • Fördjupning vs. Examen: G1F - Kursen ligger på grundnivå och fordrar mindre än 60 hp kurs(er) på grundnivå som förkunskapskrav.
  • Utbildningsområde: Teknik 100%
  • Ansvarig fakultet: Fakulteten för naturvetenskap, teknik och medier
  • Ansvarig institution: Data- och elektroteknik
  • Fastställd: 2010-03-10
  • Senast ändrad: 2022-11-14
  • Giltig fr.o.m: 2023-01-01

Syfte

Syftet med denna kurs är att förse studenten med en teoretisk grund inom programspråksteori. Det betyder främst introduktion av huvudsakliga konstruktioner av samtida programmeringsspråk som ger studenter de verktyg som är nödvändiga för kritisk utvärdering av olika språk och deras användbarhet i olika sammanhang.

Lärandemål

Efter avslutad kurs ska du kunna:
- beskriva olika paradigmer, grundläggande koncept och konstruktioner för olika språk samt kritiskt jämföra alternativ,
- tillämpa formella metoder för syntax och semantik hos språk,
- skapa algoritmer för lexikal och syntaktisk analys,
- relatera allmängiltiga verktyg för imperativ programmering inkluderande atomära datatyper, loopar och fält samt pekare och subrutiner,
- tillämpa objektorienterade egenskaper, såsom överlagring av operatorer och arv,
- förklara egenskaper hos alternativa paradigm, funktionell och logikprogrammering samt koncept och strukturer som dessa grundar sig på.

Innehåll

- Utvärdering av programmeringsspråk och programmeringsparadigmer
- Formell grammatik, syntax och semantik, lexikal och syntaktisk analys, parsning.
- Imperativ programmering, identifierare, variabler, deklarationer, uttryck, kontrollstrukturer och deras användning i Fortran, Pascal och C.
- Datatyper och strukturer: fält, poster, pekare och referenstyper.
- Procedurer och underprogram, block, räckvidd, parameteröverföring, nestade och rekursiva procedurer, egendefinierade operatorer
- Objektorienterad programmering. Klasser, inkapsling, run-time polymorfism, arv, mall. Översikt av Smalltalk, C++, Java.
- Funktionell programmering. Funktioner och notation av "lamda calculus". Funktionell programmering för typade och typlösa språk. Översikt av Lisp, Scheme och ML.
- Logikprogrammering. Mindre introduktion till predikatlogik och prövning av teorem. Grunderna i Prolog.
- Introduktion till samtidighet. Processer och trådar. Säker access till delat data. Språkliga stöd för samtidighet: semaforer, monitorer och meddelandeöverföring.

Behörighet

Datateknik GR (AB), 30 hp inkluderande Datateknik GR (A), Operativsystem introduktionskurs, 6 hp och Datateknik GR (B), Programmeringsmetodik, 6 hp. Matematik GR (A), 15 hp, inkluderande Diskret matematik, 6 hp.

Urvalsregler

Urval sker i enlighet med Högskoleförordningen och den lokala antagningsordningen.

Undervisning

Undervisningen består av cirka 15 % föreläsningar och 10 % handledda laborationer och 8 % övningar. Cirka 68 % av kurstiden är studietid utan lärare som du skall ägna åt inläsning av litteratur, förberedelser för laboration, eget laborerande, redovisning av uppgifter samt förberedelser för tentamen. Vid förändrad resurstillgång kan fördelningen ändras.

Examination

L105: Laborationer, med redovisning, 2,5 hp
Betygsskala: Underkänd (U) eller Godkänd (G)

M105: Muntlig examination, 5 hp
Betygsskala: På kursen ges något av betygen A, B, C, D, E, Fx och F. A - E är Godkänt, Fx och F är underkänt.

Betygskriterier för ämnet finns på www.miun.se/betygskriterier.

Om en student har ett beslut från samordnaren vid Mittuniversitetet om pedagogiskt stöd vid funktionsnedsättning, har examinator rätt att ge anpassad examination för studenten.

Begränsning av examination

Studenter registrerade på denna version av kursplan har rätt att examineras 3 gånger inom loppet av 1 år enligt angivna examinationsformer. Därefter gäller examinationsform enligt senast gällande version av kursplan.

Betygsskala

På kursen ges något av betygen A, B, C, D, E, Fx och F. A - E är Godkänt, Fx och F är underkänt.

Övrig information

Kursen kan inte ingå i samma examen som kurs med kod DTAC09 eller DT086G.

Litteratur

Välj litteraturlista:

Obligatorisk litteratur

  • Författare/red: R. W. Sebesta
  • Titel: Concepts of Programming Languages
  • Upplaga: 7th ed
  • Förlag: Pearson Education

Kolla om litteraturen finns på biblioteket

Sidan uppdaterades 2024-08-15