Datalogi 1 - Introduktion til Programmering, Algoritmer og Datastrukturer

Kurserne Introduktion til Programmering og Algoritmer og Datastrukturer har igennem de sidste 30 år været tæt knyttet sammen ved Institut for Datalogi ved Aarhus Universitet (indtil December 1997, Afdeling for Datalogi ved Matematisk Institut ved Aarhus Universitet).

I perioden 1990-1999 var de samlet i et helårs kursus (svarende til 20 ECTS) under navnet Datalogi 1 eller Datalogi 11. Siden 1999 har kurserne været adskildt, men stadig på 1. år, hvor de 1999-2017 fortsatte med at ligge i forlængelse af hinanden. Siden 2017 er begge kurser nu placeret på 1. semester af datalogi uddannelsen, hvor man følger de to kurser sideløbende.

På denne side opsummeres kursernes udvikling siden 1990. Diverse kursusnoter findes nedenfor.

Periode Introduktion til programmering Algoritmer og Datastrukturer
1990-1998 Kursus
Datalogi 1 (dProg1, efterår)
Programmeringssprog
Trine
Materiale
Relationsalgebra og relationssproget Rasmus (1991-1992 DAIMI FN-41 Benedict Løfstedt og Erik Meineche Schmidt, 1992-1997 DAIMI FN-50 Erik Meineche Schmidt og Michael I. Schwartzbach)
Programmering og programmeringssproget Trine, Erik Meineche Schmidt og Michael I. Schwartzbach (1989 DAIMI FN-29, 1990-1997 DAIMI FN-36)
Kursus
Datalogi 1 (dADS, forår)
Materiale
Programmeringsteori, Erik Meineche Schmidt (1989 DAIMI FN-28, DAIMI 1991-1992 FN-37)
Programmeringsteori I, Erik Meineche Schmidt (1994 DAIMI FN-51)
Programmeringsteori II, Erik Meineche Schmidt (1994 DAIMI FN-52)
Datastrukturer, Michael I. Schwartzbach (1990 DAIMI FN-31, 1991-1994 DAIMI FN-38)
Programmeringsteori og Datastrukturer (1995-1998, DAIMI FN-56)
Grafalgoritmer, Erik Meineche Schmidt (1990 DAIMI FN-34, 1991-1994 DAIMI FN-40)
Algoritmisk Problemløsningsteknik, Erik Meineche Schmidt (1990 DAIMI FN-33, 1991-1994 DAIMI FN-39)
Grafalgoritmer og Algoritmisk Problemløsningsteknik (1995-1998 DAIMI FN-57)
Transition Systemer, Mogens Nielsen, Erik Meineche Schmidt, Michael I. Schwartzbach (1989 DAIMI FN-30)
Transition Systemer og Reelle Tal, Mogens Nielsen, Erik Meineche Schmidt, Michael I. Schwartzbach (1996 DAIMI FN-60)
1998-2003 Kursus
Introduktion til programmering (10 ECTS, efterår; 1998 del af Datalogi 1)
Programmeringssprog
Java
Materiale
Programming Principles in Java, David Schmidt (1998-2001)
Big Java, 1. udgave, Cay Horstmann, (2002)
Introduktion til Programmering - Noter, Gudmund S. Frandsen
Kursus
Algoritmer og Datastrukturer (dADS, 10 ECTS, forår; 1999 del af Datalogi 1)
Materiale
Algorithm design - Foundations, Analysis and Internet Examples, Michael T. Goodrich og Roberto Tamassia
Programming Pearls, 1. udgave, Jon Bentley, 1986. (Kapitler 5, 6 og 7)
Transition Systemer og Reelle Tal, Mogens Nielsen, Erik Meineche Schmidt, Michael I. Schwartzbach (1996 DAIMI FN-60)
Transition Systemer, Mikkel Nygaard og Erik Meineche Schmidt (2001 DAIMI FN-63)
Transition Systems, Mikkel Nygaard og Erik Meineche Schmidt (2003 DAIMI FN-64)
2003-2017 Kursus
Introduktion til Programmering (dIntProg, 5 ECTS, efterår Q1)
Programmering 2 (dProg2, 5 ECTS, efterår Q2)
Programmeringssprog
Java
Materiale dIntProg
Objects First with Java: A Practical Introduction Using BlueJ, David J. Barnes & Michael Kölling
Materiale dProg2
Object Oriented Design & Patterns, Cay S. Horstmann
Programmering 2 - Noter, Gudmund S. Frandsen
Kursus
Algoritmer og Datastrukturer 1 (dADS1, 5 ECTS, forår Q3)
Algoritmer og Datastrukturer 2 (dADS2, 5 ECTS, forår Q4)
Materiale
Algorithm design - Foundations, Analysis and Internet Examples, Michael T. Goodrich og Roberto Tamassia (2004-2005)
Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, og Cliff Stein (2006-2009 2. udgave, 2010-2017 3. udgave)
Programming Pearls, 2. udgave, Jon Bentley (Kapitel 8)
Computing Patterns in Strings, William Smyth (Kapitel 5.3.2)
Transition Systems, Mikkel Nygaard og Erik Meineche Schmidt (DAIMI FN-64)
Puslespil ved Ombytninger, Gerth Stølting Brodal (2006-2017)
2017- Kursus
Introduktion til Programmering (10 ECTS, efterår)
Materiale
Objects First with Java: A Practical Introduction Using BlueJ, David J. Barnes & Michael Kölling
Kursus
Grundlæggende Algoritmer og Datastrukturer (GADS, 10 ECTS, efterår, 2017-2018)
Algoritmer og Datastrukturer (ADS, 10 ECTS, efterår Q4, 2019-)
Materiale
Introduction to Algorithms, 3. udgave, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, og Cliff Stein.

