An introduction to the principles of Computer Science supported by exercises in computer programming with an emphasis on creative coding, algorithmic image creation and manipulation, and interactive experiences. Students will make use of both exploratory coding approaches, and problem/solution-driven approaches, to design and implement software with visual and auditory output. The course also includes an introduction to a wide variety of issues relating to computer science and software, including software design and construction, problem-solving, and fundamental questions about the nature, limitations, and ethical use of computers and algorithms. It also explores how creativity tools can be used and as well as providing some insight into how they are implemented. The course is targeted to students with a broad diversity in backgrounds and interests. No prerequisites are assumed beyond high school algebra.