This is a second year module for students of Computer Science, CS & Language, CS & Business, and Management Science & Information Systems Studies.
The aim in this course is to study the main data structures and algorithms used in practical software development. Students learn to evaluate data structures and algorithms and choose the best ones to solve problems. The emphasis of the course is on the efficiency of these solutions in terms of time and memory requirements.
Implementing correct and efficient solutions in Java is an important aspect of the course. Students learn to leverage rigorous testing techniques, such as unit testing and code coverage, to evaluate the correctness of their implementations.
During the Michaelmas Term, the course has 3 hours of lectures and 1 hour of lab each week.
Meeting weekly from 28 September to 19 December 2015