Kursusnoter (online tilgængelige)

Ti år med Trine
Michael I. Schwartzbach, Daimiposten, oktober 1997.
DAIMI FN-36 Prammering og programmeringssproget Trine
Erik Meineche Schmidt, Michael I. Schwartzbach, vi+264 sider, 1997.
DAIMI MD-56 Trine manual
Michael I. Schwartzbach, ii+30 sider, 1996.
DAIMI FN-55 C for Trine programmører
Michael I. Schwartzbach, i+31 sider, 1995.
DAIMI FN-50 Relationsalgebra og relationssproget Rasmus
Erik Meineche Schmidt, Michael I. Schwartzbach, i+74 sider.
Sidst redigeret 19. august 2008.
DAIMI MD-60 Rasmus User's Manual
Kim Skak Larsen, i+30 sider, 1992.
DAIMI MD-60 Rasmus User's Manual
Kim Skak Larsen, Christian Lynbech, i+25 sider, 1995.
Rasmus @ GitHub
Kildeteskt og kildekode til seneste udgave af Rasmus, Jesper Sindahl Nielsen.
DAIMI FN-56 Programmeringsteori og Datastrukturer
Erik Meineche Schmidt, Michael I. Schwartzbach, iii+119 sider, 1995.
DAIMI FN-57 Grafalgoritmer og Algoritmisk Problemløsningsteknik
Erik Meineche Schmidt, ii+107 sider, 1995.
Opgaver til Datalogi 1 (dProg1)
1997.
Opgaver til Datalogi 1 (dADS)
1997.
DAIMI FN-64 Transition systems
Mikkel Nygaard, Erik Meineche Schmidt, ii+75 sider, 2014.
DAIMI FN-51 Programmeringsteori I
Erik Meineche Schmidt, 1994. Senere del af FN-56.
DAIMI FN-52 Programmeringsteori II
Erik Meineche Schmidt, 1994. Senere del af FN-56.
DAIMI FN-38 Datastrukturer
Michael I. Schwartzbach, 1994. Senere del af FN-56.
DAIMI FN-40 Grafalgoritmer
Erik Meineche Schmidt, 1994. Senere del af FN-57.
DAIMI FN-39 Algoritmisk Problemløsningsteknik
Erik Meineche Schmidt, 1994. Senere del af FN-57.
Introduktion til Programmering - Noter E2002
Gudmund S. Frandsen, 2002.
Programmering 2 - Noter
Gudmund S. Frandsen, 2013.
Puslespil ved Ombytninger
Gerth Stølting Brodal, 4 sider, 2006.

Eksamensopgaver

Algoritmer og Datastrukturer (ADS, efterår 2017-)

21m/s/i 20/s/i 20m/s 19/s/% 19m/s 18/s 18m/s 17

Algoritmer og Datastrukturer 1 (dADS1, forår 2004-2017)

17a/s 17/s 16a/s 16/s 15a/s 15/s 14a/s 14/s 13a/s 13/s 12a/s 12/s 11a/s 11/s 10a/s 10/s 09a/s 09/s 08a/s 08/s 07a/s 07/s 06a/s 06/s 05a/s 05/s 04a/s 04/s

Algoritmer og Datastrukturer 2 (dADS2, forår 2004-2017)

17a/s 17/s 16a/s 16/s 15a/s 15/s 14a/s 14/s 13a/s 13/s 12a/s 12/s 11a/s 11/s 10a 10/s 09a 09/s 08a/s 08/s 07a 07/s 06a 06/s 05a 05/s 04a 04/s

Algoritmer og Datastrukturer (dADS, forår 1999-2003)

04a 03a 03 02a 02 01a 01 00a 00 99a 99

Datalogi 1 (Dat1, 1991-1998)

98a 98 97a 97 96a 96 96j 95a 95 95j 94a 94 94j 93 93j 92 92j 91