01 - computational thinking
DESCRIPTION
I used this set of slides for the lecture on Computational Thinking I gave at the University of Zurich for the 1st year students following the course of Formale Grundlagen der Informatik.TRANSCRIPT
Please, stand up!
Please, stand up!Congratulations, you just executed a program!
Let me tell you aboutmy trip to this lecture
That was my trip
Jeannette M. Wing, CACM 2006
Computational thinking is a way of solving problems, designing systems, andunderstanding human behavior that draws on conceptsfundamental to computer science.
computer science?
computer science ≠ programming
computer science ⊂ programming
computer?
Wikipedia, 2010
A computer is a programmable machine that receives input, stores and manipulates information, and provides output in a useful format.
computerinformation information
computation
computerinformation information
computation
Computer science is the systematic study of information and computation.
Jeannette M. Wing, CACM 2006
Computational thinking is a way of solving problems, designing systems, andunderstanding human behavior that draws on conceptsfundamental to computer science.
Example
The search problem
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
Linear search
1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
Binary search
video
Backtracking
E
F
DC
B
A
14
9
2
11
6
9
7
1015
http://scg.unibe.ch/download/lectures/ei/01ComputationalThinking.pptx
E
F
DC
B
A
14
9
2
11
6
9
7
1015
E
F
DC
B
A
14
9
2
11
6
9
7
1015
∞
0
∞
∞
∞∞
E
F
DC
B
A
14
9
2
11
6
9
7
1015
7
0
14
∞
9 ∞
E
F
DC
B
A
14
9
2
11
6
9
7
1015
7
0
14
∞
9 < 7 + 10 7 + 15 = 22
E
F
DC
B
A
14
9
2
11
6
9
7
1015
7
0
14 > 9 + 2
∞
9 22 > 9 + 11
E
F
DC
B
A
14
9
2
11
6
9
7
1015
7
0
11
20
9 20
E
F
DC
B
A
14
9
2
11
6
9
7
1015
7
0
11
20 < 20 + 6
9 20
Jeannette M. Wing, CACM 2006
Computational thinking is a way of solving problems, designing systems, andunderstanding human behavior that draws on conceptsfundamental to computer science.
Structured information for fast searching
Reading from a common resource
Queue
Parallel queues
State machine
Data as code and code as data
Scheduling
Different representations for different sensors
Access key
Stack
Safety and liveness
Backtracking
Jeannette M. Wing, CACM 2006
Computational thinking is a way of solving problems, designing systems, andunderstanding human behavior that draws on conceptsfundamental to computer science.
computerinformation information
computation
Jeannette M. Wing, CACM 2006
Computational thinking is a way of solving problems, designing systems, andunderstanding human behavior that draws on conceptsfundamental to computer science.
Further reading:http://www.cs.cmu.edu/afs/cs/usr/wing/www/publications/Wing06.pdf
http://cs.gmu.edu/cne/pjd/GP/overviews/ov_computation.pdf
Tudor Gîrbawww.tudorgirba.com
creativecommons.org/licenses/by/3.0/