Book description
Computational thinking (CT) is a timeless, transferable skill that enables you to think more clearly and logically, as well as a way to solve specific problems. With this book you'll learn to apply computational thinking in the context of software development to give you a head start on the road to becoming an experienced and effective programmer.
Table of contents
- Front Cover
- Half Title
- BCS, THE CHARTERED INSTITUTE FOR IT
- Title Page
- Copyright Page
- Contents
- List of figures and tables
- Author
- Acknowledgements
- Glossary
- Introduction: Why Study Computational Thinking?
- Part I Computational Thinking
- 1. What is Computational Thinking?
- Objectives
- What is computational thinking?
- How is computational thinking used?
- Disclaimers
- Summary
- Exercises
- 2. Logical and Algorithmic Thinking
- Objectives
- Approach
- Logical thinking
- Algorithmic thinking
- ‘Gotchas’
- Summary
- Exercises
- 3. Problem-Solving and Decomposition
- Objectives
- Where to start
- Defining the problem
- Devising a solution: Something to keep in mind
- Decomposition
- Other effective strategies
- Patterns and generalisation
- Summary
- Exercises
- 4. Abstraction and Modelling
- Objectives
- Abstraction
- Modelling
- Summary
- Exercises
- 5. Anticipating and Dealing with Errors
- Objectives
- Coming to terms with bugs
- Designing out the bugs
- Mitigating errors
- Testing
- Debugging
- You can’t have everything: Deciding which errors to fix
- Summary
- Exercises
- 6. Evaluating A Solution
- Objectives
- Solution evaluation
- Is it correct?
- Is it efficient?
- Is it elegant?
- Is it usable?
- Trade-offs
- Summary
- Exercises
- Part II Computational Thinking in Software Development
- 7. Tutorial for Python Beginners
- Objectives
- Introducing Python
- First steps
- Basic types
- Basic operations
- Functions
- Comments
- Summary
- Exercises
- 8. Effective Building Blocks
- Objectives
- Logic
- Basic algorithmic constructs
- Program state
- More advanced constructs
- Summary
- Exercises
- 9. Organising Your Code
- Objectives
- Recap
- Introducing tkinter
- Separating concerns
- Defining information scope
- Using modules
- Packages
- Summary
- Exercises
- 10. Using Abstractions and Patterns
- Objectives
- Finding patterns in programs
- Abstractions in programming
- Built-in types
- Creating your own types
- Ready-made patterns
- Summary
- Exercises
- 11. Effective Modelling
- Objectives
- Recap
- Entities
- Relationships
- Processes
- Usage
- General advice
- Summary
- Exercises
- 12. Testing and Evaluating Programs
- Objectives
- Introduction to program testing and evaluation
- Anticipating bugs
- Verification and validation
- Testing the parts
- Testing the whole
- Debugging
- Summary
- Exercises
- 13. A Guided Example
- Problem definition
- Problem decomposition
- Finding patterns
- Form generalisations and abstractions
- Models
- Annotated source code
- Testing
- Opportunities for improvement
- Appendix A: Reference Lists and Tables
- Order of operator precedence
- Usability heuristics
- Mutable and immutable types in Python
- Appendix B: Answers to Exercises
- Notes
- References
- Index
- Back Cover
Product information
- Title: Computational Thinking
- Author(s):
- Release date: September 2017
- Publisher(s): BCS, The Chartered Institute for IT
- ISBN: 9781780173665
You might also like
audiobook
Computational Thinking
A few decades into the digital era, scientists discovered that thinking in terms of computation made …
book
Algorithmic Thinking
Algorithmic Thinking will teach you how to solve challenging programming problems and design your own algorithms. …
audiobook
Generative AI
The future of AI is here. The world is transfixed by the marvel (and possible menace) …
book
The Programmer's Brain
Your brain responds in a predictable way when it encounters new or difficult tasks. This unique …