Searching, sorting, dynamic programming, greedy algorithms, abstract data structures, balanced trees, hashing, graphs, design principles, complexity, organization of libraries. Three lectures, one tutorial (one hour); second term Prerequisite(s): COMP SCI 1FC3 or SFWR ENG 2DM3; and COMP SCI 2S03 or 2SC3 or SFWR ENG 2S03 Cross-List(s): COMP SCI 2C03 Antirequisite(s): COMP ENG 2SI4, COMP SCI 2MD3, 3DA3, ELEC ENG 2SI4, SFWR ENG 2C04