Principles of Computing

This course covers elementary principles of computing, including iteration, recursion, and binary representation of data. Additional topics on cellular automata, encryption, and the limits of computation are also introduced. The goal of this course is to introduce some of the techniques used in computer science to solve complex problems, with or without a computer. This course does not include a programming component, although the principles that are taught can be used in a programming context.