Preface
Part 1: Computational Thinking
1. What is Computational Thinking?
2. Logical and Algorithmic Thinking
3. Problem Solving and Decomposition
4. Abstraction and Modelling
5. Anticipating and Dealing with Errors
6. Evaluating a Solution
Part 2: Computational Thinking in Software Development
7. Tutorial for Python Beginners
8. Effective Building Blocks
9. Organising Your Code
10 . Using Abstractions and Patterns
11. Effective Modelling
12. Testing and Evaluating Programs
13. A Guided Example
Appendix
Karl Beecher is an author and software developer. Before moving into academia, Karl worked as a software engineer and in 2009, he was awarded a PhD in Computer Science. He worked at the Free University of Berlin before returning to industry to co-found Endocode, an IT services firm. In 2014 Karl published his first book, Brown Dogs and Barbers.
'A ‘must-read’ for students embarking on their first major
projects, and any teacher stepping up to the challenge of teaching
Computing at school. This is not just a book about programming,
more a template for teaching. Karl Beecher speaks in plain English.
Incisive insight and practical advice, standing independent of the
Python exemplars used, predicated as it is on a holistic
understanding of the subject terrain.'
*and Editor, Computing At School, Tenderfoot Training Project*
'I really enjoyed this book - it bridges the gap between the very
practical, but perhaps narrow, field of computer programming with
the real world problems that computer scientists might need to
solve. The issue with encouraging young people to learn 'coding' is
that they often struggle to understand how and when to use specific
concepts and ideas. The underlying principles and real world
applications are essential, and much harder to put across, than
remembering the syntax for an IF statement. The discussions are
presented in a readable format that would be suitable for bright
GCSE students and should be essential reading for all A Level
computer scientists.
With the shift in focus at GCSE and A Level alike, from
'programming' to 'computational thinking', explanations and
examples of abstraction, decomposition and generalisation, along
with modelling, logic and efficiency are both engaging and
useful.'
*Subject Leader and CAS Master Teacher*
'Computational Thinking is a sprint through the theoretical
underpinnings of computation through to their application and the
creation of software. The thirteen chapters start with an
explanation of what is computational thinking, move through logical
and algorithmic thinking, abstraction and modelling, to then focus
on how to apply these concepts. The middle set of chapters cover
how to create software with a focus on object-oriented solutions
with a relatively short discussion on testing. Python is used as
the programming language to demonstrate the use of the various
techniques introduced in the early chapters but it would be
straight forward to convert the examples to other similar languages
such as Java, C#, etc. The final chapter provides a guided example
based on the creation of a computer-controlled home automation
system. Each chapter has a set of exercises to work through and
model answers for these are supplied in an appendix.
This is a very good overview of a very large field. While all of
the topics are deserving of their own book the strength of this
book is the explanation and demonstration of their close
relationships. This book is an excellent complement to the many
books on the Raspberry Pi and Python programming because it starts
to explain some of the theoretical underpinnings. The seasoned
software developer should not be discouraged by the beginner’s
guide sub-title as this is also a good refresher on some of the
basics.'
*Principal Consultant*
'A scholarly book albeit written from a pragmatic perspective
distilling the knowledge and expertise of an experienced software
developer into a form that is accessible for beginners. It's
engaging exercises and comprehensive references make it an
invaluable learning resource. I would recommend it to anyone who
wishes to gain an understanding of computational thinking and best
practice in modern software development.'
*Professor Cornelia Boldyreff*
'This book will prove an excellent companion to more general texts
on Computing, especially for teachers who are new to the subject.
And with exercises at the end of each chapter, there is much to
challenge students also. Highly recommended.'
*independent education technology writer and consultant, and
publisher of the ICT and Computing in Education website at
www.ictineducation.org*
![]() |
Ask a Question About this Product More... |
![]() |