Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Computational Thinking


Russ Feldhausen
russfeld@ksu.edu

My Story

My Research

What is Computational Thinking?

“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 M. Wing (2006)
Carnegie Mellon University


Jeannette M. Wing. Computational Thinking. Commun. ACM, 49(3):33-35, March 2006. ISSN 0001-0782. doi: 10:1145/1118178:1118215. URL http://doi:acm:org/ 10:1145/1118178:1118215.

“Computational thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent”

Jeannette M. Wing (2011)
Carnegie Mellon University


Jeannette M. Wing. Research notebook: Computational thinking - What and why? The Link Magazine, 2011. URL http://www:cs:cmu:edu/link/research-notebook-computational-thinking-what-and-why. [Online; accessed 21 July 2017]

“...the process of recognising aspects of computation in the world that surrounds us, and applying tools and techniques from Computer Science to understand and reason about both natural and artificial systems and processes” ”

The Royal Society (UK)



The Royal Society (UK). Shut down or restart? The way forward for computing in UK schools. (2012). https://royalsociety.org/~/media/education/computing-in-schools/2012-01-12-computing-in-schools.pdf

Computational Thinking Concepts


Joshua Levi Weese and Russell Feldhausen. STEM Outreach: Assessing Computational Thinking and Problem Solving. In 2017 ASEE Annual Conference & Exposition, Columbus, Ohio, June 2017. ASEE Conferences. URL https://peer:asee:org/28845.

Computational Thinking Concepts


Joshua Levi Weese and Russell Feldhausen. STEM Outreach: Assessing Computational Thinking and Problem Solving. In 2017 ASEE Annual Conference & Exposition, Columbus, Ohio, June 2017. ASEE Conferences. URL https://peer:asee:org/28845.

Computational thinking is not:

Theory: Cognitive Apprenticeship

Algorithm

A finite list of specific instructions for carrying out a procedure or solving a problem

Euclid

Image Source: Wikipedia

Euclid's Algorithm (GCD)

  1. Start with 2 numbers, A and B
  2. If either one is zero, the answer is the other number
  3. Subtract the smaller number from the larger number
  4. Repeat steps 2 - 4 until an answer is found

Example: GCD of 1071 & 462

Example: GCD of 1071 & 462

Sorting Algorithms

Insertion Sort

Image Source: Wikipedia

  1. Choose an element from the source
  2. Place it in the correct place in the destination
  3. Repeat until source is emtpy

Bubble Sort

Image Source: Wikipedia

  1. Compare the first two elements
  2. If they are out order, swap them
  3. Move one element over and repeat
  4. When the end is reached, start over
  5. Continue until no more swaps are made

Big O Notation

Image Source: Wikipedia

Big O Notation

Bubble Sort - Worst Case?

Bubble Sort - Worst Case?

Bubble Sort - Worst Case?

Sorting Algorithms

Merge Sort

Image Source: Wikipedia

Merge Sort

  1. Split the items into two halves
  2. Repeat step 1 until each has 1 item
  3. Choose 2 parts and merge them together by choosing the smallest item repeatedly from the front of each part
  4. Continue merging parts together until no more remain

Quicksort

Image Source: Wikipedia

Quicksort

  1. Choose an item from the list as a "pivot"
  2. Put all items less than that item to its left, and put all items greater to its right
  3. Repeat these steps for the items on each side of the pivot.

Sorting Algorithms

Computational Thinking Concepts