Computational thinking and coding is the new literacy that is needed for students in order for them to create innovative ways of expression and to solve complex problems that face society. Through explicitly connecting the computational thinking process to problem solving, students learn to decompose complex problems, look for patterns, and come up with solutions. This connects well with the eight Standards for Mathematical Practice where students also look for patterns, persevere in solving problems, and seek multiple pathways to a solution. Projects such as identifying a need or problem in the community and then designing an app to address that need targets relevant and authentic skills and knowledge such as collaboration, communication, research, critical thinking, and creativity. Creating inventions using Arduino integrates science and engineering practices as students design creations in Inventor, make it with tools and supplies, then bring it to life with circuits, sensors, LEDs, and coding. By analyzing large data sets using the R programming language, students analyze the results and use them to tell the story that is hidden in the data. Students who learn how to code are empowered to invent, create and innovate in ways they previously never thought possible. Put together with project-based learning and performance-based assessment, learning in the classroom takes on a high level of relevance and engagement.