Data abstraction and object oriented principles, algorithm analysis, recursion and iteration, lists, stacks, queues, trees, searching, hashing, sorting, graphs and graph algorithms. Three lectures, one tutorial (two hours); second term Prerequisite(s): ENGINEER 1D04, COMP ENG 2SH4 Antirequisite(s): COMP SCI 2C03, 2MD3, 3DA3, ELEC ENG 2SI4, SFWR ENG 2C03, 2C04