01 - computational thinking

77
Computational thinking www.tudorgirba.com

Upload: tudor-girba

Post on 10-May-2015

844 views

Category:

Documents


2 download

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

Page 1: 01 - Computational thinking

Computational thinking

www.tudorgirba.com

Page 2: 01 - Computational thinking

Please, stand up!

Page 3: 01 - Computational thinking

Please, stand up!Congratulations, you just executed a program!

Page 4: 01 - Computational thinking

Let me tell you aboutmy trip to this lecture

Page 5: 01 - Computational thinking
Page 6: 01 - Computational thinking
Page 7: 01 - Computational thinking
Page 8: 01 - Computational thinking
Page 9: 01 - Computational thinking
Page 10: 01 - Computational thinking
Page 11: 01 - Computational thinking
Page 12: 01 - Computational thinking
Page 13: 01 - Computational thinking
Page 14: 01 - Computational thinking
Page 15: 01 - Computational thinking
Page 16: 01 - Computational thinking
Page 17: 01 - Computational thinking
Page 18: 01 - Computational thinking
Page 19: 01 - Computational thinking

That was my trip

Page 20: 01 - Computational thinking

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.

Page 21: 01 - Computational thinking

computer science?

Page 22: 01 - Computational thinking

computer science ≠ programming

Page 23: 01 - Computational thinking

computer science ⊂ programming

Page 24: 01 - Computational thinking

computer?

Page 25: 01 - Computational thinking

Wikipedia, 2010

A computer is a programmable machine that receives input, stores and manipulates information, and provides output in a useful format.

Page 26: 01 - Computational thinking

computerinformation information

computation

Page 27: 01 - Computational thinking

computerinformation information

computation

Page 28: 01 - Computational thinking

Computer science is the systematic study of information and computation.

Page 29: 01 - Computational thinking

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.

Page 30: 01 - Computational thinking

Example

The search problem

Page 31: 01 - Computational thinking

1 2 3 4 5 6 7 8

Page 32: 01 - Computational thinking

1 2 3 4 5 6 7 8

Page 33: 01 - Computational thinking

1 2 3 4 5 6 7 8

Linear search

Page 34: 01 - Computational thinking

1 2 3 4 5 6 7 8

Page 35: 01 - Computational thinking

1

2

3

4

5

6

7

8

Page 36: 01 - Computational thinking

1

2

3

4

5

6

7

8

Page 37: 01 - Computational thinking

1

2

3

4

5

6

7

8

Binary search

Page 39: 01 - Computational thinking

Backtracking

Page 40: 01 - Computational thinking

E

F

DC

B

A

14

9

2

11

6

9

7

1015

http://scg.unibe.ch/download/lectures/ei/01ComputationalThinking.pptx

Page 41: 01 - Computational thinking

E

F

DC

B

A

14

9

2

11

6

9

7

1015

Page 42: 01 - Computational thinking

E

F

DC

B

A

14

9

2

11

6

9

7

1015

0

∞∞

Page 43: 01 - Computational thinking

E

F

DC

B

A

14

9

2

11

6

9

7

1015

7

0

14

9 ∞

Page 44: 01 - Computational thinking

E

F

DC

B

A

14

9

2

11

6

9

7

1015

7

0

14

9 < 7 + 10 7 + 15 = 22

Page 45: 01 - Computational thinking

E

F

DC

B

A

14

9

2

11

6

9

7

1015

7

0

14 > 9 + 2

9 22 > 9 + 11

Page 46: 01 - Computational thinking

E

F

DC

B

A

14

9

2

11

6

9

7

1015

7

0

11

20

9 20

Page 47: 01 - Computational thinking

E

F

DC

B

A

14

9

2

11

6

9

7

1015

7

0

11

20 < 20 + 6

9 20

Page 48: 01 - Computational thinking

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.

Page 49: 01 - Computational thinking
Page 50: 01 - Computational thinking

Structured information for fast searching

Page 51: 01 - Computational thinking
Page 52: 01 - Computational thinking

Reading from a common resource

Page 53: 01 - Computational thinking
Page 54: 01 - Computational thinking

Queue

Page 55: 01 - Computational thinking
Page 56: 01 - Computational thinking

Parallel queues

Page 57: 01 - Computational thinking
Page 58: 01 - Computational thinking

State machine

Page 59: 01 - Computational thinking
Page 60: 01 - Computational thinking

Data as code and code as data

Page 61: 01 - Computational thinking
Page 62: 01 - Computational thinking

Scheduling

Page 63: 01 - Computational thinking
Page 64: 01 - Computational thinking

Different representations for different sensors

Page 65: 01 - Computational thinking
Page 66: 01 - Computational thinking

Access key

Page 67: 01 - Computational thinking
Page 68: 01 - Computational thinking

Stack

Page 69: 01 - Computational thinking
Page 70: 01 - Computational thinking

Safety and liveness

Page 71: 01 - Computational thinking
Page 72: 01 - Computational thinking

Backtracking

Page 73: 01 - Computational thinking

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.

Page 74: 01 - Computational thinking

computerinformation information

computation

Page 75: 01 - Computational thinking

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.