-
Notifications
You must be signed in to change notification settings - Fork 104
Research ~ Computational Thinking
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
- Programs incl.
- 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
- Designing and writing programs