Regardless whether you consider programming an art or a craft, what most programmers will agree on is that 'The Art of Programming' by Donald Knuth is one of the books that defined our field. It speaks about algorithms and data structures as fundamental blocks of knowledge, which turn good programmers into even better ones. Or to put it in the words of Linus Torvalds: "Bad programmers worry about the code; good programmers worry about data structures and their relationships."
In this course we introduce the most common algorithms, in order to help the students’ thinking evolve from ‘code’ to ‘data and its manipulation’. This makes them better programmers, able to know instead of guess, and to think before they act. The algorithms course offers insight into generalised solutions to categories of problems already solved by seasoned veteran coders, offering novice programmers the chance to stand on the shoulders of these giants and apply their solutions to new problems.
At the end of the module, DAE students – regardless of their skill at the start – have inevitably become better programmers, who are able to recognise, analyse and describe the problems they are facing, and apply efficient solutions.