As Computer Science educators, we know that students learn more from projects that are fun and challenging, that seem “real” to them, and that allow them to be creative in designing their solutions. When we have students beating down our office doors wanting to show us what they’ve done, we know we have designed a project that truly meets its pedagogical goals. In CS1 courses, it is often difficult to come up with large, real-world programming projects that are at an appropriate level and that really excite students. This is particularly true in the first half of the course when students are learning basic programming and problem solving skills. We found that assignments based on image processing are an effective way to teach many CS1 topics. Because students enjoy working on the projects, they come away with a solid understanding of the topics reinforced by the projects. In this paper, we discuss many ways in which image processing could be used to teach CS1 topics. As an exa...