Computational Thinking and the Mid-Range Jumper

In the grade 12 Computer Programming and Computer Science courses we often help students develop an understanding of how computer science and data can work together to find solutions to everyday problems.

While computer science and computer programming skills are developed as students create programs to read in data, output and sort data, additional skills are needed to draw conclusions from this data.

The question I have posed to my students is:

Can you develop and program an algorithm that will draw conclusions from your data?

This question invites students to engage in Computational Thinking (CT).

Aho describes CT as “the thought processes involved in formulating problems so their solutions can be represented as computational steps and algorithms” (Aho, 2011).

Using computer programming and computer science concepts to draw conclusions from data provides a rich and valuable context for the development of CT skills. In addition, these are skills that are, and will be, required in many aspects of research and professional work.

Student have created programs to

determine the distribution of goals

during a soccer season.

Researchers Sanford and Naidu (2016) believe that almost “every avenue of science, engineering, and general business employs digital computation”. It is with computation that we can extract “knowledge from vast quantities of data, or mathematical solutions unavailable through other means” (Sanford & Naidu, 2016, p. 1)

“Computation has proved to be so productive for advancement of science and engineering that virtually every field of science and engineering has developed a computational branch. In many fields, the computational branch has grown to constitute the majority of the field. For example, in 2001 David Baltimore, Nobel Laureate in Biology, said that biology is an information science.” (Denning, 2017, p. 14)

CT in our K-8 Classrooms

As a high school computer science teacher, I’ve often pondered…

How can we engage younger students in these types of activities?

How can students in elementary schools understand the importance of learning how to record, manipulate and draw conclusions from data using computers?

In the fall of 2017, Richard Annesley, a colleague and friend, asked if I would be interested in learning more about a project he was starting within his elementary school. Richard had been speaking to Luigi Sorbara, whose children attend Rich’s school. As a computer scientist, Luigi believes it is crucial to increase young people’s exposure to coding and computer science.

I had the pleasure to meet with Luigi and learned that he is a Basketball Statistician and Application Developer. He had been thinking about ways to introduce children to computer science in an authentic and meaningful way using block-based coding. He shared his ideas with myself and a number of educators within the school. We were amazed and excited at the potential of this project, which involves a cross-curricular approach, for the students’ learning.

Luigi developed a Scratch program that reads in data related to 1000 shots taken by Steph Curry over a two-season period. The program displays each shot, as either a make or a miss, on a basketball court diagram created as a backdrop in Scratch.

After being given a copy of the program, and playing around with the statistics of a few other players (Valenciunas for three!), it was clear that this project idea would have value in terms of bringing the ideas of CT, data manipulation and drawing conclusions from data to students in younger grades, not to mention the potential to connect physical education, mathematics and sport.

Luigi has since shared another program in Scratch that plots Clayton Kershaw’s Game 7 World Series pitch locations. He has also been working with intermediate students as they use Python to process and display sports performance data.

I believe that programs like this will be able to capture students’ imaginations and motivate them to want to draw conclusions from the data. Perhaps students will want to create programs that can record and analyze data from other sports or even other fields.

Here are some questions that were sparked from this project for the context of sport analytics…

Can students think of other sports where data can help player performance? Can they define algorithms that would answer questions related to other sports? Can students create a program to keep track of the locations of successful and unsuccessful soccer penalty shots? Can they please provide this data to England’s national team?

Richard and Luigi are continuing their work with this program and with finding ways to bring CT to younger students. They have even designed a coordinate system for their gymnasium floor in order to record the locations of the made and missed shots:

Why CT in K-8?

I don’t believe that the value of such projects is solely in the final conclusions drawn from the data (although the Warrior’s Western Conference opponents might disagree). The real value is in having students attempt to develop algorithms or queries that can be automated and executed by the computer. This encourages clarity of thought, precision in instructions and assumption avoidance.

CT will play a part in most fields and a wide variety of areas in our lives. Projects such as this can help students understand the importance of data and facilitate the development of skills needed to draw important conclusions from this data.

In addition, these types of projects allow students to engage in topics such as the Internet of Things and Big Data. Students become aware that a tremendous amount of data already exists, and of course much more is generated by the minute. Providing them with opportunities to engage with this data and to think computationally at a young age will help them to:

Identify what type of data is valuable and should be recorded;

Determine what type of queries should be made in order to draw conclusions from the data;

Richard Annesley (@richannesley) is a grade 6 teacher at St. Theresa Catholic Elementary School in London, ON. He works on a number of projects related to coding and computational thinking, but is also interested in having students participate in experiential learning initiatives to improve their communities. He does not have a computer science background but enjoys the humbling challenge of learning alongside and from students. He believes that computational thinking provides students with an outlet to problem solve and use their creativity.

Luigi Sorbara (@teachcodecreate) is a Basketball Statistician and Application Developer with the Boston Celtics and a Waterloo University Grad in Applied Mathematics and Scientific Computation. He has enjoyed the challenge of bringing computational thinking and coding into the classroom through sports-related data.