The primary goal of the course is to introduce students to the big ideas in Computer Science, and how they are used to control the complexity of developing large computational systems. In this course, recognising patterns of problem solving is more important than the efficiency of the solutions themselves. An interpreted language is used to facilitate rapid feedback to the student as she experiments with proposed solutions to a problem. We hope that this mode of interaction will build confidence in students as they learn the joys and challenges of programming. This course continues the entry level course COMP1126. It covers concepts and tools that are essential in strengthening the learning of programming. These include data structures and higher order functions.
Computer Systems Engineering