line art

Performance and Test, Spring 2008: Schedule

line art
Spring 2008 Description Schedule Resources
line art

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

Example Input File

Example Output File

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

References

[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).