Students code, design, and build hands-on projects that develop their problem solving skills, computational expertise and innovative thinking. As students see their own creative ideas through from concept to final product, they utilize the iterative process of design, an essential component of computational thinking. There is an emphasis on developing coding habits of mind and practice, as well as algorithmic thinking. Students learn to decompose problems, brainstorm solutions, and embrace experimentation and revision.