Kurset starter tirsdag den 1. september. Der skal ikke købes nogen
lærebog.
Pensum til eksamen i DM595 er materialet (som regel slides) angivet på
denne webside under de relevante forelæsninger (F-timer). Hvis der til
et emne er angivet yderligere materiale, som ikke er pensum, er dette
ikke nødvendigt at læse for at kunne regne opgaverne eller gå til
eksamen (dette ekstramateriale er blot ment som en service for
personer, der efterspørger noget sådant).
| Uge |
Type |
Dato |
Tid |
Lokale |
Indhold |
| 36 |
F |
Tirsdag 1/9 |
10‑12 |
U55 |
Introduktion til SDUs systemer, ved Søren Sten Hansen. Se Itslearning
plan for materialer.
|
| 36 |
F |
Onsdag 2/9 |
10-12 |
U20 |
Kursusintroduktion (slides med
overlays/uden overlays).
Repræsentation af tal (side 1-9 i slides med
overlays/uden overlays).
|
| 36 |
F |
Fredag 4/9 |
08-10 |
U20 |
Afslutning af repræsentation af tal (resten af slides
med
overlays/uden overlays).
Programmet brugt til forelæsningen til at vise
bits i filer (ikke pensum).
|
| 37 |
F |
Mandag 7/9 |
12-14 |
U47
|
Boolsk algebra og gates (slides med
overlays/uden overlays).
[Yderligere kommentarer (ikke pensum): For en
gennemgang af opbygningen af en af de første CPU'er på én chip, Intels
8008 (1972), se her. Moderne
CPU'er kan indeholde over 1011 transistorer - se en
oversigt over den vilde udvikling i antallet her. Her er
en side med
flere billeder af indmaden af integrerede kredse.
Bemærk, at selv om Boolsk algebra på CPU'er implementeres via strøm og
elektronik, er dette ikke en nødvendighed. Enhver teknologi, som kan
implementere logiske gates, kan i princippet bruges. F.eks. blev der i
1964 bygget en computer
baseret på luftstrømme i stedet for elektrisk strøm.]
|
| 37 |
F |
Onsdag 9/9 |
08-10 |
U20 |
CPUer og maskinkode (slides med
overlays/uden overlays). CPU
simulator (Johan Fagerberg,
baseret på forlæg af J. Glenn Brookshear). De to eksempelprogrammer
fra slides om CPU: bytOmPåToTal.txt og
udskrivStigendeSekvens.txt.
[Første abstraktionslag, som man (på vej til
programmerinssprog såsom Python) lægger ovenpå ren maskinkode, er assembly
language (ikke pensum). I assembly language er kommandoer angivet
med korte navne i stedet for bitstrings, og positioner i koden (brugt
under jumps) kan angives med symbolske navne (labels), således at man
under programmering ikke behøver kende kodens konkrete placering i
hukommelsen. Når et program i assembly language oversættes og placeres
i hukommelsen (af en simpel compiler kaldet en assembler), bliver
disse labels automatisk konverteret til hukommelsesadresser, som
passer med programmets endelige placering. Pelle Schäfer Domela har
lavet et
assembly language for maskinsproget i vores simulator og en tilhørende
assembler. ]
[For yderligere materiale (ikke pensum) om
Boolean algebra, gates og CPUer/maskinkode se f.eks. slides fra Alvin
Lebeck's kursus, specielt disse,
disse
og delvist disse.]
|
| 37 |
F |
Onsdag 9/9 |
10-12 |
U20 |
Studiegrupper og studiegruppekontrakter, ved instruktorerne. Se
Itslearning plan for materialer.
|
| 37 |
F |
Torsdag 10/9 |
10-12 |
U23 |
Kompetenceportfolio, ved Benjamin Jäger. Se Itslearning plan for
materialer.
|
| 37(-38) |
E |
|
|
|
Opgaver.
Løsninger (med nummerering
fra E21).
|
| 38 |
F |
Mandag 14/9 |
12-14 |
U47 |
Start på algoritmer, asymptotisk notation, invarianter, ved Lene
Monrad Favrholdt (slides,
algoritmer fra slides med engelske
keywords). Noter om logaritmefunktionen.
[Yderligere kommentarer (ikke pensum): Noterne om
logaritmefunktionen antager, at man kender begrebet omvendt
funktion. Man kan få genopfrisket dette i afsnit 7.1 og 7.3 af Benjamin
Teglbjærgs noter til Matematik B på HHX. ]
|
| 38 |
F |
Onsdag 16/9 |
08-10 |
U20 |
Afslutning af algoritmer, asymptotisk notation, invarianter, ved Lene
Monrad Favrholdt (slides,
algoritmer fra slides med engelske
keywords). De tre sidste sider i slides om rekursive versioner af
algoritmerne er ikke pensum.
[For yderligere materiale (ikke pensum) om
asymptotisk notation og invarianter, se disse slides fra DM578: med
overlays/uden
overlays (algoritmeanalyse), med
overlays/uden
overlays (asymptotisk notation), med
overlays/uden
overlays (invarianter).]
|
| 38 |
F |
Onsdag 16/9 |
10-12 |
U20 |
Studievejlederne, ved Simone Louise Nothlev Sørensen.
|
| 38(-39) |
E |
|
|
|
Opgaver.
Løsninger (med nummerering
fra E21).
|
| 39 |
F |
Mandag 21/9 |
14-16 |
U20 |
Start på merging og hashing (side 1-15 i slides
med
overlays/uden overlays)
|
| 39 |
F |
Onsdag 23/9 |
08-10 |
U20 |
Mere om merging og hashing (side 16-18 i slides
med
overlays/uden overlays).
[For yderligere detaljer (ikke pensum) om
hashing i Python, se her.
For Java, se her.
]
|
| 39 |
F |
Onsdag 23/9 |
10-12 |
U20 |
Studiestrategi, tidstyring, noteteknikker. Se Itslearning for
materialer.
|
| 39(-40) |
E |
|
|
|
Opgaver.
Løsninger (med nummerering fra E21).
|
| 40 |
F |
Mandag 28/9 |
12-14 |
U47 |
Første del (ud af seks) af eksamen i DM595: 30 minutters online
multiple-choice test i klassen. Bemærk at lokalet er U47. Pensum for
denne del er materialerne om repræsentation af tal, Boolsk algebra og
gates. For alle emner inkluderer materialerne både slides og de
tilhørende opgaver i øvelsestimerne (uge 37(-38) og uge
38(-39)). Evt. yderligere materiale angivet i gråt og med betegnelsen
"(ikke pensum)" er naturligvis ikke med i pensum.
Datalogiens historie (slides med
overlays/uden overlays). Disse
emner er ikke eksamenspensum, dvs. vil ikke danne baggrund for
eksamensspørgsmål. For nogle danskere med indflydelse på datalogiens
historie, se
denne
artikel på dr.dk. For mere om Charles Babbage, se
Computer History
Museum.
|
| 40 |
F |
Onsdag 30/9 |
08-10 |
U20 |
Afslutning af merging og hashing (resten af slides
med
overlays/uden overlays)
|
| 40 |
F |
Onsdag 30/9 |
10-12 |
U20 |
IMADAs fagråd.
|
| 40(-41) |
E |
|
|
|
Opgaver.
Løsninger (med nummerering fra E21).
|
| 41 |
F |
Mandag 5/10 |
12-14 |
U20 |
Start på modeller for beregning: DFA (side 1-75 i
slides af Fabrizio Montesi).
Programmet vist til forelæsningen, som tester, om en
given streng bliver accepteret af en DFA.
[For yderligere materiale (ikke pensum) om
DFA'er, se f.eks. noter
2 og noter
3 af Sariel Har-Peled og Madhusudan Parthasarathy.]
|
| 41 |
F |
Onsdag 7/10 |
08-10 |
U20 |
Mere om modeller for beregning: CFG (resten af
slides af Fabrizio Montesi).
[For yderligere materiale (ikke pensum) om
CFG'er, se f.eks. noter
11 af Sariel Har-Peled og Madhusudan Parthasarathy.
En vigtig anvendelse af CFG'er er at definere syntaksen for
programmeringssprog, ofte med notationen kaldet (extended) Backus–Naur
form. Navnet "Naur" refererer i øvrigt her til Peter
Naur, som er den eneste dansker, der har modtaget Turing
prisen (også kaldet datalogiens Nobelpris).]
|
| 41(-43) |
E |
|
|
|
Opgaver.
|
| 43 |
F |
Mandag 19/10 |
12-14 |
U47 |
Anden del (ud af seks) af eksamen i kurset: 30 minutters online
multiple-choice test i klassen. Bemærk at lokalet er U47. Pensum for
denne del er materialerne om CPUer og maskinkode og materialerne om
algoritmer, asymptotisk notation og invarianter. For alle emner
inkluderer materialerne både slides og de tilhørende opgaver i
øvelsestimerne (uge 39(-40) og uge 40(-41)). Evt. yderligere materiale
angivet i gråt og med betegnelsen "(ikke pensum)" er naturligvis ikke
med i pensum.
Mere om modeller for beregning: regulære udtryk (slides
med
overlays/uden overlays).
|
| 43 |
F |
Onssdag 21/10 |
08-10 |
U20 |
Mere om modeller for beregning: afslutning af regulære udtryk (slides
med
overlays/uden overlays).
[Yderligere materiale (ikke pensum): For de
fulde detaljer om regulære udtryk i Python, se dokumentationen for
modulet re og Regular Expression
Howto for Python. For et hurtigt og velstruktureret overblik (og
meget andet) over regulære udtryk, se f.eks. dette Regex
Cheat Sheet. Hvis man vil vide mere om effektiv implementation af
søgning med regulære udtryk og sammenhængen med forskellige typer
endelige automater, se denne webside
af Russ Cox.]
|
| 43 |
F |
Torsdag 23/10 |
10-12 |
U20 |
DM500: God akademisk praksis og eksamensformer, ved Søren Sten
Hansen. Se Itslearning for materialer og instruktioner om
forberedelse til timen.
|
| 43(-44) |
E |
|
|
|
Opgaver.
|