Learning how to program

I was recently asked if I could help a student learn how to program in JavaScript and PHP. Here’s an excerpt from my response to the 9th grade student:

JavaScript is really not the best place to start learning how to program. I know it seems like a lot, but you will quickly understand that learning a language is not difficult. Learning how to program is really difficult.
I’ve been programming since seventh grade and I think the real reason why I’m still programming is because I learned in a fun non-business-y environment. I started with Logo and then a bit later I got into PHP. PHP is probably the best place two start of the two, but it’s really not a great solution because it’s much harder to set up (without paying for web hosting). What I would suggest is that you start with Python or Java. They are very different languages, but they both have really low barrier to entry (initial requirements of the person trying to learn). Python is cool because you really don’t need a lot to get it working. You can make programs in a console (text window) and you don’t have to worry about compiling because it’s a scripting language like javascript. Java on the other hand is going to have a lot more sweet examples because it’s a very widely used language for making games. It’s also what you program in to make android phone apps and google (android) tablet apps. But it is a bit harder because you have to learn about IDEs, in this case eclipse, which is a program that helps you make your program and fix bugs in it. It will also compile your code into a program that you can run.

I’m sure this all seems like a lot of information– it will be a bit overwhelming to learn all this stuff. Especially where you are right now in school.
I think your best bet is to explore a lot. Look at samples of other people’s code. See what really cool stuff that you can make and then look behind the scenes at what’s making it tick.

After further thought, you probably want to start with python to learn about the basic tools of programming (loops, conditionals, and other control flow, variables, etc.):

http://learnpythonthehardway.org/

It’s a great way to learn the basics. One of the hardest things is to set up your initial environment. But if you get through that you should be able to try stuff out without too much problem.

So, in summary, the most important things while learning are:

> Explore — don’t lose interest; make it useful, interesting, and exciting

> If you are just learning how to program because someone told you it’s a good idea and you don’t really agree, then it’s not going to work.

> Keep it easy – don’t burn yourself out; try not to get frustrated

> It’s easy to spend your time thinking about how complicated and difficult it is and how you’ll never get to what you want to accomplish
> If it’s really that frustrating and unhappy for you then maybe you shouldn’t be doing it! :)
> As you learn more about programming you will be able to learn faster. For me, (after learning 40+ of them) learning a new programming language or environment is like eating a meal. You just know how to do it. You’ll get there faster than you can imagine.

This entry was posted in Uncategorized and tagged , , , , , , . Bookmark the permalink.