Computer Science and Computational Thinking

As the field of computer science grows and computing technology becomes increasingly prominent, helping students develop proficiency with computer science concepts and practices and computational ways of thinking has become a national priority. Preparing all students for a computer-driven future will require innovations in curriculum, assessment, and teaching.

In this Spotlight, Aankit Patel reflects on his experience working with teachers to implement equitable computer science education in NYC schools. In addition, DRK-12 projects discuss their work with K-12 students and teachers to promote computer science and computational thinking across academic disciplines.

In this Spotlight...


Equitable Implementation of Computer Science Education

Aankit Patel, Director of STEM Education Programs, The City University of New York

Aankit PatelIn-service teacher professional development is the lever most state and local initiatives are using to expand computing⁠—computer science and computational thinking⁠—instruction to all students. This is the case with the 10 year, $81 million public-private Computer Science for All (CS4All) initiative I helped lead during my time at the New York City Department of Education (NYCDOE). Over the course of the first 5 years, we trained over 2,000 K-12 teachers from a variety of backgrounds. The long-term sustainability of this work, its short-term efficacy, and its impact on students is being evaluated by multiple research teams. The answers will be complex and there is much to be learned by this initiative. As a district administrator, one of the most important things I learned was that working with teachers in an iterative, collaborative inquiry into their problems of practice built a trusted community of practice that could support new and veteran teachers sustainably over time.

When building the NYC CS4All Blueprint, I ran over 30 sessions with pioneering CS teachers and community-based organizations to gather, categorize, and prioritize practical challenges, learning objectives, and important artifacts...


Featured Projects

