Searching...
English
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Computational Thinking

Computational Thinking

by Peter J. Denning 2019 246 pages
3.65
100+ ratings
Listen
Try Full Access for 7 Days
Unlock listening & more!
Continue

Key Takeaways

1. Computational thinking (CT) has ancient roots and evolves with technology

Computing is an ancient human practice.

Ancient origins: CT traces back over 4,500 years to early mathematical and engineering practices. Babylonians and Egyptians developed procedures for solving mathematical problems and building structures. Over centuries, mathematicians refined methods for increasingly complex calculations.

Evolution with technology: CT has continuously evolved alongside technological advancements. Key milestones include:

  • Development of arithmetic and algebraic methods
  • Invention of logarithms and slide rules
  • Creation of mechanical calculators
  • Design of early computers like Babbage's Analytical Engine
  • Emergence of electronic computers and programming languages

As computing technology progressed, CT expanded to encompass new concepts like algorithms, data structures, and software design. Today, CT continues to adapt to emerging technologies like quantum computing and artificial intelligence.

2. CT is about designing computations and interpreting the world as information processes

Computational thinking is the mental skills and practices for designing computations that get computers to do jobs for us, and explaining and interpreting the world as a complex of information processes.

Dual nature of CT: This definition captures the two key aspects of computational thinking:

  1. Design: Creating computations to solve problems and perform tasks
  2. Interpretation: Understanding phenomena through an information processing lens

Practical applications: CT enables us to:

  • Develop algorithms and software to automate tasks
  • Model complex systems as information processes
  • Analyze data to gain insights
  • Design user interfaces and experiences
  • Optimize processes in various fields

Broad impact: CT has transformed how we approach problems in science, engineering, business, and everyday life. It provides a powerful framework for understanding and manipulating the increasingly digital world around us.

3. The quest for computing machines drove CT development

The long quest for computing machines throughout the ages was driven not only by the need to speed up computation, but also to eliminate human errors, which were common when easily bored or distracted humans performed many repetitive calculations.

Motivations for automation: The development of computing machines was driven by two main factors:

  1. Speed: Performing calculations much faster than humans
  2. Accuracy: Eliminating errors caused by human limitations

