Arduino Programming Fundamentals

Welcome to the Arduino Programming Fundamentals Course

Modules

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

  • if the button is pressed turn on the light
  • while the temperature is greater than 80 turn on the fan

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 Arduino Course Studio Manual: 10 bullets

The most important video for the course

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:

Computer Science Will Not Make You Happy

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.

Tom Sachs - Focus on What you Love

Other Programming Resources