Computer software embodies both power and constraint: power in the form of opportunity to utilize the sweat and expertise of another as encoded and captured in a program; but constraint in the sense that programming also captures their prejudices and preconceptions.

Sometimes we'd simply like to do something a little different from what has gone before, to create a world that violates or tests pre-conceptions, presents information in a novel way, etc.

In this course we will explore computer programming as a means of breaking free of constrains. To do this, we will have to think creatively, and learn to express ourselves clearly using a programming language.