This schedule is preliminary and will be updated during the course period.
| Week | Wednesday | Friday | ||||||
| Date | Expected Reading | Lecture (9:00-11:00) Exercises (11:00-12:00) |
Date | Expected Reading | Lecture (9:00-12:00) Exercises (13:00-16:00) | |||
| 1 | 30/1 | RS 1.0—1.1, 2.0—2.4, 2.7 [30pp, 3h] | [DW] Lecture: Measuring performance (complexity) | 1/2 | RS 2.6, 6.0—6.1, 6.3—6.4, 8.0—8.1, 8.3, 8.6 [30pp, 3h30min] | [DW] Lecture: Array searching & Merge-Sort (linear search, binary search, merge sort, estimating expected running time) | ||
| No exercises | No exercises | |||||||
| 2 | 6/2 | [KS] Exercises: 9:00-12:00 (!): Measuring performance (whole 3h slot) | 8/2 | RS 6.6, 6.10 7.1—7.4, 10.0—10.3, 10.6 [45pp, 5h] | [KS] Lecture: Performance Characteristics of sorting. | |||
| [JH] Exercises: searching and Merge-Sort | ||||||||
| 3 | 13/2 | RS 12.6—12.7, p. 543, pp. 548—549, Program 12.22 p. 551, 13.0, 13.3, 13.6 [27pp, 3h30] | [KS] Lecture: Binary search trees and 2-3-4 trees. | 15/2 | RS 14.0—2,14.5. P entirely (pp. 1—6, see below), PR pp. 1—5 (see below) [30pp, 4h] | [KS] Lecture: Hashing | ||
| [KS] Exercises: Characteristics of sorting | [JH] Exercises: search trees | |||||||
| 4 | 20/2 | RS 17.0, 17.2 (until p.20), 17.3—17.4, p.40, 18.0—18.3, 18.5, 18.7 [50pp, 5h] | [DW] Lecture: Graphs and graph Traversals: DFS, BFS. | 22/2 | RS 21.0—2 + handout from RN [35pp, 4h] | [DW] Lecture: Shortest paths | ||
| [KS] Exercises: Hashing | [JH] Exercises: Graph traversals | |||||||
| 5 | 27/2 | MS Preface, Ch. 1-3 (up to and including p.73) [~75pp,~5h] | [DW] Lecture [test 1]: What is testing? Testing approaches. Types of testing | 29/2 | MS Ch. 3(from p.78), 4 [~70pp,~5h]
MS Ch. 5,6 [~84pp,~8h] |
[DW] Lecture [test 2]: Use cases, JUnit | ||
| [DW] Exercises: Shortest paths | [JH] Lab: Eclipse & JUnit setup / Exercises: Shortest paths, ctd. | |||||||
| 6 | 5/3 | [DW] mid-term exam | 7/3 | [DW] Project Kick-off | ||||
| No exercises | No exercises | |||||||
| 7 | 12/3 | MS Ch. 5,6 [~84pp,~8h] | [KS] Lecture [test 3]: Interaction and system testing, coverage, performance testing | 14/3 | Notes | [KS] Lecture [test 4]:Summary, Tools for versioning, profiling and building software systems | ||
| [KS] Lab Exercises: Testing | [KS] Lab Exercises: Testing, ctd. | |||||||
| — | Easter break | |||||||
| 8 | 26/3 | 28/3 | ||||||
| [JH] Lab Exercises: Tools and performance testing | ||||||||
| 9 | 2/4 | Groups meet with supervisor | 4/4 | Guest lecture by Thomas Axen and Anna Høeberg (ATP) | ||||
| Groups meet with supervisor (3A52, 13:00 - 16:00) | ||||||||
| 10 | 9/4 | Groups meet with supervisor | 11/4 | [KS,DW] Lecture: Course overview. Exam preparation. | ||||
| 11 | 16/4 | Project Increment 1 deadline | 18/4 | |||||
| 12 | 23/4 | Groups meet with supervisor | 25/4 | |||||
| 13 | 30/4 | Groups meet with supervisor | 2/5 | |||||
| 14 | 7/5 | Programming Contest Submission | 9/5 | |||||
| 15 | 14/5 | Groups meet with supervisor | 16/5 | |||||
| 16 | 21/5 | Project hand-in at exam office, | ||||||
| — | Oral exams: June 12-13 | |||||||
[RS] Robert Segdewick. Algorithms in Java. Addison-Wesley 2003.
[MS] McGregor and Sykes. A Practical Guide to Testing Object-Oriented Software. Addison Wesley 2001.
[GT] Michael T. Goodrich. Roberto Tamassia. Data Structures & Algorithms in Java. 4th Edition. Wiley 2006.
[RN] Stuart Russell and Peter Norvig. Artificial Intelligence. A Modern Approach. Second Edition, Prentice Hall, 2003.
[P] R. Pagh, Cuckoo Hashing for Undergraduates.
[PR] "Pagh and Rodler: Cuckoo hashing"
Mandatory assignments can be written on paper and placed in the course pigeonhole on first floor, outside the study administration office. Manuscripts are permitted (and well received).