Programming Languages and Compilers. Paul N. Hilfinger.
Data Structures. Jonathan Shewchuk.
SICP at UC Berkeley by Brian K. Harvey.
SICP at UC Berkeley by Brian K. Harvey.
SICP at UC Berkeley by Brian K. Harvey.
COMP2911: You become a designer. You are familiar and practised in the process of design. You know how to approach the design of new data structures and algorithms appropriate for the problem at hand. You have an appreciation for the qualities of a good design.
COMP1917: You become a craftsman. Your programs and your approach to computing are professional and workman-like. You strive for clarity, simplicity, and beauty.
COMP1927: You become a scientist. You understand how to analyse programs and algorithms. You master a broad range of important algorithms and data structures.