As computer science plays an increasingly large role in our lives, it is important to also move it into our classrooms. Computer science careers are among the fastest growing jobs, yet large groups of the population are severely underrepresented in computer science. Elementary school is a key time to introduce computer science or computational thinking because students are capable of programming and they will soon be deciding whether they see a future in the sciences. Including computational thinking as a part of the elementary school general education would give all children an introduction to the subject. In addition, elementary schools are looking for computational thinking material. We need appropriate, research-based tools and curricula for them to use.Unlike the natural sciences, computer science's domain is pliable. Through language and programming environments, developers can create new ways to represent computational thinking concepts. My research seeks 1) to understand how 4 th through 6 th grade students learn computational thinking, 2) to develop computational thinking learning progressions and curricula, and 3) to create a language and programming environment suitable for elementary school classes and teachers who do not have a computer science background.