Key developments:

  • Mechanical calculators (e.g., Pascal's calculator)
  • Punch card systems (e.g., Jacquard loom, Hollerith's census machine)
  • Early computers (e.g., ENIAC, Mark I)
  • Stored-program computers

Impact on CT: The quest for better computing machines led to:

  • Development of formal algorithms and programming languages
  • Creation of new abstractions and data structures
  • Emergence of software engineering practices
  • Expansion of CT beyond mathematics into diverse fields

These advancements shaped the core principles of modern computational thinking, emphasizing precision, efficiency, and scalability in problem-solving.

4. Computer science formalized CT as an academic discipline

Computer science departments are found in schools of science, engineering, and even business. Why so many homes? The answer echoes those early political fights: the new departments were established in the schools that were most welcoming.

Emergence of computer science: As computing became more prevalent, the need for a dedicated academic discipline emerged. Key milestones include:

  • First CS department at Purdue University in 1962
  • Formation of professional societies (ACM, IEEE-CS)
  • Development of standardized curricula

Challenges and debates:

  • Resistance from established disciplines
  • Questions about the academic legitimacy of CS
  • Debates over the nature of computing (science vs. engineering)

Evolution of CT in academia:

  • Initial focus on algorithms and programming
  • Expansion to include systems, theory, and applications
  • Integration of software engineering principles
  • Incorporation of human-computer interaction and design thinking

The academic formalization of computer science helped solidify CT as a distinct way of thinking, providing a framework for teaching and advancing computational concepts across various disciplines.

5. Software engineering expanded CT to large-scale systems

Software developers realized that the era's computational thinking was not capable of delivering reliable and dependable software. Most CT was about thinking in the small—practices and thinking tools for single programmers. There was nothing in CT for thinking in the large—practices and thinking tools for teams of programmers developing large-scale production systems with long life spans and large user bases.

Shift to large-scale systems: As software projects grew in size and complexity, new challenges emerged:

  • Managing large teams of programmers
  • Ensuring reliability and maintainability
  • Dealing with long-term evolution of systems

Key software engineering contributions to CT:

  • Design patterns and architectural principles
  • Project management and development methodologies
  • Version control and collaboration tools
  • Testing and quality assurance practices

DRUSS objectives: Software engineering emphasized designing for:

  • Dependability
  • Reliability
  • Usability
  • Safety
  • Security

This expansion of CT to "thinking in the large" was crucial for developing the complex software systems that power modern technology and businesses.

6. Design thinking broadened CT beyond algorithms to human concerns

Design CT guides us to ways of building computing systems whose behaviors are useful and meaningful in their user communities.

Human-centered approach: Design thinking expanded CT to consider:

  • User needs and experiences
  • Social and cultural contexts
  • Ethical implications of technology
  • Iterative prototyping and feedback

Levels of software quality:

  1. No trust
  2. Cynical satisfaction
  3. Fulfills basic promises
  4. Fits environment
  5. Produces no negative consequences
  6. Delights users

Impact on CT practices:

  • Emphasis on user research and empathy
  • Integration of diverse perspectives in design
  • Focus on creating meaningful and valuable experiences
  • Consideration of long-term consequences and adaptability

This broadening of CT has led to more holistic approaches in technology development, balancing technical capabilities with human and societal needs.

7. CT revolutionized scientific methods across disciplines

For centuries, theory and experiment were the two modes of doing science. Supercomputers changed this, opening a new approach to doing science based on computational exploration and modeling. It was the most significant scientific paradigm shift since quantum mechanics.

Computational science emergence: CT enabled a new paradigm in scientific research:

  • Simulation of complex systems
  • Analysis of massive datasets
  • Modeling of phenomena as information processes

Impact across disciplines:

  • Physics: Particle interactions, cosmology
  • Biology: Genomics, protein folding
  • Chemistry: Molecular modeling
  • Climate science: Global climate models
  • Social sciences: Network analysis, agent-based modeling

New scientific methods:

  • In silico experiments
  • Data-driven discovery
  • Multiscale modeling
  • Predictive simulations

This integration of CT into various scientific fields has accelerated discovery, enabled new types of research questions, and blurred the lines between traditional disciplinary boundaries.

8. Teaching CT requires balancing beginner and professional perspectives

Educators in K–12 schools have developed an impressive "CT for beginners"—insights and methods for teaching computing to newcomers. Professional software systems designers and scientists have developed an impressive "CT for professionals"—advanced methods for designing and building complex software that works reliably and safely, and for conducting scientific investigations.

CT for beginners:

  • Focus on basic programming concepts
  • Use of visual programming languages (e.g., Scratch)
  • Emphasis on creative problem-solving
  • Introduction to algorithmic thinking

CT for professionals:

  • Advanced software engineering practices
  • System design and architecture
  • Optimization and performance analysis
  • Domain-specific computational methods

Bridging the gap:

  • Progressive skill development
  • Real-world project experiences
  • Interdisciplinary applications
  • Emphasis on design thinking and ethics

Effective CT education requires a balance between accessible entry points for beginners and pathways to advanced professional skills, ensuring students can both grasp fundamental concepts and apply them to complex real-world challenges.

9. CT continues to evolve with new computational models and societal challenges

We write this book at the 50th anniversary of the first recommendations for developing a computing curriculum made by the ACM (Association for Computing Machinery), a society of computing professionals that we both belong to.

Emerging computational models:

  • Quantum computing
  • Neural networks and deep learning
  • DNA computing
  • Edge computing and Internet of Things

Societal challenges:

  • Automation and job displacement
  • Privacy and data security
  • Ethical AI and algorithmic bias
  • Digital divide and technology access

Future directions for CT:

  • Integration of human-computer teaming
  • Addressing global challenges (climate, health, education)
  • Balancing innovation with ethical considerations
  • Adapting to rapidly changing technological landscapes

As technology continues to advance and reshape society, CT must evolve to address new computational paradigms and their societal implications. This ongoing evolution highlights the need for lifelong learning and adaptability in the field of computational thinking.

Last updated:

FAQ

What's "Computational Thinking" by Peter J. Denning and Matti Tedre about?

  • Overview of Computational Thinking: The book explores the concept of computational thinking (CT), which involves designing computations to solve problems and understanding the world as a complex of information processes.
  • Historical Context: It traces the evolution of CT from ancient times to the modern era, highlighting its development alongside technological advancements.
  • Interdisciplinary Approach: The authors discuss how CT is applied across various fields, including science, engineering, and education, emphasizing its role in modern problem-solving.
  • Educational Perspective: The book also addresses the importance of teaching CT in K–12 education and its potential to enhance learning in other disciplines.

Why should I read "Computational Thinking" by Peter J. Denning and Matti Tedre?

  • Comprehensive Understanding: The book provides a thorough exploration of CT, making it valuable for anyone interested in understanding how computing influences various aspects of life and work.
  • Interdisciplinary Insights: It offers insights into how CT is applied in different fields, making it relevant for professionals and students in diverse disciplines.
  • Educational Value: Educators will find the discussion on teaching CT particularly useful for integrating computational skills into curricula.
  • Future-Oriented: The book addresses future challenges and opportunities in computing, making it a forward-looking resource for those interested in the evolution of technology.

What are the key takeaways of "Computational Thinking" by Peter J. Denning and Matti Tedre?

  • Definition of CT: CT is defined as the mental skills and practices for designing computations and interpreting the world as information processes.
  • Historical Evolution: CT has evolved over millennia, influenced by developments in mathematics, logic, and technology.
  • Educational Importance: Teaching CT is crucial for preparing students to navigate a technology-driven world.
  • Future Challenges: The book discusses the future of CT, including emerging technologies and their implications for society.

How do the authors define Computational Thinking in the book?

  • Design and Explanation: CT is defined as the mental skills and practices for designing computations and explaining the world as information processes.
  • Two Aspects: It involves both the engineering tradition of designing computations and the scientific tradition of understanding information processes.
  • Beyond Programming: CT is not limited to programming; it encompasses a broader set of skills and practices.
  • Practical Application: The definition emphasizes the practical application of CT in solving real-world problems.

What is the historical context of Computational Thinking as discussed in the book?

  • Ancient Origins: CT has roots in ancient practices, such as the Babylonians' mathematical methods and the Egyptians' engineering feats.
  • Mathematical Developments: Over centuries, mathematicians developed procedures for calculations, leading to the concept of algorithms.
  • Technological Advancements: The invention of computing machines in the 20th century marked a significant evolution in CT.
  • Modern Era: The electronic computer age further refined CT, integrating it into various scientific and engineering disciplines.

How is Computational Thinking applied in different fields according to the book?

  • Science and Engineering: CT is used to model and simulate complex systems, aiding in scientific discoveries and engineering solutions.
  • Education: It is integrated into curricula to enhance problem-solving skills and prepare students for a digital world.
  • Software Development: CT principles guide the design and development of reliable and efficient software systems.
  • Interdisciplinary Applications: CT is applied in fields like biology, physics, and social sciences, offering new ways to interpret data and phenomena.

What role does education play in Computational Thinking as per the book?

  • K–12 Education: The book emphasizes the importance of teaching CT in schools to equip students with essential skills for the future.
  • Curriculum Development: It discusses efforts to integrate CT into educational curricula, including the development of new courses and teaching methods.
  • Teacher Training: The need for training teachers to effectively teach CT is highlighted as a critical component of educational reform.
  • Transferable Skills: CT is presented as a skill set that enhances learning in other subjects, promoting critical thinking and problem-solving.

What are the future challenges and opportunities in Computational Thinking discussed in the book?

  • Emerging Technologies: The book explores the impact of technologies like quantum computing and neural networks on CT.
  • Job Displacement: It addresses concerns about automation and the need for new skills in a changing job market.
  • Design and Ethics: The importance of ethical considerations and human-centered design in CT is emphasized.
  • Global Impact: The authors discuss the potential of CT to address global challenges, such as climate change and cybersecurity.

What are the best quotes from "Computational Thinking" and what do they mean?

  • "Computational thinking is not only something programmers must know, but it is also a thinking tool for understanding our technology-infused social world." This quote highlights the broad applicability of CT beyond programming, emphasizing its role in navigating a digital society.
  • "The computer of today is the machine many sought throughout the ages to automate calculation and free it from the frailties of humans and the need for their intervention and judgment." This reflects on the historical quest for automation and the transformative power of modern computing.
  • "CT is an old, rich human practice that has been perfected in the modern age of the electronic computer." This underscores the long history of CT and its refinement through technological advancements.

How does the book address the relationship between humans and machines in Computational Thinking?

  • Human-Machine Teaming: The book discusses the potential for human-computer collaboration to enhance problem-solving capabilities.
  • Automation Concerns: It addresses the impact of automation on jobs and the need for new skills in a technology-driven world.
  • Ethical Considerations: The authors emphasize the importance of ethical design and the human impact of computing technologies.
  • Future Interactions: The book explores future scenarios where humans and machines work together, highlighting the need for thoughtful integration.

What is the significance of design in Computational Thinking as per the book?

  • Beyond Functionality: Design in CT goes beyond meeting functional specifications; it involves creating systems that fit user needs and contexts.
  • User-Centered Approach: The book emphasizes the importance of understanding user communities and designing software that aligns with their practices.
  • Design Principles: It discusses design principles, patterns, and hints that guide the development of reliable and user-friendly software.
  • Innovation and Delight: The authors highlight the role of design in creating innovative solutions that delight users and exceed their expectations.

How does "Computational Thinking" by Peter J. Denning and Matti Tedre address the limits of computing?

  • Intractable Problems: The book discusses problems that are computationally intractable, requiring heuristic approaches for solutions.
  • Wicked Problems: It addresses issues that cannot be solved by computation alone, such as social and political challenges.
  • Machine Limitations: The authors explore the limitations of current technologies and the need for new computational models.
  • Human Judgment: The book emphasizes the importance of human judgment and ethical considerations in the design and application of computing technologies.

Review Summary

3.65 out of 5
Average of 100+ ratings from Goodreads and Amazon.

Computational Thinking receives mixed reviews, with an average rating of 3.7/5. Readers appreciate its comprehensive overview of computational thinking's history and applications across various fields. Many find it informative and thought-provoking, especially for those new to the subject. However, some critics note its lack of depth in ethical concerns and practical examples. The book's strength lies in its broad coverage of computational thinking's evolution and impact on different domains, though some readers found it dry or too basic for experienced professionals.

Your rating:
4.28
37 ratings

About the Author

Peter J. Denning is a Distinguished Professor of Computer Science at the Naval Postgraduate School in Monterey, California. He has authored multiple books on computing and innovation, including "The Innovator's Way: Essential Practices for Successful Innovation" and "Great Principles of Computing," both published by MIT Press. Denning's expertise in computer science and innovation has contributed to his reputation as a respected author in the field. His work often explores the intersection of technology, education, and problem-solving, reflecting his extensive experience and knowledge in computational thinking and related disciplines.

Download PDF

To save this Computational Thinking summary for later, download the free PDF. You can print it out, or read offline at your convenience.
Download PDF
File size: 0.24 MB     Pages: 16

Download EPUB

To read this Computational Thinking summary on your e-reader device or app, download the free EPUB. The .epub digital book format is ideal for reading ebooks on phones, tablets, and e-readers.
Download EPUB
File size: 2.94 MB     Pages: 10
Listen to Summary
0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Home
Library
Get App
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Recommendations: Personalized for you
Ratings: Rate books & see your ratings
100,000+ readers
Try Full Access for 7 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
All summaries are free to read in 40 languages
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 4
📜 Unlimited History
Free users are limited to 4
📥 Unlimited Downloads
Free users are limited to 1
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on May 28,
cancel anytime before.
Consume 2.8x More Books
2.8x more books Listening Reading
Our users love us
100,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Scanner
Find a barcode to scan

Settings
General
Widget
Loading...