SlideShare uma empresa Scribd logo
1 de 77
Baixar para ler offline
Computational
thinking

          www.tudorgirba.com
Please, stand up!
Please, stand up!
Congratulations, you just executed a program!
Let me tell you about
my trip to this lecture
That was my trip
Computational thinking is a way of
solving problems,
designing systems, and
understanding human behavior
that draws on concepts
fundamental to computer science.




                                                       0   06
                                            g, C ACM 2
                                      M. Win
                            Jeannette
computer science?
computer science ≠ programming
computer science ⊂ programming
computer?
A computer is a programmable machine that
receives input, stores and manipulates
information, and provides output in a useful
format.




                                                 10
                                         dia, 20
                                  Wikipe
computation



information                 information
              computer
computation



information                 information
              computer
Computer science is the systematic study of
information and computation.
Computational thinking is a way of
solving problems,
designing systems, and
understanding human behavior
that draws on concepts
fundamental to computer science.




                                                       0   06
                                            g, C ACM 2
                                      M. Win
                            Jeannette
Example




The search problem
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
5



    2                   7



1       3           6       8



            4
5



    2                   7



1       3           6       8



            4
Binary search

                5



    2                       7



1       3               6       8



            4
video
Backtracking
9           F
                  E
                                                     6
                            2
                                          11             D
             14                     C
                        9
                                                15
                                    10
               A
                            7               B


http://scg.unibe.ch/download/lectures/ei/01ComputationalThinking.pptx
9         F
     E
                                    6
             2
                          11            D
14                   C
         9
                               15
                     10
 A
             7             B
∞
                     9         F
∞        E
                                            6
                 2                                  ∞
                     ∞
                              11                D
    14                   C
             9
                                   15
                         10
0
     A
                 7             B        ∞
∞
                     9         F
14       E
                                            6
                 2                                  ∞
                         9
                              11                D
    14                   C
             9
                                   15
                         10
0
     A
                 7             B        7
∞
                     9             F
14       E
                                                6
                 2                                      7 + 15 = 22
                         9 < 7 + 10
                                  11                D
    14                   C
             9
                                       15
                         10
0
     A
                 7                B         7
∞
                           9         F
14 > 9 + 2     E
                                                  6
                       2                                  22 > 9 + 11
                               9
                                    11                D
          14                   C
                   9
                                         15
                               10
      0
             A
                       7             B        7
20
                      9         F
11        E
                                             6
                  2                                  20
                          9
                               11                D
     14                   C
              9
                                    15
                          10
0
      A
                  7             B        7
20 < 20 + 6
                      9         F
11        E
                                             6
                  2                                  20
                          9
                               11                D
     14                   C
              9
                                    15
                          10
0
      A
                  7             B        7
Computational thinking is a way of
solving problems,
designing systems, and
understanding human behavior
that draws on concepts
fundamental to computer science.




                                                       0   06
                                            g, C ACM 2
                                      M. Win
                            Jeannette
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
Computational thinking is a way of
solving problems,
designing systems, and
understanding human behavior
that draws on concepts
fundamental to computer science.




                                                       0   06
                                            g, C ACM 2
                                      M. Win
                            Jeannette
computation



information                 information
              computer
Computational thinking is a way of
solving problems,
designing systems, and
understanding human behavior
that draws on concepts
fundamental to computer science.




                                                       0   06
                                            g, C ACM 2
                                      M. Win
                            Jeannette
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îrba
        www.tudorgirba.com




creativecommons.org/licenses/by/3.0/

Mais conteúdo relacionado

Mais de Tudor Girba

Beyond software evolution: Software environmentalism
Beyond software evolution: Software environmentalismBeyond software evolution: Software environmentalism
Beyond software evolution: Software environmentalismTudor Girba
 
Software craftsmanship meetup (Zurich 2015) on solving real problems without ...
Software craftsmanship meetup (Zurich 2015) on solving real problems without ...Software craftsmanship meetup (Zurich 2015) on solving real problems without ...
Software craftsmanship meetup (Zurich 2015) on solving real problems without ...Tudor Girba
 
Don't demo facts. Demo stories! (handouts)
Don't demo facts. Demo stories! (handouts)Don't demo facts. Demo stories! (handouts)
Don't demo facts. Demo stories! (handouts)Tudor Girba
 
Don't demo facts. Demo stories!
Don't demo facts. Demo stories!Don't demo facts. Demo stories!
Don't demo facts. Demo stories!Tudor Girba
 
Humane assessment on cards
Humane assessment on cardsHumane assessment on cards
Humane assessment on cardsTudor Girba
 
Underneath Scrum: Reflective Thinking
Underneath Scrum: Reflective ThinkingUnderneath Scrum: Reflective Thinking
Underneath Scrum: Reflective ThinkingTudor Girba
 
1800+ TED talks later
1800+ TED talks later1800+ TED talks later
1800+ TED talks laterTudor Girba
 
Software assessment by example (lecture at the University of Bern)
Software assessment by example (lecture at the University of Bern)Software assessment by example (lecture at the University of Bern)
Software assessment by example (lecture at the University of Bern)Tudor Girba
 
Humane assessment: Taming the elephant from the development room
Humane assessment: Taming the elephant from the development roomHumane assessment: Taming the elephant from the development room
Humane assessment: Taming the elephant from the development roomTudor Girba
 
Moose: how to solve real problems without reading code
Moose: how to solve real problems without reading codeMoose: how to solve real problems without reading code
Moose: how to solve real problems without reading codeTudor Girba
 
Software Environmentalism (ECOOP 2014 Keynote)
Software Environmentalism (ECOOP 2014 Keynote)Software Environmentalism (ECOOP 2014 Keynote)
Software Environmentalism (ECOOP 2014 Keynote)Tudor Girba
 
