How to Learn HTML/CSS/Javascript

Despite having a CS degree I actually never took a web programming course as my small liberal arts college didn't have one. So, I taught myself everything I know about it using free resources off the Internet. If I did it, so can you!

When I was younger I tried to learn Javascript off of w3schools and failed. I still see people linking to it as a resource to learn different programming stuff, but now I think I know why it doesn't really work. It makes for a good reference but a bad tutorial, because it teaches you about each component of a particular technology induvidually, but not much about how they work together in an actual website. For HTML and CSS this can kinda work out OK since they're not actual programming languages, and you can work on pieces of them in isolation and stick them together at the end without problems most of the time. But, if you want to make anything halfway useful in Javascript you need to know how to break down your problem into steps a computer can carry out, have an idea of how to implement each step in code, and fit them all together correctly at the end. Just knowing how to write a for loop or an if statement out of context is not going to get you very far with that.

Instead, I recommend Khan Academy's free courses since they are constantly having you do little challenges and projects that apply everything you've learned so far in an environment closer to a real website. The most applicable ones for making a Neocities site will be the HTML/CSS one and then the HTML/JS one, but I encourage you to take a look at the rest too. I had a lot of fun with the Advanced JS courses in games and simulations! Then once you've learned the basics, if you ever forget a piece of syntax you can look it up quickly on w3schools.

A more advanced resource would be Mozilla Developer Network, which has both very in-depth documentation for web development technologies and some pretty helpful tutorials. For responsive design and more advanced CSS stuff I like Kevin Powell's YouTube channel.

Back to Index