NDAB15009U Programmering og problemløsning (PoP)
Programming and Problem Solving (PoP)
Bacheloruddannelsen i bioinformatik
Bacheloruddannelsen i datalogi
Bacheloruddannelsen i datalogi-økonomi
Bacheloruddannelsen i machinelearning og datavidenskab
Bacheloruddannelsen i kognitions- og datavidenskab
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.
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.
Offentliggøres på kursets Absalon-side ved kursusstart.
- Kategori
- Timer
- Forelæsninger
- 54
- Forberedelse (anslået)
- 106
- Øvelser
- 108
- Projektarbejde
- 144
- I alt
- 412
Som meritstuderende - klik her!
Som enkeltfags-studerende (efter- og videreuddannelse) - klik
her!
- Point
- 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.
Kursusinformation
- Sprog
- Dansk
- Kursuskode
- NDAB15009U
- Point
- 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.
- Kursuskapacitet
- 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
Kursusansvarlige
- Philippe Bonnet (bonnet@di.ku.dk)
- 24E-B1-2;Hold 01 Datalog;;Programmering og problemløsning
- 24E-B1-2;Hold 02 Datalog;;Programmering og problemløsning
- 24E-B1-2;Hold 03 Datalog;;Programmering og problemløsning
- 24E-B1-2;Hold 04 Datalog;;Programmering og problemløsning
- 24E-B1-2;Hold 05 Datalog;;Programmering og problemløsning
- 24E-B1-2;Hold 06 Datalog;;Programmering og problemløsning
- 24E-B1-2;Hold 07 Datalog;;Programmering og problemløsning
- 24E-B1-2;Hold 08 Datalog;;Programmering og problemløsning
- 24E-B1-2;Hold 09 Datalog;;Programmering og problemløsning
- 24E-B1-2;Hold 10 Øvrige;;Programmering og problemløsning
- 24E-B1-2;Hold 11 Mach;;Programmering og problemløsning
- 24E-B1-2;Hold 12 Mach;;Programmering og problemløsning
- 24E-B1-2;Hold 13 Mach;;Programmering og problemløsning
- 24E-B1-2;Hold 14 Mach;;Programmering og problemløsning
- 24E-B1-2;Hold 15 Dat-øk;;Programmering og problemløsning
- 24E-B1-2;Hold 16 Dat-øk;;Programmering og problemløsning
- 24E-B1-2;Hold 17 Dat-øk;;Programmering og problemløsning
- 24E-B1-2;Hold 18 Dat-øk;;Programmering og problemløsning
- 24E-B1-2;Hold 19 KDV;;Programmering og problemløsning
- 24E-B1-2;Hold 20 KDV;;Programmering og problemløsning