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

Første dag:
Eksamen er uden hjælpemidler. Dog er det tilladt at anvende ordbogsprogrammet fra http://www.ordbogen.com/ i elektronisk form. Browserudgaven er ikke tilladt.

Det er ikke tilladt at anvende internettet udover adgangen til system DE-Digital Eksamen i forbindelse med download eksamensopgave og til aflevering af besvarelse i hhv. system DE-Digital Eksamen og PeerGrade.

Anden dag: 
Eksamen er uden hjælpemidler. Dog er det tilladt at anvende ordbogsprogrammet fra http://www.ordbogen.com/ i elektronisk form. Browserudgaven er ikke tilladt.
Det er ikke tilladt at anvende internettet udover adgangen til PeerGrade.

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
BA Centralt fag datalogi et-faglig særligt forløb for datamatikere - optag 1. september 2018, 2019 og 2020 Bachelor i datalogi | Odense 2 E20
BA Centralt fag datalogi et-faglig særligt forløb for datamatikere - optag 1. september 2018, 2019, 2020 og 2021 Bachelor i datalogi | Odense 2 E21
BA centralt fag i datalogi et-faglig - optag 1. september 2016 Bachelor i datalogi | Odense 3 E20
KA Sidefag i datalogi for centralt fag i biologi, fysik, kemi og idræt og sundhed - optag 1. september 2016, 2017 og 2018 Kandidat i datalogi | Odense 3 E20
KA Sidefag i datalogi for centralt fag i biologi, fysik, kemi og idræt og sundhed - optag 1. september 2018 Kandidat i datalogi | Odense 3 E21
BA centralt fag i datalogi et-faglig - optag 1. september 2017 Bachelor i datalogi | Odense 4 E20
BA centralt fag i datalogi et-faglig - optag 1. september 2018 Bachelor i datalogi | Odense 4 E21
BA centralt fag i datalogi et-faglig - optag 1. september 2018 Bachelor i datalogi | Odense 4 E20
BA centralt fag i datalogi et-faglig - optag 1. september 2019 Bachelor i datalogi | Odense 4 E21
BA centralt fag i datalogi et-faglig - optag 1. september 2019 Bachelor i datalogi | Odense 4 E20
BA centralt fag i datalogi et-faglig - optag 1. september 2020 Bachelor i datalogi | Odense 4 E20
BA centralt fag i datalogi et-faglig - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E21
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2018 Bachelor i datalogi | Odense 4 E21
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2018 Bachelor i datalogi | Odense 4 E20
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2019 Bachelor i datalogi | Odense 4 E21
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2019 Bachelor i datalogi | Odense 4 E20
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2020 Bachelor i datalogi | Odense 4 E20
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E21
BA centralt fag i datalogi to-faglig med sidefag i matematik - optag 1. september 2017 Bachelor i datalogi | Odense 4 E20
BA centralt fag i datalogi to-faglig med sidefag i matematik - optag 1. september 2020 Bachelor i datalogi | Odense 4 E20
BA centralt fag i datalogi to-faglig med sidefag i matematik - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E21
Ikke længere gældende per 31. august 2019 - BA centralt fag i datalogi to-faglig med sidefag i matematik - optag 1. september 2018 Bachelor i datalogi | Odense 4 E21
Ikke længere gældende per 31. august 2019 - BA centralt fag i datalogi to-faglig med sidefag i matematik - optag 1. september 2018 Bachelor i datalogi | Odense 4 E20
Ikke længere gældende per 31. august 2019: BA centralt fag i datalogi et-faglig - optag 1. september 2018 Bachelor i datalogi | Odense 4 E21
Ikke længere gældende per 31. august 2019: BA centralt fag i datalogi et-faglig - optag 1. september 2018 Bachelor i datalogi | Odense 4 E20
Ikke længere gældende pr. 31.aug 2020 - BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2018 og 2019 Bachelor i datalogi | Odense 4 E20
Ikke længere gældende pr. 31.aug 2020 - BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2018 og 2019 Bachelor i datalogi | Odense 4 E21
Ikke længere gældende pr. 31.august 2020: BA centralt fag i datalogi et-faglig - optag 1. september 2018 og 2019 Bachelor i datalogi | Odense 4 E20
Ikke længere gældende pr. 31.august 2020: BA centralt fag i datalogi et-faglig - optag 1. september 2018 og 2019 Bachelor i datalogi | Odense 4 E21
Ikke længere gældende pr. 31.august 2020: BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2018 og 2019 Bachelor i datalogi | Odense 4 E21
Ikke længere gældende pr. 31.august 2020: BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2018 og 2019 Bachelor i datalogi | Odense 4 E20