Have you ever given someone directions? "Drive down Wilson Street until you reach Lincoln Street. Turn left on Lincoln and go for a block and a half. The school will be on your right." Giving directions is nothing more than writing a step-by-step procedure for someone to follow. Computer programming is the same process. A programmer writes a step-by-step procedure describing how to accomplish a task, and the computer simply follows the instructions it was given. The best part is that the computer, unlike humans (especially men), will do exactly what you tell it.
Knowing how to get a computer to do work for you is invaluable. You can make the computer do tricky math for you (and double check your homework). You can write an iPhone app and sell it in the iPhone store. You can make the next Facebook. You can get a job in any state that you want, or even in a different country. Here's an example of a wide variety employers in Iowa who hire computer programmers (in no particular order): John Deere, Wells Fargo, Rockwell Collins, Pioneer Hi-Bred, your favorite local university or college (Iowa, Iowa State, etc.), Nationwide Insurance, Dwolla, and Ag Leader Technology.
For those who love to write computer code, there are plenty of employers who will pay you to write programs all day. But there are a surprising amount of other professionals who can benefit from knowing the basics of computer programming. As an example, many people in marketing are expected to know website coding fundamentals. It's faster and cheaper for a small business or non-profit to have a marketing professional who can make a small change to the company website than to have to call the web developer and pay them to fix a typo. Plus, those who are outsourcing their web development will be able to communicate much more effectively with the programmer if they have a basic understanding of web programming.
I haven't convinced you of the benefits of programming yet? Let me try harder. What do Mark Zuckerberg, Bill Gates, and Marc Andreessen have in common? Yes, you got it right - they are all ridiculously rich. (Oh, now you want to be a computer programmer? That was easy.) Though billionaires are rare, computer programmers do typically get paid a pretty decent salary. According to www.se.iastate.edu, the average starting salary for software engineering graduates with a bachelor's degree from Iowa State is over $60,000.
For anyone inspired to learn how to program computers, I highly recommend taking Computer Science 101 at www.udacity.com. It's a free online class with video recordings of lectures taught by a college professor. You can progress through the course at your own pace, and there is an active forum community that will help answer any questions. There are quizzes and homework that are graded instantly (by computer programs of course). They aren't required, but I highly recommend both, because the best way to learn to program a computer is to actually program a computer. And did I mention that it's free? If you are looking for a more basic introduction, try searching on Amazon or at Barnes & Noble. As a senior in high school, my first programming book was "Computer Programming for Dummies."
I'll leave you with some food for thought. What else do Zuckerberg, Gates, and Andreesen have in common? No, they don't all have ties to Iowa (but Marc Andreessen was born in Cedar Falls!) The answer? All three learned how to program computers before the age of 14. Yesterday's students learned how to write on computers. Today's students must learn how to write for computers.