01 - computational thinking

Post on 10-May-2015

844 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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

Computational thinking

www.tudorgirba.com

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

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.

top related