Bringing Computational Thinking into Elementary Mathematics Cheryl Moran Andy Isaacs Katie Rich NCTM, San Antonio 4/8/17
Agenda 1. 2. 3. 4. 5.
Introductions Disclaimers Definitions & Assumptions More Disclaimers Research Review → Goals → Learning Trajectories a. Including some tools that might not work 6. Rousing Conclusion
Learning Trajectories for Everyday Computing (LTEC) ● Two-year, NSF-funded project ● Collaborative effort ○ University of Chicago ○ University of Illinois Urbana-Champaign ○ Computer scientists, educational researchers, curriculum developers, teachers, students, ...
Disclaimers ● Research in computer science education ○ CS education research base at elementary grades ● Research → Practice via instructional materials development ○ Our bias ○ Long process requiring a diverse & well-resourced team ● Our tools ○ Still under development ○ Our audience
Computational Thinking (CT) “Computational thinking is a fundamental skill for everyone, not just for computer scientists. To reading, writing, and arithmetic, we should add computational thinking to every child’s analytical ability.” -Jeannette Wing, 2006
What is Computational Thinking?
Defining Computational Thinking On a sheet of paper... 1. Try to define computational thinking. 2. Fold your paper in half. 3. No need to write your name on it. Pass your paper to the end of your row for collection.
Defining Computational Thinking
What is Integrated Math + CT? What does it mean to integrate any two subjects?
Integrating Math and CS/CT
Adapted from Vasquez, Sneider, & Comer (2013)
Two key features of our approach...
1. Learning Trajectories ● A target goal ● Tasks, including assessments ● A learning path Marty Simon coined the term in 1995. He called them hypothetical learning trajectories.
2. CCSS-M Our prototype CT learning trajectories are designed to fit with the Common Core State Standards as articulated in Everyday Mathematics 4.
Two Approaches to Building Learning Trajectories Research-based: Literature (UC)
Practice-Based: Lessons (UIUC)
“Best of both worlds”
Practice-Based Trajectories Developed in collaboration with 18 teachers and 4 teacher-leaders in Champaign, IL.
Research-Based Trajectories Big ol’ mess of learning goals (600+ of them)
Clusters (~25-50) Tagging; Manual & automated sorts
Trajectories Synthesis, professional judgement, retagging
Learning Goals for CT ● We reviewed 108 scholarly articles and identified learning goals associated with computational thinking in each of them. ● We paid close attention to what researchers reported about how and when students reach those goals.
Developing Learning Goals ● Our working definition: A learning goal is any explicit statement or implicit endorsement of what students can or should be able to do. ● Our review yielded 671 CT learning goals, 406 (60%) of which are supported by empirical work with students.
Tagging Goals 1. 2.
3.
Tagged with grade level, type of support, environment, ... And with Grover and Pea domains of computational thinking a. Abstraction and Pattern Generalization b. Symbol Systems and Representations c. Systematic Processing of Data d. Efficiency and Performance Constraints e. Algorithmic notions of Flow and Control f. Structured Problem Decomposition g. Iterative, Recursive, and Parallel Thinking h. Conditional Logic i. Debugging and Systematic Error Correction But we had problems ...
Concept Domain Grid CONCEPTS (Grover & Pea 2013)
DOMAINS (Emerged from literature review)
Program development process (Iterative development of computational solutions)
Computing languages, environments, and constructs
Algorithms (Flow of control)
Abstraction and Pattern Generalization
Building a solution with pre-decided limitations in mind
Understanding Mapping a function as an existing abstraction solutions onto new problems
Structured
Developing
Applications of computing (Recognizing com problems and interpreting computational resu
Making modeling assumptions before develo begins
Decomposing into computational and
All Goals Entered in a Database
Database
Next Step: Clustering Big ol’ mess of learning goals
Clusters Manual & automated sorts
Trajectories ?????
Using Trello to Sort Goals
Aggregating Goals
Understand that “programs are executed sequentially” Recognize “the importance of putting blocks in the correct sequence to achieve the desired effect” Build programs by sequentially “snapping together blocks”
Understand that computers follow step-by-step instructions, and that the order of instructions matters to how they are interpreted by a computer.
Parse a sequence of events into component steps. Define a series of steps for a solution.
Write specific step-by-step instructions for a given task. Explain why each step is necessary and given in a particular order.
Understanding v. Doing Understand that computers follow step-by-step instructions, and that the order of instructions matters to how they are interpreted by a computer. ● ● ●
Better articulations of CT Easier to conceptualize integration Highly valued outcomes
Write specific step-by-step instructions for a given task. Explain why each step is necessary and given in a particular order. ● ● ●
More easily assessable Easier to understand More closely connected to the data
Looking toward Integration: Removing CS-specific Language “command”
“step”
“program”
“set of instructions”
Often we’ve ended up with on-computer and off-computer versions that roughly pair up. Understand that computers interpret instructions in order, with a start and a finish, and so the order in which they are given to a computer can affect the computer’s output.
Understand that following directions out of order could lead to a different outcome.
Rough Sequencing Trajectory Understand that following directions out of order could lead to a different outcome.
Recognize the benefits of specific, step-by-step instructions (as compared to more general ones) Follow a set of verbal or written instructions from start to finish.
Understand that there may be several sets of instructions that accomplish the same outcome. Choose a set of instructions, from limited choices, to accomplish a task in which order does not matter.
Given an unordered set of instructions, put them in an order that achieves a particular outcome.
Understand how to break a large task down into unordered steps. Articulate an unordered set of steps that achieves a particular outcome (without skipping any major steps).
Understand that computers do exactly and only what they’re told, so directions must be specific.
Understand how to break a large task down into ordered steps. Articulate an ordered set of steps that achieves a particular outcome.
Understand that computers interpret instructions in order, with a start and a finish, and so the order in which they are given to a computer can affect the computer’s output.
Understand that when creating a program, one must attend to both the specificity and the order of the commands.
Understand that there are commands that can be given to computers that alter the order in which instructions are executed (e.g. conditional statements, repeat commands).
7U: Understand the ways in which new instructions can be added to sequences of instructions, and how the place in which the new instructions are added may affect the outcome.
Sequencing - Math Activities
Integrating Math Activities to Trajectories
A Sample Trajectory: Conditionals
The Online Tool: Conditionals Conditionals Trajectory
The Online Tool: Sequencing Sequencing Trajectory
Weaving Curricular Webs
Trajectory Boundaries ● How discrete should the trajectories be? ● How address connections between trajectories? ● How address dependencies between trajectories? Sequencing
Repetition
Conditionals
Options for Trajectory Boundaries, Dependencies, Connections, ... ● Merged
Sequencing, Repetition, Conditionals
● Explicit dependencies
Sequencing
Repetition
● Nonlinear ● Overlapping
Repetition Sequencing
Conditionals
Conditionals
Engineering Instructional Materials
Our Blog http://blog.everydaycomputing.org/
Thank you! Cheryl Moran
[email protected] Andy Isaacs
[email protected] Katie Rich
[email protected] everydaycomputing.org