DM552: Programmeringssprog

Det Naturvidenskabelige Studienævn

Undervisningssprog: På dansk eller engelsk afhængigt af underviser, men engelsk ved internationale studerende
EKA: N330038112, N330038102
Censur: Intern prøve, en bedømmer, Intern prøve, to eller flere bedømmere
Bedømmelse: Bestået/Ikke bestået, 7-trinsskala
Udbudssteder: Odense
Udbudsterminer: Forår
Niveau: Bachelor

STADS ID (UVA): N330038101
ECTS-point: 10

Godkendelsesdato: 13-11-2020


Varighed: 1 semester

Version: Arkiv

Kommentar

Denne kursusbeskrivelse afløser 15014801 (tidligere UVA).

Indgangskrav

Ingen

Faglige forudsætninger

Stoffet fra DM550 Introduktion til programmering skal være kendt.
DM507 Algoritmer og Datastrukturer anbefales.

Formål

Kurset giver en introduktion til de vigtigste begreber og strukturen i programmeringssprog, med særligt fokus på det funktionelle paradigme. De studerende får mulighed for at lære de generelle principper for programmeringssprogdesign og de specifikke valg der kendetegner sprogparadigmerne. De vil udvikle en samlet forståelse af fordele og ulemper ved forskellige niveauer af abstraktion og programmeringssprogkonstruktioner, og samtidig opnå erfaring med programmering i andre sprog end mainstream objektorienterede sprog.

Kurset bygger på den viden, der er opnået i kurserne DM550 Introduktion til Programmering og DM507 Algoritmer og Datastrukturer. Det giver et fagligt grundlag for valg af kurser eller bachelorprojekter i programmeringssprog senere i uddannelsen.

I forhold til uddannelsens læringsresultater har kurset et eksplicit fokus på at:

  • udvikle færdigheder i programmering i forskellige typer programmeringssprog
  • udvikle færdigheder i at analysere fordele og ulemper ved forskellige sprogkonstruktioner
  • udvikle færdigheder i at beslutte og begrunde professionelle beslutninger
  • at give kompetence til at identificere ens eget behov for at lære og strukturere sin egen læring i forskellige læringsmiljøer

Målbeskrivelse

Kursets læringsmål er, at den studerende demonstrerer evnen til at:

  • identificere og beskrive de vigtigste egenskaber ved og strukturer i et programmeringssprog
  • skelne og udvikle enkle programmer i de vigtigste programmeringsparadigmer
  • løse ikke-trivielle programmeringsopgaver i et funktionelt programmeringssprog ved at skrive klar og korrekt kode

Indhold

Følgende hovedemner er indeholdt i kurset:

  • Scope-regler
  • Stack of activation records
  • Heap, Memory management
  • Sequence control, procedurer, rekursion
  • Typer, Parametre, Exceptions
  • Funktionssprog: højere orden, polymorfisme, lister, lazy evaluation

Litteratur

Se itslearning for pensumlister og yderligere litteraturhenvisninger.

Eksamensbestemmelser

Forudsætningsprøve a)

Tidsmæssig placering

Forår

Udprøvninger

Et antal programmeringsopgaver

EKA

N330038112

Censur

Intern prøve, en bedømmer

Bedømmelse

Bestået/Ikke bestået

Identifikation

Fulde navn og SDU brugernavn

Sprog

Følger, som udgangspunkt, undervisningssprog

Hjælpemidler

Oplyses på kurset.

ECTS-point

0

Uddybende information

Forudsætningsprøven er en forudsætning for deltagelse i eksamenselement a)

Eksamenselement a)

Tidsmæssig placering

Juni

Forudsætninger

Type Forudsætningsnavn Forudsætningsfag
Delprøve Forudsætningsprøve a) N330038101, DM552: Programmeringssprog

Udprøvninger

Skriftlig eksamen

EKA

N330038102

Censur

Intern prøve, to eller flere bedømmere

Bedømmelse

7-trinsskala

Identifikation

Fulde navn og SDU brugernavn

Sprog

Følger, som udgangspunkt, undervisningssprog

Varighed

2 dage - 4 timer (første dag) + 2 timer (anden dag - peergrade) 

Hjælpemidler

Ikke angivet, nærmere beskrivelse af eksamensreglerne vil blive offentliggjort i itslearning.

ECTS-point

10

Uddybende information

Bedømmelse afgives på baggrund af en overordnet vurdering af den skriftlige eksamen.
Eksamensformen ved reeksamen kan være en anden end eksamensformen ved den ordinære eksamen.

Vejledende antal undervisningstimer

82 timer per semester

Undervisningsform

På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.

  • Introfase (forelæsning, holdtimer) - 40 timer
  • træningsfase: 42 timer

Kurset indeholder forelæsninger, problemløsning og programmering. I forelæsningerne vil teorien blive dækket, dels via en dialog med de studerende. Målet med problemløsningen er en bedre forståelse af teorien, og gennem programmering får de studerende erfaring med udfordringerne og fordelene ved "non-imperative" programmeringssprog.

Aktiviteter i studiefasen: Programmering og små projekter.

Ansvarlig underviser

Navn E-mail Institut
Jacopo Mauro mauro@imada.sdu.dk Concurrency

Skemaoplysninger

Administrationsenhed

Institut for Matematik og Datalogi (datalogi)

Team hos Uddannelsesjura & Registratur

NAT

Udbudssteder

Odense

Anbefalede studieforløb

Profil Uddannelse Semester Udbuds periode