Fourth-grade students design a computer simulation to model how a new species introduction affects native populations.
In the last few years, there has been a push to provide high- quality computer science instruction to all K–12 students. Thanks to the work of activists and nonprofits, such as , leaders at the local, state, and national level are recognizing the importance of K–12 computer science education. In 2016 President Obama announced his Computer Science For All (CS For All) initiative, and in 2017, President Trump signed a Presidential Memorandum to expand access to Computer Science and STEM Education (Smith 2016; Office of Science and Technology Policy 2017).
Computer science (CS) and computational thinking (a problem-solving process used by computer scientists) teach students design, logical reasoning, and problem solving—skills that are valuable in life and in any career. Computational thinking (CT) concepts such as decomposition teach students how to break down and tackle a large complex problem. Engaging in CT practices like debugging (finding and fixing errors), persevering, and collaborating helps to prepare students to be the innovators and developers of new technologies.
Elementary educators see the need and benefit of CS education but struggle to fit something new into the already packed elementary school day. While some schools have started robotics and computer science after-school clubs, these do not address the need to educate ALL students in CS. To provide equitable access to CS education, instruction needs to occur during the regular school day and in the classroom.
We sought to address this problem by developing and implementing interdisciplinary STEM + Computer Science Problem-Based Learning (STEM+CS PBL) units in grades 3–5. CS concepts are integrated with content already being taught, thus eliminating the need for an additional block of instructional time. Each unit centers on a real-world problem, integrates multiple content areas, and includes a culminating performance task/product in which students demonstrate and apply their understanding of the concepts learned. The problem provides context and gives students a purpose for learning content area benchmarks.
One of our five-week-long STEM+ CS PBL units, “Non-Native Invasion,” engaged fourth-grade students with tackling the real-world problem of the invasive Burmese python in the Everglades and required students to design a computer simulation to model and predict how its introduction to the ecosystem affects native populations.
Units were developed using backward design, in which we first determined the key knowledge and skills we want students to acquire as a result of the unit (content area benchmarks) and then developed the performance task around a real-world problem that would force students to learn those concepts in order to solve the problem. In other words, you start with what you want the students to know, rather than the activity or task you want them to do.
While developing the Non-Native Invasion unit, we reviewed the grade 4 Florida state life science benchmarks and grouped benchmarks that could be taught together with connected overarching concepts (basic needs of living things, energy flow in an ecosystem, and interdependence). The coherent group of standards was then used to relate these concepts to a real-world problem. Being in South Florida, we found these concepts could be explored further by students through the investigation of the non-native Burmese python in the Everglades ecosystem, a problem that scientists currently are trying to address.
With the context for learning established, we identified concepts from other content areas that could be integrated as students worked to solve this problem. For example, social studies (local and state government and civic engagement), English language arts (research, read, write, and present orally), math (analyzing patterns), and computer science (models/simulations, algorithms, programming, debugging) concepts were included. Additional essential questions were developed to encompass all content area benchmarks.
Finally, we developed an authentic performance task around this problem to assess student understanding. We utilized the design tool GRASPS (Goal, Role, Audience, Situation, Product, Standards; see Figure 1) to define the problem and goal for students (Wiggins and McTighe 2005).
After the GRASPS was developed, we designed rubrics for the performance task, curated resources for teachers related to the problem (articles, videos, and websites), created a “client letter” and opening activity to introduce the problem to students, and generated lesson plans to help scaffold student learning.
The problem of invasive species in the Everglades was introduced to students by first showing them an image (Figure 2, p. 39) and asking them probing questions: “What do you see in the image?” “What does this make you think about?” “What does this make you feel?” “What questions do you have about this image?” At first, students may not be sure of what they are looking at. After some discussion, (if not already clear) the teacher explains to students that they are viewing an image of a Burmese python that exploded after consuming an American alligator. “Gross!” “How?” “Why?” and “Cool!” are the general reactions from students. Regardless of their feelings about the image, students are now engaged and ready to learn more about this interesting problem.
Now that their interest has been piqued, students read a client letter that introduces the GRASPS. The letter (see NSTA Connection) includes images and graphics and embedded definitions of essential science vocabulary (e.g., non-native) that students may not be familiar with. The letter explains the task to students and includes research questions they should investigate, such as “How did the Burmese Python get in the Everglades?” and “What is currently being done to solve the problem?” The client letter is written at approximately a fourth-grade reading level and includes all elements of the GRASPS. The purpose of the letter is to further engage students, set the context, provide additional information about the problem, and outline the performance task.
Students brainstorm questions they have or things they need to learn or understand to solve the problem posed in the letter, such as “What are the native species in the Everglades?” “How is the Burmese python affecting the population of native species?” “What does the python eat?” and “How often does the python reproduce compared to native species?” They work individually and in groups to research answers to these questions and engage in lessons and activities to help them acquire the knowledge and skills necessary to successfully complete the performance task. Research was conducted utilizing teacher-approved online resources (e.g., National Geographic, Everglades Foundation), articles, and books from the school library.
Lessons for the unit scaffold student learning and move students toward the creation of their final product (population simulation and debate). Science lessons included topics such as life cycles, basic needs of living things, Everglades habitats and native species, non-native/invasive species, producers and consumers, predator and prey, and food chains and food webs. Social studies lessons included topics such as state government and citizenship.
Literacy standards were integrated throughout the modules with included texts, centers, and student journal writing prompts related to the conceptual topics being studied. Furthermore, students utilized research skills to investigate the topic of study and apply information learned in their final culminating project. Students conducted research on characteristics (habitat, life span, diet, and reproduction rate) of both the python and native species. Information gathered was recorded in a table (p. XX) and used to help inform the development of their simulation. Students demonstrated listening and speaking skills in the presentation of their debate.
CT and CS lessons were integrated throughout the units both in “unplugged” (off the computer) activities, as well as “plugged” (on the computer) activities using ’s CS Fundamentals Courses D (grade 3), E (grade 4), and F (grade 5) to introduce CS concepts (such as algorithms, loops, conditionals, and events) as well as CT practices (such as debugging, persevering, and collaborating). After several weeks working on lessons—once students gained confidence in utilizing the Blockly programming language (developed by Google and utilized by both and Scratch)—teachers introduced students to MIT’s Scratch programming platform.
Students utilized Scratch to apply CS concepts learned in the lessons and demonstrate mastery of content standards in their final product (simulation game). The programming environment in and Scratch are very similar (both in look and user experience) so students can easily transition from ’s structured programming puzzles to Scratch’s open-ended programming platform. In this way, serves as the “training wheels” to build knowledge and confidence before letting students explore freely with Scratch. While it is not essential that students work in online activities before moving on to the Scratch programming platform, it is helpful in scaffolding student learning. Furthermore, puzzles and unplugged lessons explicitly teach CS concepts, while Scratch does not.
Both and Scratch have very similar interfaces (Figures 3 and 4, respectively) that include a stage area to the left of the screen where students can view and run what they have programmed as well as a workspace area to the right of the screen (for dragging and connecting programming blocks). To keep the programming simple for beginners, limits the number of programming blocks available to students to just those needed to complete the puzzles. It also provides specific challenges for students to meet, offers hints if students get stuck, and records student progress. Additionally, programming puzzles build on each other and increase in complexity to scaffold student learning.
Scratch is more of an open playground, where students have access to a menu of programming blocks sorted by actions (i.e., motion, looks, sound, events, and so on) and have the ability to add, edit, and delete characters (sprites), backdrops, and sounds from a library of choices. Additionally, students can upload and record their own media, which expands the possibilities. For example, sprites are limited to such characters as a wizard, a witch, a dog, or a cat, while in Scratch you can upload images of real animals (i.e., alligator) and places (like the Everglades).
Lessons were also developed to scaffold student learning of programming in Scratch and allow students to develop programming elements needed in their simulation game. The Scratch environment itself has a robust “tips” section that includes step-by-step tutorials and descriptions of the programming blocks that allow students to teach themselves and their classmates how to add certain elements (such as keeping score or moving an object with arrow keys) to their project. Also, Scratch programming cards can be downloaded for free to instruct students to add different elements to their project, such as making a sprite (programmable character/object) say words through a speech bubble.
In some units, additional CT lessons were included. For example, in the Non-Native Invasion unit, students were asked to play an “unplugged” (not on the computer) Everglades population simulation board game (see NSTA Connection) in which they simulated how the introduction of the invasive Burmese python into the Everglades ecosystem would affect the population of native species. “Unplugged” lessons teach CS and CT lessons without requiring the use of a computer. In this activity, students took the role of an animal population (marsh rabbit, alligator, or python) and rolled a die to move along a gridded game board to “consume” their food/prey. At the end of each round, those members of the population that had not consumed any food “died,” and those that survived were able to “reproduce.” Not all animals reproduced at the same factor/rate, and this rate was based on the research students had done previously. Population data was recorded after each round. The game was played several rounds without the python. The python player was then introduced to the game and population data from before and after its introduction was compared. Students analyzed the data to identify patterns and predict future population trends. What students usually found was that the population of the marsh rabbit and the alligator, while fluctuating slightly, generally remained stable prior to the introduction of the python. Once the python player entered the game, the marsh rabbit populations declined and then subsequently, due to lack of food, the alligator population did as well. Students were given the opportunity to introduce additional scenarios to the simulation (such as enacting a python hunt to reduce its population), make predictions about how the scenario would affect the alligator and marsh rabbit populations, and test those predictions by running the simulation game additional rounds.
To provide them with a model, students were shown a sample simulation game in Scratch (see Internet Resources), but they were encouraged to create their own unique game. In Scratch, students are able to “remix” another user’s project by copying it into their account and making their own modifications. Students were allowed to remix our sample project so long as their final product was significantly different. The remix feature was helpful in providing students relevant sprites or characters (such as the alligator or python) and backgrounds that they could use in their project without having to spend a lot of time finding, uploading, and editing an image for use in their project. Students were assigned to research and presentation teams but could work individually or collaboratively on different parts of the performance task.
Students also had the option to create their own unplugged game instead of a simulation on Scratch. The creation of the game itself and the testing of the simulation would still require a lot of computational thinking to make an accurate model. For example, students would need to apply the CT concept of decomposition to break the problem of designing a game into smaller more manageable parts (e.g., defining the object of the game, determining game players and how to score points etc.). Additionally, students would need to use the CT concept of abstraction to identify the most relevant data collected about the native and non-native species of the Everglades (e.g., how much they eat and how often they reproduce) and utilize the CT concept of pattern recognition to identify the rate of change in population size of the species under investigation. Most of the students, however, chose to create their simulation game using Scratch.
The simulation game and debate served as the summative assessment (performance task) for the unit, allowing students to demonstrate mastery of the standards. The unit also included formative assessments in the form of mini-tasks embedded in lessons (e.g., the research data chart on native Everglades species) to help progress students toward the final project and evaluate student learning along the way.
Five rubrics were utilized to determine students’ final score (75 total points) on the performance task. Each rubric measured a different aspect of desired student learning/performance: collaboration (individual), collaboration (teamwork), content (assessing mastery of science standards demonstrated in Scratch project), Scratch project (assessing mastery of computer science standards), and debate (assessing mastery of both science standards and English language art standards- listening/speaking/research).
During the development of the units, we determined that “less is more.” Providing teachers only the essential lessons needed to scaffold the learning ensured students were successful in completing their final product and allowed for more teacher flexibility and less issue with “fitting it all in.”
It was also important to include pathways for differentiation (articles, resources, and activities for varying levels) and keep the performance tasks as open-ended as possible (with only a few criteria that needed to be met) so that students could successfully complete the task and demonstrate their knowledge but still be appropriately challenged. One way to make the performance task more open-ended and allow for student choice is to allow students to choose what sort of project they developed in Scratch to demonstrate understanding. For example, instead of stipulating that students create a game/simulation in Scratch, students could choose from several presentation type of Scratch projects (e.g., game/quiz, public service announcement, story, short film, and so on) to illustrate the problem of invasive species in the Everglades.
During implementation of the units, time continued to be a factor for teachers; however, we found those that struggled the most were the ones that had not been previously teaching science with fidelity. Therefore, the integration of the CS component, while it did require additional time, was not in and of itself a major burden on teachers. We found that the students were overwhelmingly excited and engaged throughout the unit. This is evidenced by both teacher and student reports as well as observations. One teacher who participated in the project observed, “I watched as my students became engaged and enthusiastic about integrating technology in every aspect of our study.…Even my students with disabilities were engaged and enlightened.” Another teacher noted that “interdisciplinary [instruction] is wonderful and the children enjoy the content more and the knowledge also sticks more.” Additionally, teachers who participated in the study and spoke to our grant evaluator in focus groups overwhelmingly reported that the students “love coding” and were “highly engaged” with the unit.
Many teachers who were apprehensive about using technology and not wholly confident in their own CS knowledge or skills realized that they did not need to be the experts in the classroom. While teachers did receive professional development in programming in Scratch, we found that generally, once students were introduced to the programming platform, they constructed most of their knowledge with minimal direct instruction from the teacher. They did so by viewing tutorials and programming instruction cards (both accessible from the Scratch website), viewing other student projects and code online, and learning from their peers.
One successful strategy encouraged students to take turns coming to the front of the class and sharing something they had discovered how to do in Scratch. Modeling from the teacher was less about how to accomplish a specific task but rather more about how to discover or find an answer to something they didn’t know how to do. For example, students were encouraged to pull out programming blocks they were unfamiliar with, experiment with them, and observe and discover what they could be used for. It was important for students to share their work frequently, pose questions to their peers, and discuss how different strategies could be used to accomplish the same task. Student engagement during these sessions were at an all-time high and students who were described by their teacher as generally “uninterested” were visibly excited, engaged, and proud to share what they had learned and created on their own.
In this way, and throughout the unit, the teacher acted as facilitator of the learning, helping to encourage students, asking probing questions to understand their thinking, and directing them on how or where to find answers to their questions. In the age of the internet, ultimately our goal should be to teach students how to learn and solve problems rather than just providing them information they can find through a simple Google search. We have found problem-based learning and computer science is the perfect vehicle to do just that.
Students using evidence from the simulation, come to a group consensus on the best beak shape for picking up each type of food.
Students propose a solution to the real-world problem of the invasive Burmese python in the Everglades.
LS2.C: Ecosystem Dynamics, Functioning, and Resilience
When the environment changes in ways that affect a place’s physical characteristics, temperature, or availability of resources, some organisms survive and reproduce, others move to new locations, yet others move into the transformed environment, and some die.
Students understand how the population of native species in the Everglades is affected when an invasive species (Burmese python) is introduced.
Students explore what humans can do to address the problem of invasive species in the Everglades.
Students describe how the introduction of an invasive species affects native populations.
3-LS4-3. Construct an argument with evidence that in a particular habitat some organisms can survive well, some survive less well, and some cannot survive at all.
Students read informational texts to better understand the problem of the invasive Burmese python in the Everglades.
Students present research and proposed solutions to the problem through writing, speaking, and listening.
Students add and multiply to determine population data in their unplugged simulation game.
Students review current data as well as data generated by their simulation to recognize patterns and predict future outcomes.
Google Drive Folder
Buck Institute. 3 – 5 Collaboration Rubric Retrieved from
Deruy E. (2016, October 19). A plan to teach every child computer science. The Atlantic. Retrieved from
Institute of Food and Agricultural Sciences (IFAS) (July 2008). Burmese pythons in south Florida: Scientific support for invasive species management. (IFAS Publication Number WEC-242span). Retrieved from
Smith M. (2016, January 30). Computer science for all [Web log post]. Retrieved from
Tarshis L (2010, November). Monsters of the Everglades. Scholastic Scope, 4–8.
United States Geological Survey (USGS). (2017, July 3). Retrieved from
Whitehouse.gov. (2017, September 25). President Trump signs presidential memo to increase access to STEM and computer science education. Office of Science and Technology Policy. Retrieved from
Wiggins G.P., and McTighe J.. 2005. Understanding by design. ASCD.
eBookSocial Justice in the Science Classroom: Collected Volume from NSTA Publications (e-book)
Social Justice in the Science Classroom is a compilation of 19 articles from NSTA journals, illustrating successful incorporation of socially-just tea...