Read more
There's a lot to know about computer science, including the core subjects of mathematical logic, algorithms, programming languages, operating systems, networks, databases, graphics, artificial intelligence, and software engineering, among others. How a Computer Works: The micro:bit Way is a novel text that will introduce you to basic concepts of computer science through the lens of a very small computing system called the micro:bit, a pocket-sized, programmable computing device. While the book tells you all you need to know to know to make the micro:bit an effective and engaging tool, its main aim is to reveal the broad science behind computing devices using the micro:bit. The purpose of this book is to use the micro:bit to introduce you to the basics of computing systems so that you better understand "what's going on under the hood". With this book, you will acquire the skills and knowledge to master a computer system, and to pursue computer science further with a strong underlying understanding of the basic hardware. Simple programs for the micro:bit can be coded in seconds with little prior knowledge of computing. The micro:bit is embeddable, meaning that it in small enough to be a part of the physical environment we live in, where it can interact with you and the world around you. The micro:bit is reactive, meaning that it continuously can sense the environment around it (via its input sensors) and quickly react to changes in the environment (by changing its outputs). The micro:bit's can, for instance, control small robots. The micro:bit is networked, meaning that it can connect to and communicate with other computers. The book starts with a look at what computer systems are and how they are represented. Then we move up a level to see how they are programmed. Programming the micro:bit is done via a website, so everyone can participate. With that knowledge, we can delve into what makes systems reactive to their environment, and then how devices communicate with each other. Advanced topics such as machine intelligence are touched on in Chapter 5. Throughout there are examples and exercises.
List of contents
This book is organized into five sections. Each section covers a related set of computing concepts, with illustrative examples, ending with a practical application using the micro:bit.
Section 1 describes what a computing system is, the concept of a processor that is at the center of most computing systems, and how information, including programs, are represented in computers by binary numbers and why:
Computing systems and processors
Bits: binary representation of information
Programs are numbers: HEX files
Your micro:bit and loading a HEX file
Section 2 describes how programming languages, compilers and libraries help make programming a computing system easier:
Processor problems
Programming languages and compilers
The micro:bit library through Blocks
More advanced coding with TypeScript
Section 3 discusses what makes the micro:bit a reactive system: its ability to react quickly to changes in inputs and to change its outputs in response:
Clocks and input/output via serial communication
Introduction to GPIO and micro:bit pins
Reactive systems and concurrency (events)
Wiring your micro:bit
Section 4 shows how micro:bits can be connected in networks to one another and other computers to share and store information:
Networking (micro:bit to micro:bit, micro:bit to smartphone)
Streaming and analyzing sensor data
Distributed systems and the cloud
Networking your micro:bit
Finally, Section 5 related topics
Machine learning: recognizing gestures with your micro:bit
Program correctness
About the author
Thomas Ball, Microsoft Research Manager, USA. Judith Bishop, Research Computer Scientist, USA