๐”– Scriptorium
โœฆ   LIBER   โœฆ

๐Ÿ“

Computational Thinking: A Beginnerโ€™s Guide to Problem-Solving and Programming

โœ Scribed by Karl Beecher


Publisher
BCS, The Chartered Institute for IT
Year
2017
Tongue
English
Leaves
308
Category
Library

โฌ‡  Acquire This Volume

No coin nor oath required. For personal study only.

โœฆ Synopsis


Computational thinking is a timeless, transferable skill that enables you to think more clearly and logically, as well as a way to solve specific problems.

Beginning with the core ideas of computational thinking, with this book you'll build up an understanding of the practical problem-solving approach and explore how computational thinking aids good practice in programming, complete with a full guided example.

About the Author

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.ย 

โœฆ Table of Contents


Cover......Page 1
Coptright Page......Page 7
CONTENTS......Page 8
LIST OF FIGURES AND TABLES......Page 12
AUTHOR......Page 15
ACKNOWLEDGEMENTS......Page 16
GLOSSARY......Page 17
INTRODUCTION: WHY STUDY COMPUTATIONAL THINKING?......Page 20
PART I COMPUTATIONAL THINKING......Page 24
WHAT IS COMPUTATIONAL THINKING?......Page 26
HOW IS COMPUTATIONAL THINKING USED?......Page 28
DISCLAIMERS......Page 30
EXERCISES......Page 32
APPROACH......Page 33
LOGICAL THINKING......Page 34
ALGORITHMIC THINKING......Page 44
โ€˜GOTCHASโ€™......Page 49
SUMMARY......Page 55
EXERCISES......Page 56
WHERE TO START......Page 58
DEFINING THE PROBLEM......Page 59
DEVISING A SOLUTION: SOMETHING TO KEEP IN MIND......Page 61
DECOMPOSITION......Page 62
OTHER EFFECTIVE STRATEGIES......Page 66
PATTERNS AND GENERALISATION......Page 69
SUMMARY......Page 73
EXERCISES......Page 74
ABSTRACTION......Page 76
MODELLING......Page 83
EXERCISES......Page 93
COMING TO TERMS WITH BUGS......Page 95
DESIGNING OUT THE BUGS......Page 96
MITIGATING ERRORS......Page 99
TESTING......Page 101
DEBUGGING......Page 104
YOU CANโ€™T HAVE EVERYTHING: DECIDING WHICH ERRORS TO FIX......Page 107
EXERCISES......Page 109
SOLUTION EVALUATION......Page 111
IS IT CORRECT?......Page 112
IS IT EFFICIENT?......Page 113
IS IT ELEGANT?......Page 116
IS IT USABLE?......Page 118
TRADE-OFFS......Page 120
SUMMARY......Page 123
EXERCISES......Page 124
PART II COMPUTATIONAL THINKING IN SOFTWARE DEVELOPMENT......Page 126
FIRST STEPS......Page 128
BASIC TYPES......Page 129
BASIC OPERATIONS......Page 130
FUNCTIONS......Page 131
EXERCISES......Page 132
LOGIC......Page 134
BASIC ALGORITHMIC CONSTRUCTS......Page 135
PROGRAM STATE......Page 143
MORE ADVANCED CONSTRUCTS......Page 150
SUMMARY......Page 156
EXERCISES......Page 157
RECAP......Page 158
INTRODUCING TKINTER......Page 159
SEPARATING CONCERNS......Page 160
DEFINING INFORMATION SCOPE......Page 164
USING MODULES......Page 169
PACKAGES......Page 176
SUMMARY......Page 178
EXERCISES......Page 179
FINDING PATTERNS IN PROGRAMS......Page 181
ABSTRACTIONS IN PROGRAMMING......Page 183
BUILT-IN TYPES......Page 184
CREATING YOUR OWN TYPES......Page 185
READY-MADE PATTERNS......Page 194
EXERCISES......Page 201
RECAP......Page 203
ENTITIES......Page 205
RELATIONSHIPS......Page 208
PROCESSES......Page 213
USAGE......Page 215
GENERAL ADVICE......Page 218
EXERCISES......Page 220
ANTICIPATING BUGS......Page 222
VERIFICATION AND VALIDATION......Page 228
TESTING THE PARTS......Page 229
TESTING THE WHOLE......Page 233
DEBUGGING......Page 238
EXERCISES......Page 244
PROBLEM DEFINITION......Page 246
PROBLEM DECOMPOSITION......Page 247
FINDING PATTERNS......Page 248
FORM GENERALISATIONS AND ABSTRACTIONS......Page 251
MODELS......Page 252
ANNOTATED SOURCE CODE......Page 256
TESTING......Page 262
OPPORTUNITIES FOR IMPROVEMENT......Page 265
ORDER OF OPERATOR PRECEDENCE......Page 266
MUTABLE AND IMMUTABLE TYPES IN PYTHON......Page 267
APPENDIX B ANSWERS TO EXERCISES......Page 268
NOTES......Page 295
REFERENCES......Page 299
INDEX......Page 303
Back Cover......Page 308


๐Ÿ“œ SIMILAR VOLUMES


Computational Thinking: A Beginnerโ€™s Gui
โœ Karl Beecher ๐Ÿ“‚ Library ๐Ÿ“… 2017 ๐Ÿ› BCS, The Chartered Institute for IT ๐ŸŒ English

<div><p>Computational thinking is a timeless, transferable skill that enables you to think more clearly and logically, as well as a way to solve specific problems. </p><p>Beginning with the core ideas of computational thinking, with this book you'll build up an understanding of the practical proble

Build Your Own Programming Language: A p
โœ Clinton L. Jeffery ๐Ÿ“‚ Library ๐Ÿ“… 2021 ๐Ÿ› Packt Publishing ๐ŸŒ English

Written by the creator of the Unicon programming language, this book will show you how to implement programming languages to reduce the time and cost of creating applications for new or specialized areas of computing Key Features โ€ข Reduce development time and solve pain points in your applicatio

Thinking : a guide to systems engineerin
โœ Eisner, Howard ๐Ÿ“‚ Library ๐Ÿ“… 2019 ๐Ÿ› CRC Press ๐ŸŒ English

"This book provides an overview of more than a dozen ways of thinking, to include: Inductive Thinking, Deductive Thinking, Reductionist Thinking, Out-of-the-Box Thinking, Systems Thinking, Design Thinking, Disruptive Thinking, Lateral Thinking, Critical Thinking, Fast and Slow Thinking, and Breakt