Programmering og problemløsning (PoP)

Kursusindhold

Kurset giver en introduktion til programmering og til hvordan problemløsning struktureres vha. et program. Der gennemgås grundlæggende koncepter og terminologi indenfor programmering.  Der undervises i funktionelle, imperative og objektorienterede programmeringsparadigmer.

Engelsk titel

Programming and Problem Solving (PoP)

Uddannelse

Bacheloruddannelsen i bioinformatik
Bacheloruddannelsen i datalogi
Bacheloruddannelsen i datalogi-økonomi
Bacheloruddannelsen i machinelearning og datavidenskab
Bacheloruddannelsen i kognitions- og datavidenskab

Målbeskrivelse

Viden om

  • Grundlæggende begreber indenfor imperativ, objektorienteret og funktionsprogrammeringsparadigmerne: Funktioner og metoder, variabler, udtryk, typer, kontrolstrukturer, løkker, blokstruktur, klasser og objekter, objektinteraktion, nedarvning, rekursion, polymorfi, abstraktion, undtagelser, pattern matching over rekursive datatyper, m.m.
  • God programmeringsskik: Dokumentation i koden, design patterns, afprøvning inkl. unit testing, håndtering af køretidsfejl, m.m.
  • Teknikker til problemløsning: Teknisk analyse af naturligsprogsproblemer, objektorienteret design, modelleringssprog, håndkøring, m.m.
  • God rapportskrivningsteknik.

 

Færdigheder i

  • At kunne læse og skrive mindre programmer (op til ca. 1000 linjer) i de programmeringsparadigmer, der undervises i på kurset, med overholdelse af god programmeringsskik og -stil.
  • At kunne evaluere fordele og ulemper ved at opskrive løsningen i de underviste programmeringsparadigmer, og at kunne implementere, afprøve, dokumentere, og evaluere løsningens kvalitet.
  • Et sideordnet mål er, at den studerende opnår passende studieteknik således, at dette og parallelkurser bestås svarende til et fuldtidsstudium.

 

Kompetencer til

  • Ud fra en præcist defineret problemformulering at kunne analysere problemet, udforme et program til løsning af dette, samt at verificere, afprøve, og dokumentere løsningen. 

     

Kurset vil blande video og live forelæsninger, klasseundervisning, samt gruppe- og individuelle afleveringsopgaver.

Offentliggøres på kursets Absalon-side ved kursusstart.

Skriftlig
Individuel
Kollektiv
Løbende feedback i undervisningsforløbet
ECTS
15 ECTS
Prøveform
Løbende bedømmelse
Prøveformsdetaljer
Eksamen består af obligatoriske opgaver med mulighed for genaflevering i den efterfølgende uge ( 4 opgaver i alt).

En af de første (1 eller 2) opgaver samt de to sidste (3 og 4) skal bestås.

Alle afleveringer er individuelle og baseret på personlig refleksion over løsninger.
Opgaverne er opdelt således, at den ene halvdel af opgaverne løses og udarbejdes individuelt, og den anden halvdel indledningsvist drøftes som gruppe og derefter løses og udarbejdes individuelt.
Det vil fremgå klart af opgaven, når den udleveres, hvordan den skal gribes an.

Størrelsen af opgaverne vil variere og vil blive offentliggjort ved kursusstart. Opgaverne afleveres i Absalon.
Hjælpemidler
Alle hjælpemidler tilladt

Det er tilladt at anvende AI-baserede værktøjer og Large Language Models (LLM)/Large Multimodal Models (LMM). Kode skrevet af ChatGPT, GitHub Copilot eller lignende skal betragtes som et citat og skal følges af en citation med dato for kodegenereringen. Da kursets fokus er på at lære at programmere, anbefales det, at AI bruges som en læringsresurse fremfor et værktøj til at generere kode.

Bedømmelsesform
bestået/ikke bestået
Censurform
Ingen ekstern censur
Flere interne bedømmere
Reeksamen

30 minutters individuel mundtlig eksamen (inklusive bedømmelse) i kursets pensum.

Til eksamen vil der være 1 times forberedelse, og alle hjælpemidler er tilladt.

Det er tilladt men ikke anbefalelsesværdigt at bruge Large Language Models under forberedelsen.

Under hele eksamen er det ikke tilladt at kommunikere med udenforstående.

Kriterier for bedømmelse

For at bestå skal den studerende vise beherskelse af viden, færdigheder og kompetencer, som beskrevet i målbeskrivelsen.

Enkeltfag dagtimer (tompladsordning)

  • Kategori
  • Timer
  • Forelæsninger
  • 54
  • Forberedelse (anslået)
  • 106
  • Øvelser
  • 108
  • Projektarbejde
  • 144
  • Total
  • 412

Kursusinformation

Undervisningssprog
Dansk
Kursusnummer
NDAB15009U
ECTS
15 ECTS
Niveau
Bachelor
Varighed

2 blokke

Placering
Blok 1 og Blok 2
Skemagruppe
A (tirs 8-12 + tors 8-17)
Nogle øvelseshold på bacheloruddannelsen i datalogi vil opleve, at deres øvelsestimer ligger uden for den normale skemagruppe.
Kapacitet
Ingen begrænsning – medmindre du tilmelder dig i eftertilmeldingsperioden (BA og KA) eller som merit- eller enkeltfagsstuderende.
Studienævn
Studienævn for Matematik og Datalogi
Udbydende institut
  • Datalogisk Institut
Udbydende fakultet
  • Det Natur- og Biovidenskabelige Fakultet
Kursusansvarlig
  • Philippe Bonnet   (6-73807f7f768551757a3f7c863f757c)
Gemt den 03-09-2024

Er du BA- eller KA-studerende?

Er du bachelor- eller kandidat-studerende, så find dette kursus i kursusbasen for studerende:

Kursusinformation for indskrevne studerende