This ongoing course, “Computer Programming for Kids”, will teach you, in an easy and relaxed manner, what you need to know to become a computer programmer (also known as a “software developer”).
Maybe you don’t know whether you really want to become a programmer or not (we’ll just call computer programming “programming” and computer programmers “programmers” from now on). Maybe you just want to look into it a little to see if programming is something that might be of interest to you. That’s fine; that’s okay. Programming is not for everybody. I will say, though, that everybody would benefit from learning at least a little bit about programming. Even if you don’t keep at it or end up pursuing it as a career, learning a little about programming can help you, and the time you invest in this investigation won’t be wasted.
But you might wonder, How can learning programming, or even just learning a little bit about programming, help me?
For one thing, it will help you think in a more logical way. It can also help you understand what can (and cannot) be done with programming. There are actually more things that can be done with programming than cannot be done (unless you’re thinking about creating a perpetual motion machine, or causing the moon to turn into cheese or white chocolate, or having Bessie jump over it, or something like that). In many cases, with programming you can do the things that you would otherwise do anyway, but in a faster and more efficient way. In other words, software you create can take over tedious work for you, leaving you more time for things you would rather be doing.
So let’s jump right into it, and briefly talk about just what programming is. By that I mean the Who, What, Where, Why, When, and How of programming and what this course in particular will offer in connection with it. Actually, the following lessons (all of them after today’s introduction) are pretty much about the how – so first we’ll cover the first five items (the “5 Ws”):
Who: As for “who?”, that question is about you and I. Who am I? Well, my name is Clay Shannon. What’s that?!? You’ve never heard of me?!? I expected as much, because … I’m not famous! But I have been a programmer for over twenty years, and a writer, too. I wrote a programming book called Developer’s Guide to Delphi Troubleshooting back in the late 1990s, and was the “Best Practices” columnist for the now defunct Delphi Informant magazine in the early 2000s. So, it makes sense for me to create a programming course such as this, especially during a time when many people are learning online.
Now what about you? Who are you? You know who you are, but I don’t. The “target audience” for this course, according to the name I’ve given it, is “kids.” And I know (perhaps you do, too) that “kids” is not really a great description of who is meant to benefit from this course. After all, a kid is actually a young goat, not a human at all, if you want to get technical about it. But most people know that “kids” also refers to young humans. And what else could I call you -- “Children”? “Youngsters”? “Young Adults”? “The Younger Generation”? “Pre-teens”? “Adolescents”? “Whippersnappers”? None of it sounds quite right. And besides, there’s really no age limit here. Anybody is welcome to enroll in this course. The information I will present is more for the “young at heart” than the literally young – that is, anybody who would like to learn something about programming, starting from “scratch” or “the git-go.” You might be 8 years old (or younger); or you might be 80 years old (or older). It doesn’t matter to me. Or to this guy, a real kid:

Picture of an actual kid (a young goat) by Anthony22 at English Wikipedia, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=34316620
What: The “What” part is probably obvious. Programming. Computer programming. But what is that, really? In a nutshell, programming is instructing the computer what to do by means of code that you write. What you instruct it to do, it will do (if it’s machinely possible). Not to get too far into the “How” aspect of it yet, but you tell it what to do by means of writing a hybrid language – a language that is midway between human language (English), and machine language, which is “read” by the computer it runs on in a very literal and matter-of-factish way. As we go along, when I show you some code (computer programming instructions), I will also “translate” it into plain English.
Where: Your brain. That’s where most of this course will take place. But to answer that question in a little more conventional way, you can read these lessons anywhere – in your house, at the library, in the car (but not while you’re driving, if you’re even old enough to drive), on a mountaintop, at the bottom of the sea (but you must supply the submarine), or on Mars (but you must supply the spaceship). You get the picture.
But let’s stop using the awkward, overly-formal, overly-dull-sounding word “course” from now on. I prefer to think of this series of lessons as being a Journey that we will take together. Yes, Journey with a capital “J.” A Journey that your brain goes on. We will refer to each “lesson” as a Step on this Journey. Where does the Journey wind up? That’s really up to you. You can step off the road at any time, either to return to the path at some time in the future (when else but in the future?) -- or not. It’s up to you. For those that remain on this less-traveled road, we will cover, among other things:
Creating Windows Forms apps
Designing and using Databases
Crafting Websites
Developing Mobile/Phone apps
--and--
… who knows where else this Journey might take us...
Let me add here, too, that this will not be “academic” in the sense of just presenting facts and theory. This is (or at least can be) a hands-on experience for you. The tools we will use are free, and we will present “real-world” situations. In each of the four areas listed above, we will be creating a project together: first, an app that presents multiple-choice questions to the users; the database portion of the material will use actual data that you might find interesting; we will create a website that you will doubtless find fun as well as practical to use. And finally, the Mobile app: that’s a secret, but I can assure you it will be of interest to a wide swath of people. Now, back to our regularly scheduling programming (no pun intended - back to the Ws, concluding with Y, I mean “Why”):
Why: Why? Let me count the ways. Or, to put it in programmatic terminology, let me enumerate the ways:
1) To explore the possibilities that learning to program opens up.
2) To experiment with the new things you will learn.
3) To create fun and hopefully useful applications and websites.
4) To express yourself; to be creative. After all, programming is part science, part craft, but is also partly an art form. A radical statement? Consider this: every program can be designed in a myriad of ways. It’s up to the programmer to decide which brush, palette, and technique to use when creating his masterpiece.
5) To pursue a career? Maybe, but that’s “down the road,” if you choose to go that route. It’s perfectly fine to just “dabble” for awhile and decide whether programming is something you want to do or not. If you do decide to do more than just dip a toe into the water, you can choose to be a “hobbyist” programmer, and use your knowledge of programming to enhance some other interest or goal. Or you can become a professional programmer, if that’s what “floats your boat.” There’s always a need for good programmers and, by the way, it pays pretty well. But let’s not really think much about all that now; for the time being, let’s just have fun with it together.
Note: To be honest, in programming you normally start a list with the number 0, not 1. Yes, 0 is a number, and a very important one; and yes, it seems weird at first to start counting at 0, but you soon get used to it.
When: Whenever you feel like it. Don’t force it. If you force it, you won’t enjoy it. If you aren’t enjoying it, you won’t understand it, and it will become drudgery rather than the fun that it should be.
That wraps up the Intro to “Computer Programming for Kids.” In the next Lesson – oops, I mean on the next Step in the Journey – we’ll dive in to some actual programming (of a sort). Don’t worry, though, we will take it slow at first, and only very gradually move into the “deep end of the pool.”
For the audio of this Intro, go to