On the menu bar at the top of this page you will see that the course consists of a number of modules.
These modules are designed to introduce you to the key elements of computer programming by building and programming physical interactive devices using components, wires, and a microprocessor.
We spend a bit of time learning core programming concepts—the programming equivalent of
The main focus is to learn when to use these concepts. For example, you have a particular project in mind, and you recognize that it calls for an if statement.
The following is the most important video for the course. At first, you might find it tangential or peripheral at best. I am old and have learned these 10 bullets the hard way. At some point in my life, I have neglected one or another of these bullets and experienced the negative results. I have seen good students stumble because they got lax on one of these. So don’t laugh off the bullets but make them an integral part of how you approach the course.
The 10 bullets are based on the exceptional YouTube video: 10 bullet by Tom Sachs. I know you just can’t click and play the following embedded video but it is definitely worth the watch:
First, I know people whose salary is very low and I see that they suffer and struggle trying to survive on their income. I don’t want to diminish those struggles. But once one reaches a salary covering basic needs like health care, food, and a safe place to live, there is no correlation between how much you make and how happy you are. Research shows that. And my personal experience confirms it. I know software developers who pay more in taxes than I make in a year, and I know teachers who are getting by on a $60,000/yr or less salary. I don’t see those developers being more (or less) happy than the teachers. Being a software developer will not make you happy. Or maybe you think you don’t like computer programming, but you are studying it so you can earn a large salary, get married, buy a house, have a few kids, and live happily ever after. We can’t predict what life will bring. I’ve known a person that got that big bucks developer job, got married, bought a house, and then everything fell apart in their life. I’ve met a pianist who practiced piano 80hrs/wk for years, won a major international piano competition and thought he had it made. His concert schedule was booked for a few years after winning, but that dried up as new, younger, pianists won more recent competitions. Concert promoters wanted to book the hot new talent. So there he was at my friend’s house after a concert, drinking beer and lamenting as to why he worked so hard for all those years (an example he gave was skipping pizza with friends at college and instead spending countless evenings alone in a practice room). He reached his goal–winning a prestigious competition– but learned that that happiness was short lived. Again, we don’t know what the future brings.
The best we can do is find something in the present moment that brings us joy and happiness. I hope that this course will bring you some joy, and you will find the programming puzzles fun. However, I recognize that this course is not that big of a deal in the grand scheme of things. Of course you need to plan and have goals, but don’t make happiness conditional on those goals. “I’m miserable now but I’ll be happy when I get my degree and get a high paying job.” is not the best outlook on life.
Coding Websites and Apps for Students. (Thanks to Ethan Pruitt for this suggestion and congratulations to him for earning his Boy Scout Programming Merit Badge.)
A Beginner’s Glossary of Coding and Programming Terms (thanks to Emma from the Laser Beams and Robots STEAM Club for suggesting this resource)
download Python – and access tutorials
How to Think Like a Computer Scientist – Learning with Python 3 online book