DM552: Programmeringssprog

Det Naturvidenskabelige Studienævn

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

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

Godkendelsesdato: 05-10-2022


Varighed: 1 semester

Version: Godkendt - aktiv

Kommentar

NEDLÆGGES - udbydes sidste gang F23

1.Eksamensforsøg afholdes juni 2023
2.Eksamensforsøg afholdes august 2023
3.Eksamensforsøg afholdes Januar 2024

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

Eksamenselement a)

Tidsmæssig placering

Forår og juni

Udprøvninger

Portfolio

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

Skriftlig eksamen - 4 timer

Hjælpemidler

Projekt - hjælpemidler tilladt

Skriftlig eksamen:
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.

ECTS-point

10

Uddybende information

Portfolio eksamen bestående af:

  • Projekt
  • Skriftlig eksamen, afholdes i eksamensperioden juni måned

Reeksamen vil blive ændret til en mundtlig eksamen, hvis der er 9 eller færre tilmeldt.

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 Institut for Matematik og Datalogi (00)

Yderligere undervisere

Navn E-mail Institut By
Peter Schneider-Kamp petersk@imada.sdu.dk Data Science

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 2019, 2020, 2021 og 2022 Bachelor i datalogi | Odense 2 E22
BA Centralt fag datalogi et-faglig særligt forløb for datamatikere - optag 1. september 2020, 2021 og 2022 Bachelor i datalogi | Odense 2 E23
BA centralt fag i datalogi et-faglig - optag 1. september 2019 Bachelor i datalogi | Odense 4 E22
BA centralt fag i datalogi et-faglig - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E22
BA centralt fag i datalogi et-faglig - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E23
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2019 Bachelor i datalogi | Odense 4 E22
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E22
BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E23
BA centralt fag i datalogi to-faglig med sidefag i matematik - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E22
BA centralt fag i datalogi to-faglig med sidefag i matematik - optag 1. september 2020 og 2021 Bachelor i datalogi | Odense 4 E23
Ikke længere gældende pr. 31.aug 2020 - BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2019 Bachelor i datalogi | Odense 4 E22
Ikke længere gældende pr. 31.august 2020: BA centralt fag i datalogi et-faglig - optag 1. september 2019 Bachelor i datalogi | Odense 4 E22
Ikke længere gældende pr. 31.august 2020: BA centralt fag i datalogi to-faglig med sidefag - optag 1. september 2019 Bachelor i datalogi | Odense 4 E22

Overgangsordninger

Overgangsordninger beskriver, hvordan et kursus erstatter et andet kursus, når der ændres i et studieforløb.
Hvis der er lavet en overgangsordning for et kursus vil den fremgå af oversigten.
Se overgangsordninger for alle kurser på Det Naturvidenskabelige Fakultet.