Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Computational Thinking

Develop computational thinking skills using computer programming.
by

andrew nelson

on 9 February 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Computational Thinking

Computational Thinking

through

Computer programming

with
Drew Nelson



Why?
Logic is undertaught; most of what people learn is fragmentary,incidental bits and pieces appended to various mathematical subjects
Logic is often divided into three parts:
inductive reasoning

abductive reasoning

deductive reasoning


Decomposition:
When we taste an unfamiliar dish and identify several ingredients based on the flavor, we are decomposing that dish into its individual ingredients.


Pattern Recognition:
People look for patterns in stock prices to decide when to buy and sell.


Pattern Generalization and Abstraction:
A daily planner uses abstraction to represent a week in terms of days and hours, helping us to organize our time.


Algorithm Design:
When a chef writes a recipe for a dish, she is creating an algorithm that others can follow to replicate the dish.

Decomposition
Patterns
Algorithms


When we taste an unfamiliar dish and identify several ingredients based on the flavor, we are decomposing that dish into its individual ingredients.
Patterns
Alogorthim
Pattern
Recognition
Pattern
Generalization
Examples of computational thinking in everyday life

When your daughter goes to school in the morning, she puts in her backpack the things she needs for the day; that’s prefetching and caching.

When your son loses his
mittens, you suggest he retrace his steps; that’s back-tracking.

At what point do you stop renting skis and buy yourself a pair?;that’s online algorithms.

Which line do you stand in at the supermarket?; that’s performance modeling for multi-server systems.

Why does your telephone still work during a power outage?; that’s independence of failure and redundancy in design
Computational Thinking is a way that humans,
not computers
, think.
Computers are full and boring; humans are clever and imaginative. It is we humans that make computers exciting. Equipped with computing devices, we use our cleverness to tackle problems we would not dare take on before the age of computing and build systems with functionality limited only by our imaginations
Computational thinking is a way humans solve problems; it is not trying to get humans to think like computers.

Scratch
My favorite way to teach computer programming
Entirely
Pictorial
No "coding" or obtuse language
Makes it much easier to sell to the learners


Given task create program

outcome program
program
outcome
Given program predict task
Teach Concepts both ways:
How?
The number of times "
computational thinking
" shows up in over 5.2 million books digitized by google.
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.
Computational Thinking is . . .

A Cross-curricular initiative

A Problem-solving skill

A Skill that most teachers are already building in their classrooms.
Free
Software
Google Blockly
Scratch
Alice
Game Salad
Kodu
Unity
Google
Blockly
- a visual program editor

MAZE- great introduction


stop the students / slow them down.
Teach decomposition of the problem. Break the problem down.
Google Blockly
Turtle Graphics

Only limitation is students imagination

Sample assignments, draw letters of alphabet. - good for deconstructing the problem.

The letter
B
has 3 parts
Alice
3-D environment

Female lead
Kodu
More Rigid than Scratch
Fantastic 3-D graphics


Highly engaging for students
Game Salad
For iOS devices (ipads etc.)

Unity
The most advanced
Temple Run, Wasteland, Rust
Scratch can be downloaded or run in browser online
The organization Computer Science For Fun (CS4F)
says,
Computational Thinking
is
the
skill of the 21st century
Repeat 4 times:
a. Deal out the 21 cards
across the rows
b.Ask which pile the
chosen card is in
c.Pick up piles placing
that pile in middle


2.Reveal the card as the one in the middle card of the middle pile.
sequencing & repetition
Self Working Tricks are just algorithms

What?
algorithm
computational thinking
logic

Decomposition:
Breaking down the problem into parts.
https://blockly-demo.appspot.com/static/apps/maze/index.html


http://bit.ly/1kd9xLe
gallery walk
A Digital Age Skill for All

The CT Student

CT for All Students

The knowledge and skills that students need to know
and be able to do by the time they graduate from secondary school.

Why should we prioritize Computational Thinking?

To accomplish the following goals:
Prepare young learners to become computational thinkers who understand
how to use today’s digital tools to help
solve tomorrow’s problems.
Help teachers envision the potential of
CT across all disciplines and be willing
to integrate CT in the classroom.

The number of computer science graduates declined 70% since the peak in 2001
There is a need to fill the skills gap to keep up with technology innovation
To maintain global economic competitiveness and national security

Dispositions or attitudes that are essential dimensions of Computational Thinking and Computer Programming :

The ability to deal with open-ended problems

The ability to communicate and work with others to achieve a common goal or solution

Automating solutions through algorithmic thinking 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

CT Operational Definition

Formulating problems in a way that enables us to use a computer and other tools to help solve them
Computational Thinking is a problem-solving process that includes (but is not limited to) the following characteristics:
Logically organizing and analyzing data
Representing data through abstractions
such as models and simulations

Most teachers already incorporate CT basics, but may not know it.

CT for All Teachers

All teachers are responsible for teaching skills, practice, and assessment of CT.

CT for All Teachers

CT for All Teachers

CT has a shared vocabulary that can be highlighted in lessons from every discipline.

CT for All Teachers

CT is made up of foundational building blocks of concepts, skills, and dispositions
that get more sophisticated as students get older.

CT doesn’t necessarily require computers.

CT for All Teachers

smore.com/0de6
todaysmeet.com/programming
With computer programming

and video game design

along with

other methods
Twenty Questions
I am thinking of a person


What is the best question to ask?
wikipedia
Computational Thinking (CT) is a
problem solving
method that uses computer science techniques. The term computational thinking was first used by Seymour Papert in 1996. Computational thinking can be used to algorithmically solve complicated problems of scale, and is often used to realize large improvements in efficiency
problem solving
Problem Solving
Coding has become very 'in'

Teaching students to code . . .


but should it be ?
Teaching students to code is very 'in'
self.attack(Rig)
Code.org
Recently revamped
Hour of Code
Can set up and track classes
Kindergarten - High School
Code Academy
Can take free courses on topics such as HTML, CSS and JavaScript, with badges and other features that help track progress and provide an incentive to keep on learning.
smore.com/0de6
backchannel
Full transcript