The aim of programming projects in CS1/CS2 is to put in practice concepts and techniques learnt during lectures. Programming projects serve a dual purpose: first, the students get to practice the programming concepts taught in class, and second, they are introduced to an array of topics that they will cover later in their computer science education.In this work, we present programming projects we have successfully used in CS1/CS2. These topics have added breadth to CS1/CS2 as well as whetted our students’ appetite by exposing them to concurrent programming, event-driven programming, graphics management and human-computer interfaces, data compression, image processing and genetic algorithms.We also include the background material, such as tools and libraries we have provided our students to render the more difficult projects amenable to our introductory computer science classes.