Automation

While all of the computational thinking practices so far are useful, the purpose of many of them is automation.  What is the purpose of automation? To make your life easier!  Automation makes use of the problems you've decomposed, the patterns you've identified, the algorithms you've come up with (or used), and the abstractions that represent your problem (or parts of it) in order to:

  • do repetitive tasks quickly and consistently,
  • do things at a scale we couldn't do otherwise,
  • create simulations and models,
  • collaborate with others over distances,
  • and so much more!

 

Tools that automate data creation, collection, manipulation, analysis, and visualization are increasingly available, making the ability to automate ever more important.  The language of automation is what many might call programming.  Have you ever programmed anything?  I bet you have.  If you have ever done something as simple as using a formula in MS Excel or Google Sheets, you have programmed!  For example, what do you suppose the following program automates?

=average(A2:A2000)

This simple formula automatically finds the mean of nearly 2000 data points.  Here are a couple of other ways you may have used automation for data analysis:

  1. =count(RANGE) : counts the # of values in a range
  2. =countif(RANGE, CRITERION): counts the # of values in a range that meet a specified condition
  3. =sumif(RANGE, CRITERION, [SUM_RANGE]): sums the values in a range that meet a specific condition.  Note that there is a third parameter that is optional (that's what the square brackets indicate).  Using all 3 parameters, you could automate the summation of multiple values in one column based on values in another column that met your condition.

Spreadsheets are not the only automation tool available to you.  In fact, many tools allow you to automate data practices without needing to type anything out.  Consider, for example, the buttons in MS Excel or Google Sheets that you can use to automate data visualizations.  There was a time when such visualizations would have had to have been done by hand. 

Other non-text based tools like PHET (https://phet.colorado.edu/ Links to an external site.), enable the automation of science experiments using a graphical user interface (GUI).  Tools like Scratch (https://scratch.mit.edu Links to an external site.) are now used to teach young children to think computationally by dragging and dropping blocks of code in novel arrangements.   Google Science Journal (https://sciencejournal.withgoogle.com/ Links to an external site.) is a free app for mobile phones that uses the phone's sensors to automate the creation and collection of data in ways that educators could only have dreamed of 30 years ago. You can use micro:bits in the classrooms to create and collect data  in a myriad of ways for less than $20 per device.  The automation language is another block-based programming language created by Microsoft that facilitates automation while promoting computational thinking.

 

What are some of the ways you might (or have) automate(d) the different data practices in your science classes?

After entering some ideas, refresh the page to see them added to our crowdsourced list below: