micro:bit - From Blocks to Python
In this next course in the blocks-to-Python sequence our students will build project-based mini-programs in both the micro:bit
blocks editor and Python that expose them to the Internet of Things - an application of programming where where marrying software
with hardware provides real-world solutions to everyday problems. Each Code Camper is provided with a micro:bit,
as well as a MacBook laptop to run the micro:bit solutions.
At the end of the course, our students will understand how basic programming concepts encountered thus far like variables, loops, events and conditionals come together to create a hardware solution.
“Coding” is synonymous with “programming”. It refers to the art of writing computer code, which are instructions that a computer can follow to solve problems. Practically every facet of technology that we encounter in our daily lives - from online banking systems to video games on our iPhone, from the GPS systems we rely on navigation to the security systems that protect our homes and offices, is created from code.
At Code Campus, we start with Scratch and AppInventor - drag-and-drop block-based languages developed at MIT over more than decade for the specific purpose of teaching kids how to code. Learning to code in Scratch is a little like learning how to ride a bike by first starting with a tricycle - a tricycle can get you to places but you are not likely to compete in triathlon on one. With Scratch, kids learn the basics of the thinking process behind using computers to solve problems but what they can build is largely limited to video games, music and electronic art boards that run off the Scratch platform. Regular programming languages we hear about like Python, Java and C++ have no such restrictions and can be used to build applications across any technical domain you can think of but comes at the cost of much greater complexity and are much more difficult to set up for the beginner. Scratch and AppInventor are educational tools that allow us to separate the thinking of computer science from the operational tedium of regular languages, allowing us to introduce kids to the subject at a much earlier age and increase their future aptitude for the discipline.