This course is an advanced programming course in the application of software engineering techniques to the design and implementation of programs manipulating complex data structures.