Wednesday, July 27, 2016

Computational Thinking and Advanced Algebra

Before attending Code Camp, I planned on finding specific lessons where I would integrate Computational Thinking (CT) into the content.  However after attending Code Camp, I am realizing that Computational Thinking is EVERYWHERE in mathematics.  While some units (like our data unit) lends itself very concretely to computational thinking, nearly all math has an opportunity to incorporate CT practices depending on how it is taught.

Below is the list of topics I had planned on integrating CT:

  • Sequences
  • Probability
  • Systems and inequalities 
  • Data analysis
Now I really think you can incorporate CT everywhere depending on how you teach content.  Teaching students to think and create IS teaching CT.   For example, algorithmic design could be nearly everywhere in our teaching.  If I can provide students with an experience that leads them to develop their own algorithm for a task in math, then they are practicing algorithmic design.  For example, giving students an open ended problem to find the equation of a parabola given specific information can lead to students developing their own algorithm for this task.  I believe the two keys to this are A) providing student with this opportunity and B) making it explicit with students that they are engaging in algorithmic design when they do this.  To do this, I want to provide students with an experience the first week of school where they write their own algorithm for sorting cards and then translate this into a fake assembly language.  This will introduce students to the idea of "Algorithmic Design" without adding stress associated with content or assessment.  With thinking more intentionally about algorithmic design, I would like students to program some key algorithms that we use in class (like finding the vertex of a parabola, or finding the number of zeros of a parabola) using Scratch to do so.  

In addition to algorithm design, I realized a lot of the teaching I already do deals with CT practices of Pattern Generalization and Pattern Recognition.  Every time I ask student to explore a Desmos graph with sliders or Geogebra project with sliders, I ask them to notice patterns or trends in the graphs as they change the slider.  When they make a conjecture, they are generalizing the pattern they notice.  This a-ha moment for me made me realize the true importance of teaching students to THINK above all else.  Any computer can follow an algorithm more quickly and accurately than any human - but to be able to design an algorithm and recognize/generalize patterns are a uniquely human trait.  



Finally, attending Code Camp encouraged me to think about my Advanced Algebra unit in data from a CS perspective.  I will plan on being more explicit when we are engaging the the CT practices of data analysis, data collection, and data representation. By making this more explicit with students, I will be able to highlight CT practices everyday in class. 



No comments:

Post a Comment