A New Visual Programming Environment for Learning and Teaching Computational Thinking across Cyber-Physical Spaces (NSF #1721054)

PI: Charles Xie | Co-PIs: Pankaj Sharma, Senay Purzer
Target Audience: Grades K-16
Disciplines/Foci: Science, Engineering, Mathematics

Description: We are developing a new visual programming environment that supports the learning and teaching of computational thinking in the context of science, engineering, and mathematics. Compared with existing paradigms, our approach focuses more closely at the conceptual level such that it can be considered as an executable flowchart.

Approach to Addressing Computer Science (CS) and Computational Thinking (CT) in PreK-12Conventional programming is challenging to novices as they are often confronted with high barriers of syntaxes and abstraction—even with a friendly language like Python. Visual coding is an effective approach for introducing students to computer science. In this project, we are developing a new visual programming paradigm that allows for computational concepts such as the relationships among variables and the logic of data flow to become more transparent to students. As flowcharts are important visual aids to computational thinking independent of any programming language, a visual programming environment that makes flowcharts “live” would be tremendously helpful to students in understanding the basic concepts of computer science. As students no longer need to struggle with any particular syntax in the code, they can focus on exercising computational thinking that drives their learning through making scientific, engineering, or mathematical artifacts. For example, they can devise an Internet of Things (IoT) app that collects sensor data from a science experiment, based on which they can then generate infographics or trigger actuators. Students can also program parametric or generative design for art and engineering (see the image to the right that uses fractal as an example).

Early Findings: We are still in an early stage of our research and development and will collect preliminary data from a number of Massachusetts middle and high schools in 2020.

Product: Visual Programming Environment


CAREER: Spreading Computational Literacy Equitably via Integration of Computing in Preservice Teacher Preparation (NSF #1941642)

PI: Lauren Margulieux
Target Audience: Preservice teachers across grade bands and academic content areas, primarily those who will be teaching in urban areas.
Disciplines/Foci: All academic disciplines, including STEM

Description: This project studies the effect of integrating computing into preservice teacher programs across grade bands and disciplines. The project explores how to connect computing concepts and integration activities to teachers' subject area knowledge and teaching practice, and which computing concepts are most valuable for general computational literacy.

Approach to Addressing Computer Science (CS) and Computational Thinking (CT) in PreK-12: The project broadens participation in computer science and computational thinking by preparing all preservice teachers at Georgia State to integrate computing activities into their courses. The impact of preparing all teachers to use computing activities is that students receive exposure to multiple computing activities throughout PreK-12 and understand how computing is used in all disciplines. Even if students do not pursue a job in computer science, they are better prepared to use computing solutions in their chosen profession and in their personal lives. Integrating computing activities also gives teachers new tools to teach within their discipline, and the computing activities are co-designed with teacher preparation faculty to ensure that they are authentic to the primary discipline. This project is unique because it is integrating computing activities across disciplines and grade bands simultaneously. In this context, researchers can explore which computing concepts and practices are universal and should be considered part of a general computational literacy, a topic that is debated on computing education researchers.

Early Findings: In our pilot work, we have found that early in the learning process teachers appreciate activities that also include a detailed lesson plan for how they can use it with students. More structured activities that come with a detailed lesson plans make teachers more comfortable to use the activities in student teaching or practicums. Once teachers use the activities with students, the enthusiasm of the students to engage with the activity makes the teachers motivated to continue to use the activity and to explore variations of the activity or other activities.

Product: Example Middle School Science Computing Activity


Computing and Math Play Spaces (CAMPS) (NSF #1742257)

PI: Melissa GresalfiCo-PIs: Douglas Clark, Corey Brady
Target Audience: Urban middle school students in the Southeastern United States
Disciplines/Foci: Computational Thinking, Mathematics, Art

Description: The project explores learning environments that integrate mathematical and computational thinking. Using design-based research as a methodology, we have designed and implemented a set of modules that contrast: 1) foregrounding mathematics vs. computational thinking; and 2) Exploring movement versus images as an artistic medium.

Approach to Addressing Computer Science (CS) and Computational Thinking (CT) in PreK-12The goal of this project is to explore intersections between programming, mathematical thinking, and artistic expression. This focus offers several unique opportunities. The first is to design a learning environment that invites students to recontextualize mathematical ideas through programming, specifically as they use those ideas in the programs they develop. The second explores how communicating with computational agents can create and inscribe artistic expressions. In addition, our deliberate focus has been to reach out to and connect with students who might not already be interested in or affiliated with computer science—a focus on art has invited a broad range of participation. We have chosen to focus on middle grades, as this is a time when students are beginning to develop ideas about their own skills and competenciesideas that often have long-term and far reaching implications. In addition, the mathematical standards of the middle grades are particularly challenging and lend themselves to exploration in computational environments.

Early Findings: Our early findings point to the many intersections between mathematics and computation, particularly with respect to the ways that connecting two contexts invite students to reexamine mathematical ideas that they might already “know.” Highlighting the mathematical thinking that is central to students’ programming appears to benefit what they think about with respect to both math and programming. It is also clear that the practices of programming support robust mathematical thinking, as the system level feedback and expectations around debugging support students’ persistence and use of multiple strategies even in the face of failure.

Theoretical Framework: Our work is informed by sociocultural theories of learning that highlight the inextricability between person and context. In considering our designs, the tools we use, and the ways those tools and activities position students, we seek to understand how the designs afford and support new relationships with math and computing. We are also informed by constructionist theories that have led to and supported the development of NetLogo and ideas about the power of creating public artifacts.

Methodology: Our methods are primarily qualitative, and we rely heavily on screencapture software to document student work. These are supplemented with whole class video, video of student groups (sometimes using go-pro cameras to capture first person perspectives), and videos that follow teacher activity. We also interview students and teachers, and collect questionnaires from students and teachers.

Key Challenge: We anticipated a challenge in finding math teachers who were interested in learning about computational thinking and programming, but this has not proven to be the case.  Our core challenge is reaching a diverse group of students whose families might have transportation constraints in a city with little public transportation.

Products: Our curricular materials and NetLogo models will be freely available for download at our project website by May 2020.


Determining Prerequisites for Middle School Students to Participate in Robotics-based STEM Lessons: A Computational Thinking Approach (NSF #1417769)

PI: Vikram Kapila | Co-PIs: Jasmine Ma, Magued Iskander, Orit Zaslavsky, Catherine Milne
Target Populations: Urban middle school science and math teachers
Disciplines/Foci: Science, Mathematics, Robotics 

Description: A team of faculty, postdocs, and doctoral students designed and implemented three-week summer professional development (PD) workshops for middle schools teachers on effective use of robotics in science and math teaching. The goal was to support teachers in developing robotics-enhanced, standards-aligned curricula and improving STEM learning for underserved students.

Approach to Addressing Computer Science (CS) and Computational Thinking (CT) in PreK-12: Our focus has been to engage teachers as co-developers in designing and implementing robotics-enhanced STEM lessons. The LEGO robot platform was selected for its relative affordability, easy programming interface, and flexible assembly process. We have collaborated with 43 teachers, through summer PD workshops and academic year follow-up, to design, implement, and assess STEM lessons that incorporate robots as pedagogical tools to mediate student learning. During the PD, teachers learned about robot structures, mechanisms, sensors, and actuators, and the LEGO programming interface. They created, debugged, and modified simple/complex programs by using programing constructs of data operations, flow control, sensor, action, advanced operations, subroutines, etc. Throughout the lessons’ iterative redesign, teachers practiced computational thinking (CT) concepts, e.g., formulating/solving problems, analyzing outcomes, understanding results to make improvements, learning from mistakes, and sharing ideas with others. Having familiarized themselves with robotics-enhanced STEM lesson design, teachers demonstrated self-efficacy in incorporating robots in teaching and were able to discuss technical aspects of robots with students. Although robotics can serve as a tool to foster and assess learners’ CT, the level of CT prerequisite needed for participation in robotics-based STEM lessons remains to be investigated. Thus, we recently studied the prerequisites for middle schoolers to effectively partake in robotics-based STEM lessons.

Early Findings: Among various prerequisite knowledge/skills (behavioral, laboratory, content) needed to teach/learn effectively with robotics, CT is most significant. Teachers/students should acquire CT prerequisites to effectively follow and derive full benefits of robotics-based lessons. During our observations, learners demonstrated several general prerequisite satisfactorily, based on their aptitude and maturity; however, they lacked CT prerequisites. We recommend developing learners’ CT via workshops by offering personalized scaffolds and integrating continuous feedback and quality improvement. Teaching of CS and CT can be integrated with robotics-based STEM lessons provided that teachers have experience in building/programming educational robots and do not treat them as black boxes.

Theoretical Frameworks: Situated Learning Theory, Constructivism, Constructionism, Cognitive Apprenticeship, Social Capital Theory, Apprenticeship Model, TPACK Framework, and Design-Based Research.

Methodology: Quantitative, qualitative, and mixed methods methodological approaches were utilized. The following research instrumentations were used in order to have credibility and transferability: Content knowledge quiz, pre/post surveys, interview questions, focus groups, classroom artifacts, participants’ reflections, classroom observations, rubrics (Evaluating the Quality of Instructional Products (EQuIP), 5E Inquiry Lesson Plan (ILP), Affect).

Key Challenge: Our results are limited due to the constrained scope of research. First, the prerequisites for learning STEM with robotics were determined using surveys of a limited number of respondents. Second, we focused on middle school students’ learning in science and math with specific robotics-based STEM lessons. Third, our data on students’ CT is constrained by our team and teachers’ classroom observations. Fourth, our findings are limited to the use of LEGO EV3 robots under project-based learning. Additional research with different robotics platforms, across various grade levels, and with other pedagogical approaches are required to confirm, elaborate, and generalize our claims.

Products: Lessons | Conference Presentations


GEM-STEP: Generalized Embodied Modeling to Support Science through Technology Enhanced Play (NSF #1908791, 1908632)

PIs: Noel Enyedy, Joshua DanishCo-PIs: Jeffrey Burke, Corey Brady, Ben Loh
Target Audience: Urban 5th grade students in Nashville, TN and 5th grade students in Bloomington, IN
Disciplines/Foci: Science, Computational Thinking

Description: For over 10 years, the Science through Technology Enhanced Play (STEP) group has developed and tested ways to use mixed reality for students to learn science concepts by becoming the phenomenon they are studying through technology enhanced socio-dramatic play. Now we are developing a system that the students themselves can program so that they can learn both through exploratory play and through computational modeling.

Approach to Addressing Computer Science (CS) and Computational Thinking (CT) in PreK-12: The prior STEP environment supports student modeling by having them begin with first- hand, physical explorations of a simulation that reflects the “correct” science. For example, they see honeybees which fly out in search of flowers and then rapidly collet nectar. They then iteratively model their activity and what happens as a result of their activity in more and more formal terms (e.g., acting as honeybees and searching for flowers with nectar). The new GEM-STEP system allows the students to program and revise their own mixed reality simulations as part of their modeling cycle. The combination of embodied and computational modeling will help students to iteratively reflect upon their models in a unique way that we believe will make the students’ models more computationally accurate and their understanding of the underlying concepts more nuanced. By incorporating aspects of computational modeling, students will be able to define the agents in the model (e.g., honeybees, flowers), define the interactions between those agents (e.g., what happens when a honeybee lands on a flower), and iteratively refine their model. They will also be able to play inside the model they create and embody the agents in the MR system comparing what happens in the simulation to what they predict. Like other computational modeling environments students will also be given the opportunity to observe computer controlled agents within the computational environment.

Early Findings: Through prior studies we have learned that students can learn science concepts through embodied modeling in MR environments we create. We have studied what inquiry in these contexts looks like, how embodied resources and taking a first person perspective contribute to the learning process, and how play frames learning in productive ways. In the current project we are struggling with how students enter into programming embodied computational models when they have little experience with MR and limited programming knowledge. We are also exploring different ways to manage several groups simultaneously programming GEM-STEP models when there is only one set of sensors to test and debug students' models.

Products: Website | JLS Article | IJCSCL Article


Getting Unstuck: Designing and Evaluating Teacher Resources to Support Conceptual and Creative Fluency with Programming (NSF #1908110)

PI: Karen Brennan
Target Audience: Grades 4-6

Description: Getting Unstuck involves the design and evaluation of (1) an online learning experience for teachers to develop conceptual and creative fluency through short programming prompts (featuring the Scratch programming environment), and (2) educative curriculum materials for the classroom to support students with problem-solving strategies for computer programming.

Approach to Addressing Computer Science (CS) and Computational Thinking (CT) in PreK-12: K–12 introductory programming experiences are often highly scaffolded, and it can be challenging for students to transition from constrained exercises to open-ended programming activities encountered later in and out of school. Problem-solving strategies, or debugging, are essential practices for computer programming and computational thinking. Teachers can provide critical support to help students solve problems and develop the cognitive, social, and emotional capacities required for conceptually and creatively complex programming challenges. Teachers—particularly elementary and middle school teachers—often lack the programming content knowledge, skills, and practices needed to support deeper and more meaningful programming experiences for students. Professional development opportunities can cultivate teacher expertise, especially when supported by curricular materials that bridge teachers' professional learning and students' classroom learning. This research responds to these needs, addressing key national priorities for increasing access to high-quality K–12 computer science education for all students through teacher professional development.

Early Findings: Through the online pilot of Getting Unstuck, teachers explored a number of Scratch programming prompts to develop their creative fluency. We have since learned that teachers have adapted the programming prompts in a variety of ways for their own classroom contexts. Some teachers have designed opportunities for all students to engage in the same project prompt, while others have shared prompts with students as opportunities for extra credit. While teachers are excited to use these prompts to teach problem-solving strategies, they have asked for additional support in designing assessment methods, developing conceptual knowledge, and providing examples of student work.

Products: Website | SIGCSE '19 Article


Zoombinis: The Implementation Research Study of a Computational Thinking Game for Upper Elementary and Middle School Learners (NSF #1502882)

PI: Jodi Asbell-Clarke | Co-PIs: Elizabeth Rowe, Teon Edwards
Target Audience: Grades 3-8
Discipline/Focus: Computational Thinking

Description: We have studied how teachers use the popular learning game Zoombinis to build computational thinking (CT) practices in classes for grades 3-8. While students explore CT practices through the fun logic puzzles in the game, teachers connect those practices to problem-solving in STEM and everyday activities.

Approach to Addressing Computer Science (CS) and Computational Thinking (CT) in PreK-12: Zoombinis is a popular, award-winning learning game designed by learning scientists in the 1990s to engage learners, age 8 to adult, in computational problem-solving (TERC, 2019). Zoombinis consists of a series of 12 puzzles, each with 4 levels of complexity, in which players lead packs of Zoombinis characters to their safety in Zoombiniville. Each Zoombini has one of five different types of hair, eyes, noses, and feet. Puzzles require sorting, matching, and sequencing of the Zoombinis by their specific attributes. The attributes of the Zoombinis, and associated rules of each puzzle, change with each new round of play so that players must find methods of solving the problems not just “the right answer.” Other puzzles in the game apply similar logic and CT practices in different contexts, such as identifying the exact combination of pizza toppings to satisfy hungry, but picky, trolls.

Zoombinis engages learners in computational thinking practices such as problem decomposition, pattern recognition, abstraction, and algorithm design. We provide “bridge activities” that help teachers connect the implicit CT in the game to explicit classroom learning about CT, coding, and other STEM subjects.

Early Findings:

  • The more students demonstrate CT practices within their Zoombinis gameplay, the better they do on a post-test of CT practices (when accounting for their pre-test scores).
  • In classes where teachers spent more class time bridging between the game and classroom learning, students who spent more time playing Zoombinis showed stronger CT practices on the post-test than students who spent less time playing the game.
  • In a sub-sample we found that after students played Zoombinis and participated in related classroom activities, the CT practices of students with IEPs for academic struggles were indistinguishable from students without IEPs.

Theoretical Framework: The theoretical framing that guides the research is based in a model of implicit learning (Collins, 2010; Polanyi, 1966). We have shown that the implicit knowledge that players build in computational thinking through Zoombinis can be a) detectable through EDM methods that have been grounded in human coding of observations of gameplay and b) leverageable by educators for explicit learning through the use of bridge materials.

This framework differentiates between explicit knowledgewhat we can expressfrom implicit knowing, which is what we are able to do. Implicit knowledge is, by definition, largely unexpressed by the learner yet is considered foundational to all knowledge. Explicit knowledge is what educators typically attempt to measure in learning assessments. Games present a rich opportunity to support and measure implicit learning because players are often immersed in problem-solving situations where they experiment with the mechanics to understand the rule system, using trial and error with helpful feedback and rewards for motivation and sustained engagement (NRC, 2011; Thomas and Brown, 2011).

Methodology: To develop and validate a novel form of learning assessment with Zoombinis, we designed automated detectors of CT practices within Zoombinis game play. We collected video and screencapture along with data logs from a wide variety of Zoombinis players. After extensive observations and human-labelling of the data, we build educational data mining (EDM) modes to detect those strategies automatically in student gameplay. These automated detectors provide real-time assessment of CT practices students build implicitly within the game. To validate the detectors as measures of CT, we correlated the detectors with external measures of students’ CT practices. Most CT practice detectors were significantly correlated with these external measures.

Key Challenge: Key challenges we faced in this study include the newness of CT in the field. Teachers were not prepared to teach CT  and were unsure how to fit it into their curriculum. Also, there were few existing valid assessments to use as external measures. Those that exist were often not suitable for neurodiverse audiences, who were an increasingly important part of our study.

Products: Zoombinis Game | Zoombinis Apps (Apple Store, Google Play) | Publications and Conference Presentations


Additional Resources

CS for All Teachers
CS for All Teachers is a virtual community of practice, welcoming all teachers from PreK through high school who are interested in teaching computer science.

K-12 Computer Science Framework
The Association for Computing Machinery, Code.org, Computer Science Teachers Association, Cyber Innovation Center, and National Math and Science Initiative collaborated with states, districts, and the computer science education community to develop these conceptual guidelines for computer science education.

Year