What you'll need

A computer, obviously. Windows, Mac, Linux, Chromebook, doesn't matter. Old computer, new, doesn't matter, as long as it can run web browsers released in the last two years or so.

The code on this site runs on Firefox and Chrome. The code will probably work on Microsoft Edge as well.

You'll need a place on the Web to put your files. The examples in this course – the screenshots and so on – were made with an account on Reclaim Hosting. Reclaim specializes in serving students and universities. A basic account costs $30/year at the time of writing. That includes a domain for one year. A domain is something like tastymonkeybites.org.

I don't know the people at Reclaim, or get any referral fees. I recommend Reclaim because it's cheap, and has what students need.

You'll also need software for editing code. Don't use a simple file editor, like Notepad++, for anything but the simplest tasks, like writing ten lines of HTML. Notepad++ is a fine general purpose editor. I use it regularly, just not for programming.

Use an integrated development environment (IDE) for writing HTML, CSS, and JavaScript. An IDE takes more time to learn than a simple editor, but an IDE will find some mistakes for you, saving hours of frustration.

There are free IDEs that run on Windows, Mac OS, and Linux. WebStorm from JetBrains is perhaps the best, and is free with a student account. NetBeans is good, too. So is Atom. Visual Studio Code is is getting popular, though I haven't tried it.

You'll need time, about 8 hours per week for a semester-long course. That's just a guess. You might need more time, especially towards the end of the course.

You'll need people who can help you. Professors, friends, frenemies. Everyone needs help from time to time.

One last thing. Programming is frustrating. Expect your code not to run the first time. That's normal.

Argh

You'll read your code again and again, but it won't help. You'll feel lost, depressed, angry at your stupid instructor, angry at the entire world.

Angry

The best cure for frustration is knowing what to do when things go wrong. That's something you have to learn. There are tools like debuggers, that help you find mistakes. Debuggers are magical things.

Debugger magic

Still, you need to know how to use debuggers to find and fix problems. If you learn that, your life will be easier.