By designing and developing projects of their own using iterative cycles of planning, making and testing, students put the key computational thinking, problem-solving, programming, and physical computing concepts they have learned to work.