The full version of this chapter can be found in the complete K–12 Computer Science Framework. An accompanying review of the research can be found in Appendix B.
Integrating computer science-related practices into early childhood education is not a departure from traditional notions of developmentally appropriate practice; rather, computer science supports play-based pedagogy, extends what educators are already doing in their classrooms, and guides young learners to notice, name, and recognize how computing shapes their world. In this way, pre-K brings computer science to life, preparing kids for the larger K–12 framework. Computer science is well-suited for early childhood education as it offers a learning environment where young children can “play to learn while learning to play” (Resnick, 2003).
Powerful Ideas in Pre-K Computer Science
The K–12 Computer Science Framework draws on Seymour Papert’s “powerful ideas” to articulate specific computer science concepts and practices for the K–12 learning environment. This section outlines a set of “powerful ideas” specific to early childhood education.
As outlined in the graphic below, four powerful ideas are embedded within the core content areas of math, literacy, and science, and the fifth—social and emotional learning—is understood as a holistic frame for all early childhood educational practices. Further, these powerful ideas are encompassed by the pedagogical bedrock of early learning environments: play.
These five ideas are outlined below and frame computer science as a natural extension that builds on what educators already do in their daily practice.
1. Social and Emotional Learning
Children develop social and emotional skills through playful interactions with peers and adults, and research continually shows these interactions can have significant impacts on children’s learning and development. These strong affective, behavioral, and cognitive competencies provide the foundation for successful learning and development.
Framework Connections: P1.Fostering an Inclusive Computing Culture, P2.Collaborating Around Computing, and P7.Communicating About Computing
Within the context of the framework, practices 1, 2, and 7 encompass being able to work and communicate with teams with lots of differing perspectives. Teachers can foster an inclusive computing environment by presenting opportunities for students to share, collaborate, and support one another. In computer science, the best products are created by teams consisting of members with varied backgrounds who listen to and respect one another’s ideas. Additionally, computer science is more than just creating products; it involves effectively communicating (verbally and visually) processes and solutions to a broader audience. These principles can be developed in the pre-K classroom by fostering children’s social and emotional development through play.
Patterns help us make sense of the world by organizing objects and information using common features (e.g., color, shape, size). In computer science, patterns allow people to reduce complexity by generalizing and applying solutions to multiple situations. Learning about patterns in the early years can build a foundation for developing and using abstractions (e.g., defining and calling procedures), solving computational problems more effectively (e.g., using loops instead of repeating commands), and making inferences (e.g., using models and simulations to draw conclusions).
Framework Connections: P4.Developing and Using Abstractions
One aspect of developing and using abstractions is the ability to categorize items/objects/code and identify general attributes based on those categorizations (or “abstract” out more general patterns to describe the categorizations).
3. Problem Solving
Young children naturally engage in problem-solving processes in their daily lives as they explore and interact with the world around them. Teachers can help make problem solving “visible” by asking questions to uncover children’s reasoning and thought processes (e.g., How did you know that? What made you think that?) as well as offering structured methods to scaffold children’s problem solving. One such method often used in computer science is an iterative development process. This process involves identifying a problem; devising and testing solutions; evaluating the results; and revising and redoing to find the best solution.
Framework Connections: P3.Recognizing and Defining Computational Problems, P5.Creating Computational Artifacts, and P6.Testing and Refining Computational Artifacts
In one sense, computer science is the study of problems, problem-solving processes, and the solutions that result from such processes. Engaging in problem-solving activities early on can set the foundation for recognizing and defining computational problems, engaging in testing and refinement strategies, and developing and evaluating computational solutions to real-world problems.
Any language that has a print version is an example of how language can be represented. In the case of English, the language is represented by words or word parts, which denote sounds and meanings. Similarly, computational languages are represented by numbers, text, and symbols.
Framework Connections: P4.Developing and Using Abstractions, P5.Creating Computational Artifacts, and P7.Communicating About Computing
Understanding representation in the early years can build a foundation for understanding how computers represent information and simulate the behavior of systems, both of which are important for developing and using abstractions. Additionally, the creation of computational artifacts involves developing simulations and visualizations that require an understanding of how computers represent data, and effective communication about computing involves presenting information through visual representations (e.g., storyboards, graphs).
Children often learn about sequence through early literacy and math. For example, children learn that stories follow a sequence (beginning, middle, end). Similarly, sequencing is explored through ordinal numbers (first, second, third) as well as size and magnitude (smallest to largest). In computer science, sequencing is an important foundation for algorithms, which are precise sets of instructions that computers follow to accomplish a specific task. It is critical that people give instructions in the proper sequence because computers do exactly what they are programmed to do; if the instructions are not sequenced properly, the algorithm will not achieve the desired result.
Framework Connections: P3.Recognizing and Defining Computational Problems, P4.Developing and Using Abstractions, and P5.Creating Computational Artifacts
Learning about sequencing in the early years can build a foundation for learning one of the five core concepts of the framework, Algorithms and Programming—key ideas in computational problem solving, abstraction, and artifact creation.