: Dr. Arthur van Goethem
, MF 4.144, firstname.lastname@example.org Please use the tag
[2IL50] in the subject of your email when contacting me about the course.
Course Description: There are many aspects to the study of data structures, and the algorithms that operate upon them. In this course, you will learn the basic skills and knowledge to develop efficient algorithms to solve computational problems and to make informed choices between different solutions for the same problem.
Prerequisites: Being able to work with basic programming constructs such as linked lists, arrays, loops ... Being able to apply standard proving techniques such as proof by induction, proof by contradiction ... Being familiar with sums and logarithms such as discussed in Chapter 3 and Appendix A of the textbook.
Students who have enrolled for 2IL50 in Q1 are required
to take a prior knowledge test. This is a diagnostic test.
The test is posted on OnCourse
, under Computer Science
, Prior-knowledge Test for Data structures (2IL50)
. You can enroll yourself for this course.
Those who have not taken the test in advance, i.e. ultimately Sunday September 4th at 23:59
, will not be allowed to take the course in Quartile 1.
The course 2IL50 has two components:
- Tutorials During the tutorials the instructors will explain the solutions to the homework assignments of the previous week and answer any questions that arise.
In addition, we are teaching a mini-course Reading and writing mathematical proofs
in the first three weeks. Furthermore, the tutors have office hours
every Thursday 17:00-18:00
in MF 15
Reading and writing mathematical proofs
Mathematical proofs are an integral part of both mathematics and theoretical computer science. In this mini-course, the students will learn how to properly read and write mathematical proofs in the common textual form, building on techniques learned earlier in 2IT60 Logic and Set Theory
. If you have not followed (and passed) Logic and Set Theory, consider doing so before attempting Data Structures. Recall the prerequisites: "Being able to apply standard proving techniques such as proof by induction, proof by contradiction". The mini-course is targeted at students who are struggling with mathematical proofs, it is not
an introduction to mathematical proofs. We will cover common proving techniques, as well as techniques to prove the correctness of algorithms.