Skip to content

Research ~ Computational Thinking

Calum J. Eadie edited this page Mar 8, 2013 · 3 revisions

http://en.wikipedia.org/wiki/Computational_thinking

Computational Thinking as a problem solving method.

Characteristics:

  • Analyzing and logically organizing data
  • Data modelling, data abstractions and simulations
  • Formulating problems such that computers may assist
  • Identifying, testing and implementing possible solutions
  • Automating solutions via algorithm thinking
  • Generalizing and applying this process to other problems

Seymour Papert, 1996 http://www.papert.org/articles/AnExplorationintheSpaceofMathematicsEducations.html

Jeannette M. Wing, 2006, ACM http://dl.acm.org/citation.cfm?doid=1118178.1118215

Computational thinking as a fundamental skill for everyone.

http://www.google.com/edu/computational-thinking/

  • Decomposition
  • Pattern recongnition
  • Pattern generalisation and abstraction
  • Algorithm design

http://www.youtube.com/watch?feature=player_embedded&v=60OVlfAUPJg#!

Argueing can make mathematics more practical and more conceptual at the same time by leveraging computers.

http://www.iste.org/learn/computational-thinking/ct-operational-definition Operational definition

  • Formulating problems in a way that enables us to use a computer and other tools to help solve them.
  • Logically organizing and analyzing data
  • Representing data through abstractions such as models and simulations
  • Automating solutions through algorithmic thinking (a series of ordered steps)
  • Identifying, analyzing, and implementing possible solutions with the goal of achieving the most efficient and effective combination of steps and resources
  • Generalizing and transferring this problem solving process to a wide variety of problems

Computing at School http://www.computingatschool.org.uk/index.php?id=documents

Curriculum for Schools http://www.computingatschool.org.uk/index.php?id=cacfs

Key concepts:

  • Languages, machines and computation
    • Languages
    • Algorithms
    • Machines
    • Computational models
  • Data and representation
    • Representation
    • Storage and transmission
    • Organisation
    • Digital vs. analogue
  • Communication and cooridination
    • Reactive processes
    • Actions
    • Events
    • Communication
    • Cooperation
    • Packet switching and routing
    • Authentication
    • Privacy
    • Anonymity
    • Network
    • Internet
  • Abstraction and design
    • Hardware
    • Software
    • Simulate and model
    • Interface
    • Modelling
    • Categorisation
    • Classification
  • Wider context of computing
    • Intelligence and consciousness
    • The natural world
    • Creativity and intellectual property
    • Moral and ethical implications

Key processes - Computational Thinking:

  • Abstraction
    • Modelling
    • Decomposing
    • Generalising and classifying
  • Programming
    • Designing and writing programs
      • Programs incl.
        • Sequencing: doing one step after another
        • Selection: doing either one thing or another
        • Repetition
        • Language concepts than support abstraction: incl. functon with parameters
      • Find and correct errors in code
      • Reflect thoughtfully on their program
    • Abstraction mechanisms
      • Recognising that one is writing more or less of the same code repeatedly
      • Designing a procedure to generalise
      • Replace instances will calls to procedure
      • Using simple data structures
      • High level design patterns
        • Divide and conquer
        • Pipelining
        • Caching
        • Sorting
        • Searching
        • Backtracking
        • Recursion
        • Client/server
        • Model/view/controller
    • Debugging, testing and reasoning about programs
Clone this wiki locally