About the course
Course organisation
The course is organised as follows:
- 9 weeks in total
- Two lectures per week, which cover the theoretical part
- One exercise session per week, where you can get personal help to understand the material; these sessions are not obligatory, but recommended
- 2 to 3 lab sessions per week, where you can get help from the course assistants
- 3 lab assignments and one hand-in, which all need to be completed in order to complete the course; these are done in groups of two and are handed in via Fire.
- One written exam at the end of the course; this is obligatory and done individually
- Your final grade will be determined by your grade on the written exam only
Study period 4 is loaded with Holidays, so the schedule is quite irregular and the amount of teaching per week will vary.
Course plan
The course will cover the following subjects:
- Basic data structures and algorithms such as binary search, self-resizing arrays and linked lists
- Big-Oh complexity and how to reason about it, in iterative and recursive programs
- Sorting algorithms: \(O(n^2)\) (e.g. insertion sort, selection sort, bubblesort, quicksort), \(O(n \log n)\) (e.g. mergesort, heapsort), \(O(n)\) (e.g. counting sort)
- Data structure invariants; abstract data types
- Hash tables
- Binary heaps; heapsort
- Binary search trees, balanced binary search trees (AVL trees, red-black trees), 2-3 trees
- Graphs; Dijkstra’s algorithm; Prim’s algorithm
You can find the official syllabus here.
Teachers
- Lecturer: Alex Gerdes
Phone: +46 31 772 6154
Email: alexg "at" chalmers.se
Office: Room 6479 in the EDIT building
- Course assistants:
- Sarosh Nasir, sarosh.nasir “at” gmail.com
- Adi Hrustic, adihrustic “at” gmail.com
You can find Alex in room 6479 much of the time. Feel free to drop by!
Student representatives
- Mohamad Qutbuddin Habib, gusqutmo “at” student.gu.se
- Carl Agrell, gusagreca “at” student.gu.se
- Gunnar Stenlund, gusstenlgu “at” student.gu.se