This paper is concerned with fundamental data structures and their
algorithms. It involves a study of classical and recently discovered
methods, aimed at giving students an awareness of techniques for solving
a diverse range of problems using a computer. Analysis of important
performance characteristics, efficiency and scalability and discussion of
issues pertaining to applicability, adaptation and design will also be
addressed. This is an essential paper for students interested in the art and
science of computer programming.
COMP203 Programming with Data Structures or
COMP241 Software Engineering Development
There is no required textbook for this course. Links to reference material will be provided on the course website, and students are expected to supplement this material on their own (either using the library or other online material).
Harel, David, Algorithmics: the spirit of computing.
Cormen, Thomas H., Leiserson, Charles Eric, Rivest, Ronald L., Introduction to algorithms.
Goodrich, M.T. and Tamassia, R., Algorithm Design.
(see also: algorithmdesign.net)
Internal assessment/final examination ratio 2:1