Programmering, algoritmik og matematik en nødvendig sammenblanding?
|
|
|
- Maja Lindegaard
- 10 år siden
- Visninger:
Transkript
1 Programmering, algoritmik og matematik en nødvendig sammenblanding? Oplæg til IDA møde, 29. november 2004 Martin Zachariasen DIKU 1
2 Egen baggrund B.Sc. i datalogi 1989; Kandidat i datalogi 1995; Ph.D. i datalogi Lektor ved Datalogisk Institut, Københavns Universitet Flerårig erfaring med undervisning i algoritmik. 2
3 Inspiration til oplæg Egne indtryk/fordomme om ingeniørers programmeringskundskaber. Tema om matematik og datalogi i tidsskriftet Communications of the ACM, september En række artikler omhandlende emner som f.eks.: Hvorfor er matematik relevant for dataloger (og programmører)? I hvilke sammenhænge er matematisk/algoritmisk tankegang væsentlig for programmører? Hvad er de professionelle programmørers syn på matematik/algoritmik? 3
4 Ingeniørers programmeringskundskaber... Baseret på egne samt andre datalogers indtryk af ingeniørers programmeringskundskaber er dybest set aldeles uvidenskabelige og ubegrundede fordomme. + Gode problemløsere får tingene til at virke. +/ Vælger robuste fremfor originale løsninger. Udviklede programmer ikke altid velstruktureret, og de kan være svære at vedligeholde. 4
5 Programmering: Konkret eller abstrakt? Programmering bliver af de fleste studerende opfattet som noget konkret og jordnært, specielt når den sammenlignes med matematikken. Men alligevel: Programmering er 100 % abstraktion. Påstand: Programmering er dybest set en matematisk aktivitet. Grundlæggende kompetencer udvikles derfor igennem relevant træning i matematisk tankegang og argumentation. 5
6 Programmering som matematisk aktivitet 1. Forståelse af syntaks og semantik 2. Argumentation for korrekthed 3. Argumentation for tids- og pladsforbrug 6
7 1. Forståelse af syntaks og semantik Mange dele af et programmeringssprogs syntaks og semantik er arvet fra matematikken. Syntaks: Tildeling, sammenligning, indeksering. Semantik: Variable, mængder, kvantorer, funktioner, Boolsk algebra, rekursion. 7
8 2. Argumentation for korrekthed Denne argumentation bør foregå på skrivebordet før programmeringen påbegyndes, men opstår ofte sideløbende i forbindelse med fejlfinding. Matematiske værktøjer: Matematisk induktion, (løkke) invarianter. Eksempler: Argumentation for korrekthed af rekursive programmer ved anvendelse af matematisk induktion. Argumentation for korrekthed af slutresultatet af en iteration ved anvendelse af løkke-invarianter. 8
9 3. Argumentation for tids- og pladsforbrug Denne aktivitet er ikke altid central, men et godt kendskab til tids- og pladskompleksiteten af udbredte datastrukturer og basale algoritmer kan ofte være meget nyttig. Matematiske værktøjer: Basale matematiske funktioner (polynomier, logaritmer etc.), udregning af summer, rekursionsligninger, kompleksitetsklasser (P og NP). Eksempler: Dynamisk udvidelse af arrays (amortiseret analyse). Aktivitetsplanlægning (varianter med forskellig beregningskompleksitet). 9
10 Konklusioner Gentagen træning i matematisk tankegang og argumentation giver bedre programmer: Programmer der udnytter sprogets konstruktioner effektivt. Programmer der er (mere) korrekte, dvs. fejlfrie. Programmer der er velstruktureret, nemme at generalisere og vedligeholde. Programmer der har et minimalt tids- og pladsforbrug. 10
11 Valg af det første programmeringssprog Bør blot være et moderne og forholdsvis udbredt programmeringssprog, der indeholder alle de elementer, som er typiske for programmeringssprog. Bemærk: Det er ikke formålet med en ingeniøruddannelse at give den studerende al den viden og de kompetencer, som det første job kræver. Bruce et al: One of the most important goals for a college or university education is to provide the foundation for further learning. 11
12 Personlige anbefalinger Traditionelle programmeringskurser bør ikke stå alene, men skal tilbydes sammen med træning i relevante matematiske færdigheder. Disse matematiske færdigheder kan delvis opnås igennem tværgående programmeringsprojekter, der stiller krav om redegørelse for korrekthed og tidsforbrug. Projekternes tema kan tage udgangspunkt i den aktuelle fagretning (bygning, elektro, kemi, informatik, etc.). 12
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Introduktion til kurset Rolf Fagerberg Forår 2019 1 / 20 Hvem er vi? Underviser: Rolf Fagerberg, Institut for Matematik og Datalogi (IMADA) Forskningsområde: algoritmer
Introduktion til DM507
Introduktion til DM507 Rolf Fagerberg Forår 2017 1 / 20 Hvem er vi? Underviser: Rolf Fagerberg, IMADA Forskningsområde: algoritmer og datastrukturer 2 / 20 Hvem er vi? Underviser: Rolf Fagerberg, IMADA
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 6. juni 2016, kl. 15:00 19:00 Besvarelsen skal afleveres elektronisk. Se
Skriftlig Eksamen Algoritmer og sandsynlighed (DM538)
Skriftlig Eksamen Algoritmer og sandsynlighed (DM538) Institut for Matematik & Datalogi Syddansk Universitet Fredag den 9 Januar 2015, kl. 10 14 Alle sædvanlige hjælpemidler(lærebøger, notater etc.) samt
Dynamisk programmering
Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde
Dynamisk programmering
Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer
Grundlæggende køretidsanalyse af algoritmer
Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers
Undervisningsbeskrivelse
Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Skoleåret 2015/16 Institution Hansenberg Gymnasium Uddannelse Fag og niveau Lærer Hold htx Programmering,
Algoritmer og invarianter
Algoritmer og invarianter Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker. Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker.
Ej blot til lyst: Programmering og matematisk dannelse i det 21. århundrede
Ej blot til lyst: Programmering og matematisk dannelse i det 21. århundrede Henrik Kragh Sørensen Institut for Naturfagenes Didaktik Københavns Universitet Konference om Programmering og Koder Danmarks
Dansk A, Engelsk B og Matematik B. Bachelor: Bestået adgangsgivende eksamen (stx, eux, hf, hhx, htx, adgangskursus eller
Aalborg Universitet Datalogi Datalogi (bachelor og kandidat) Bachelor: Bestået adgangsgivende eksamen (stx, eux, hf, hhx, htx, adgangskursus eller tilsvarende) samt Dansk A, Engelsk B og Matematik A. Datalogi
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
CV for Lasse Nielsen
CV for Lasse Nielsen Lasse Nielsen 16. marts 2008 Personlig Data Mit navn er Lasse Nielsen, jeg er født den 17 Juni 1981 på Holbæk sygehus. Min adresse er Rektorparken 18, 7. tv. (Lokal 073) 2450 København
Abstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Datalogistudiet. Rolf Fagerberg. Institut for Matematik og Datalogi Syddansk Universitet. Studiestart, 1. september 2014
Datalogistudiet Rolf Fagerberg Institut for Matematik og Datalogi Syddansk Universitet Studiestart, 1. september 2014 Datalogistudiet Studiestart, 1. september, 2014 1 / 15 Hvad arbejder du med bagefter?
Bevisteknikker. Bevisteknikker (relevant både ved design og verifikation) Matematisk induktion. Matematisk induktion uformel beskrivelse
Bevisteknikker Bevisteknikker (relevant både ved design og verifikation) Bevisførelse ved modstrid (indirekte bevis) Antag, at det givne teorem er falsk Konkluder, at dette vil føre til en modstrid Teorem:
Perspektiverende Datalogikursus
Perspektiverende Datalogikursus Algoritmer og kompleksitet Gerth Stølting Brodal 1 Perspektiverende kursus Formål: Vise bredden af Datalogi. Vise fagets anvendelighed. Vise konkrete eksempler på hvad datalogi
Datalogistudiet. Institut for Matematik og Datalogi (IMADA) SDU. Information til kommende studerende
Datalogistudiet Institut for Matematik og Datalogi (IMADA) SDU Information til kommende studerende Indhold Hvad er datalogi? Hvad arbejder man med bagefter? Hvordan er det at studere? Hvordan er instituttet
Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528)
Skriftlig Eksamen Kombinatorik, sandsynlighed og randomiserede algoritmer (DM528) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 3 Januar 2011, kl. 9 13 Alle sædvanlige hjælpemidler
Skriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.
Programmering for begyndere Lektion 2. Opsamling mm
Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger
Stk. 2 Tilknytning Uddannelsen hører under Studienævn for Matematik og Datalogi, og de studerende har valgret og valgbarhed til dette studienævn.
Den uddannelsesspecifikke del af studieordningen for bacheloruddannelsen i datalogi ved Det Natur- og Biovidenskabelige Fakultet, Københavns Universitet 2015 (Rev. 2015) Indholdsfortegnelse 1 Titel, tilknytning
Fakta om ingeniør- og cand. scient.-uddannelserne 2011. Optag på uddannelserne 2007-2011
Fakta om ingeniør- og cand. scient.-uddannelserne 2011 Optag på uddannelserne 2007-2011 September 2011 Fakta om ingeniør- og cand.scient.- uddannelserne Denne analyse dokumenterer de faktuelle forhold
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
BRP 6.9.2006 Kursusintroduktion og Java-oversigt
BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:
Studieordning for bacheloruddannelsen i softwareudvikling ved IT-Universitetet i København
Studieordning for bacheloruddannelsen i softwareudvikling ved IT-Universitetet i København Studieordning a 1. september 2012 Revideret 16. juni 2014 Revideret 19. august 2015 Indhold Indledning Kapitel
It i folkeskolens matematikundervisning
It i folkeskolens matematikundervisning Læringskonsulenterne Kvalitetsudvikling baseret på data og viden, nationale test og LIS-systemet. Matematik Folkeskolens prøver Talblindhedsprojekt Matematik Ministeriel
Studieordning for bacheloruddannelsen i datalogi (eng. Computer Science)
Studieordning for bacheloruddannelsen i datalogi (eng. Computer Science) Vedtaget af Datalogisk Studienævn 2004-09-21 De overordnede bestemmelser, der danner ramme for denne studieordning, er fastlagt
Datalogi C + Datastrukturer og Algoritmer
Datalogi C + Datastrukturer og Algoritmer Velkommen til DatC erne Dagens emne: Hvad er D&A, mål for effektivitet Kursuslærer: Henning Christiansen [email protected], http://www.ruc.dk/~henning Hjælpelærer
Alle de studerende jeg har vejledt, har været under ordningen. D.v.s. først fire års studier efterfulgt af et fire-årigt ph.d. studium.
Vejleders forventninger til ph.d. studerende Min egen erfaring stammer fra, at jeg har været vejleder for 8 ph.d. studerende i Matematik-økonomi fra Aarhus Universitet (hvoraf de seks er blevet færdiguddannede,
Undervisningsbeskrivelse
Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin 2014-2015 Institution Rybners Tekniske Gymnasium Uddannelse Fag og niveau Lærer(e) Hold Htx Programmering
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Den digitale revolution
datalogisk institut københavns universitet Den digitale revolution fortællinger fra datalogiens verden DIKU 1970 2010 Den digitale revolution fortællinger fra datalogiens verden Datalogisk Institut, Københavns
Fakta om ingeniør- og cand. scient.-uddannelserne 2012. Optag på uddannelserne 2007-2012
Fakta om ingeniør- og cand. scient.-uddannelserne 2012 Optag på uddannelserne 2007-2012 September 2012 Fakta om ingeniør- og cand.scient.- uddannelserne Denne analyse dokumenterer de faktuelle forhold
Eksamineret Scrum Master
Eksamineret Scrum Master Bliv en succesfuld Scrum Master Scrum er en metode, der hjælper organisationer med at få mest muligt ud af deres indsatser. Metoden er en af de mest udbredte til at styre komplekse
Evalueringsrapport. IMADAs Fagråd. Matematik, Datalogi og Mat.øk. 16. maj 2008. Kontaktpersoner
Evalueringsrapport Matematik, Datalogi og Mat.øk 16. maj 2008 Kontaktpersoner Niels Kjeldsen - [email protected], Søren Hesel - [email protected], Morten Nørby Pedersen - [email protected], Lena Erbs
En note om Programmering
En note om Programmering Kurt Nørmark Institut for Datalogi Aalborg Universitet [email protected] Resumé Denne note er en introduktion til programmering. Formålet er at give dig et indblik i hvad programmering
Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen
Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen
Matematik på Københavns Universitet - den gavnlige skønhed
S C I E N C E Matematik på Københavns Universitet - den gavnlige skønhed Matematik eksisterer overalt Hvad enten det drejer sig om styrken i Storebæltsbroens pyloner, forsikringspræmien efter en kollision
22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.
22 Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. Indsættelse i hobe. Sletning af minimalt element i hobe. Repræsentation. 327
XM @ DTU. License to Thrill
XM @ DTU License to Thrill Matematik 1 på DTU S. Markvorsen & P. G. Hjorth Institut for Matematik, Bygning 303S, DTU DK-2800 Kgs. Lyngby 1 1 Matematik 1 I begyndelsen af det tredie årtusind hedder på Danmarks
Aalborg Universitet It-institut Uddannelse Adgangskrav 2012 Institut for Elektroniske
Oversigt over adgangskrav til it-uddannelser på de danske universiteter Senest opdateret 23. april 2012 af it-vest samarbejdende universiteter. Se også www.futurepeople.dk Aalborg Universitet Datalogi
Martin Olsen. DM507 Projekt Del I. 19. marts 2012 FOTO: Colourbox
Martin Olsen DM0 Projekt 0 Del I. marts 0 FOTO: Colourbox Indhold Indledning... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Opgave... Kildekode til SimpleInv.java... Kildekode til MergeSort.java...
Stk. 2 Generel profil i datalogi... 5 Stk. 3 Specialisering i data science... 6 Stk. 4 Gymnasierettet specialisering... 7
Den uddannelsesspecifikke del af studieordningen for bacheloruddannelsen i datalogi ved Det Natur- og Biovidenskabelige Fakultet, Københavns Universitet 2009 (Rev. 2018) Indholdsfortegnelse 1 Titel, tilknytning
Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538)
Skriftlig Eksamen Algoritmer og Sandsynlighed (DM538) Institut for Matematik og Datalogi Syddansk Universitet, Odense Fredag den 25. januar 2013 kl. 1013 Alle hjælpemidler (computer, lærebøger, notater,
Skriftlig Eksamen Diskret Matematik (DM528)
Skriftlig Eksamen Diskret Matematik (DM528) Institut for Matematik & Datalogi Syddansk Universitet Tirsdag den 20 Januar 2009, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug
Symmetrisk Traveling Salesman Problemet
Symmetrisk Traveling Salesman Problemet Videregående Algoritmik, Blok 2 2008/2009, Projektopgave 2 Bjørn Petersen 9. december 2008 Dette er den anden af to projektopgaver på kurset Videregående Algoritmik,
Fagets IT Introduktion til MATLAB
Fagets IT Introduktion til MATLAB Mads G. Christensen [email protected] Afdeling for Kommunikationsteknologi, Aalborg Universitet. MATLAB 2002 p.1/28 Kursusoversigt 1. Introduktion, matrix-indeksering, -operationer
Divide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Analyse af algoritmer
Analyse af algoritmer Analyse af algoritmer Køretid Pladsforbrug Asymptotisk notation O, Θ og Ω-notation. Eksperimentiel analyse af algoritmer Philip Bille Analyse af algoritmer Analyse af algoritmer Køretid
Undersøgende matematik i prøverne. Odense 26. april 2019
Undersøgende matematik i prøverne Odense 26. april 2019 Programmet En del af opgaverne i Folkeskolens Prøver handler om, at eleverne skal undersøge et eller andet. Det er ofte opgaver, eleverne har svært
Divide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Udarbejdet af CFU Absalon
Chatbots i Scratch Introduktion: En chatbot er et lille program, der kan chatte. De bruges mange steder på internettet, enten for at kunne hjælpe i nogle bestemte situationer eller for at underholde. De
Computerassisteret fysioterapi og fysisk træning
D E P A R T M E N T O F C O M P U T E R S C I E N C E U N I V E R S I T Y O F C O P E N H A G E N Computerassisteret fysioterapi og fysisk træning Kim Steenstrup Pedersen Image Group Datalogisk Institut,
STATUS PÅ DATALOGIFORSKNING OG -UDDANNELSE Professor Stephen Alstrup, Datalogisk Institut, KU Næstformand i ATV s Digitale Vismænd
STATUS PÅ DATALOGIFORSKNING OG -UDDANNELSE Professor Stephen Alstrup, Datalogisk Institut, KU Næstformand i ATV s Digitale Vismænd 1 Den digitale verden 2 Digitalisering og lidt tal IKT-sektoren omsætter