The emergent nature of software systems
The emergent nature of software systemsThe emergent nature of software systems
The emergent nature of software systemsTudor Girba
 
Presenting is storytelling at Uni Zurich - slides (2014-03-05)
Presenting is storytelling at Uni Zurich - slides (2014-03-05)Presenting is storytelling at Uni Zurich - slides (2014-03-05)
Presenting is storytelling at Uni Zurich - slides (2014-03-05)Tudor Girba
 
Presenting is storytelling at Uni Zurich - handouts (2014-03-05)
Presenting is storytelling at Uni Zurich - handouts (2014-03-05)Presenting is storytelling at Uni Zurich - handouts (2014-03-05)
Presenting is storytelling at Uni Zurich - handouts (2014-03-05)Tudor Girba
 
Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)
Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)
Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)Tudor Girba
 
Demo-driven innovation teaser
Demo-driven innovation teaserDemo-driven innovation teaser
Demo-driven innovation teaserTudor Girba
 
Software assessment essentials (lecture at the University of Bern 2013)
Software assessment essentials (lecture at the University of Bern 2013)Software assessment essentials (lecture at the University of Bern 2013)
Software assessment essentials (lecture at the University of Bern 2013)Tudor Girba
 
Demo-driven innovation (University of Zurich, June 2013)
Demo-driven innovation (University of Zurich, June 2013)Demo-driven innovation (University of Zurich, June 2013)
Demo-driven innovation (University of Zurich, June 2013)Tudor Girba
 
Humane assessment with Moose at GOTO Aarhus 2011
Humane assessment with Moose at GOTO Aarhus 2011Humane assessment with Moose at GOTO Aarhus 2011
Humane assessment with Moose at GOTO Aarhus 2011Tudor Girba
 

Mais de Tudor Girba (20)

Beyond software evolution: Software environmentalism
Beyond software evolution: Software environmentalismBeyond software evolution: Software environmentalism
Beyond software evolution: Software environmentalism
 
Software craftsmanship meetup (Zurich 2015) on solving real problems without ...
Software craftsmanship meetup (Zurich 2015) on solving real problems without ...Software craftsmanship meetup (Zurich 2015) on solving real problems without ...
Software craftsmanship meetup (Zurich 2015) on solving real problems without ...
 
GT Spotter
GT SpotterGT Spotter
GT Spotter
 
Don't demo facts. Demo stories! (handouts)
Don't demo facts. Demo stories! (handouts)Don't demo facts. Demo stories! (handouts)
Don't demo facts. Demo stories! (handouts)
 
Don't demo facts. Demo stories!
Don't demo facts. Demo stories!Don't demo facts. Demo stories!
Don't demo facts. Demo stories!
 
Humane assessment on cards
Humane assessment on cardsHumane assessment on cards
Humane assessment on cards
 
Underneath Scrum: Reflective Thinking
Underneath Scrum: Reflective ThinkingUnderneath Scrum: Reflective Thinking
Underneath Scrum: Reflective Thinking
 
1800+ TED talks later
1800+ TED talks later1800+ TED talks later
1800+ TED talks later
 
Software assessment by example (lecture at the University of Bern)
Software assessment by example (lecture at the University of Bern)Software assessment by example (lecture at the University of Bern)
Software assessment by example (lecture at the University of Bern)
 
Humane assessment: Taming the elephant from the development room
Humane assessment: Taming the elephant from the development roomHumane assessment: Taming the elephant from the development room
Humane assessment: Taming the elephant from the development room
 
Moose: how to solve real problems without reading code
Moose: how to solve real problems without reading codeMoose: how to solve real problems without reading code
Moose: how to solve real problems without reading code
 
Software Environmentalism (ECOOP 2014 Keynote)
Software Environmentalism (ECOOP 2014 Keynote)Software Environmentalism (ECOOP 2014 Keynote)
Software Environmentalism (ECOOP 2014 Keynote)
 
The emergent nature of software systems
The emergent nature of software systemsThe emergent nature of software systems
The emergent nature of software systems
 
Presenting is storytelling at Uni Zurich - slides (2014-03-05)
Presenting is storytelling at Uni Zurich - slides (2014-03-05)Presenting is storytelling at Uni Zurich - slides (2014-03-05)
Presenting is storytelling at Uni Zurich - slides (2014-03-05)
 
Presenting is storytelling at Uni Zurich - handouts (2014-03-05)
Presenting is storytelling at Uni Zurich - handouts (2014-03-05)Presenting is storytelling at Uni Zurich - handouts (2014-03-05)
Presenting is storytelling at Uni Zurich - handouts (2014-03-05)
 
Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)
Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)
Underneath Scrum: Reflective Thinking (talk at Scrum Breakfast Bern, 2013)
 
Demo-driven innovation teaser
Demo-driven innovation teaserDemo-driven innovation teaser
Demo-driven innovation teaser
 
Software assessment essentials (lecture at the University of Bern 2013)
Software assessment essentials (lecture at the University of Bern 2013)Software assessment essentials (lecture at the University of Bern 2013)
Software assessment essentials (lecture at the University of Bern 2013)
 
Demo-driven innovation (University of Zurich, June 2013)
Demo-driven innovation (University of Zurich, June 2013)Demo-driven innovation (University of Zurich, June 2013)
Demo-driven innovation (University of Zurich, June 2013)
 
Humane assessment with Moose at GOTO Aarhus 2011
Humane assessment with Moose at GOTO Aarhus 2011Humane assessment with Moose at GOTO Aarhus 2011
Humane assessment with Moose at GOTO Aarhus 2011
 

01 - Computational thinking