BYOB - Build Your Own Blog
I am helping a couple of friends to learn how to program, and how to build things. Working through Codecademy has helped them get a grasp of the basics of syntax and problem solving, but they pretty quickly grow bored without a real goal in mind.
This is why I tell them to build their own blog, and why I think you should too.
Let's face it, you're not going to knock wordpress off it's pedestal, nor compete with blogger/tumblr/whatever other blogging platforms are popular. It's about building something for you. Something which doesn't affect everyone else, but you can play with, show off, and learn from.
Blogs are basic. Don't let the big platforms fool you - when you get right down to it, there are only a couple of main functions that a blog needs.
- You have to be able to log in.
- You have to be able to add posts.
- People have to be able to read posts.
That's all a blog is. You can do it without any programming at all by uploading static files to a web server (I'm looking at you, RMS). The purpose of the exercise, however, is to give them a simple, well defined core task which they can change, expand, and grow. It also gives them something useful.
From the three core functions, they can start to expand with things like listing posts, comments, RSS feeds, search. They can add the features they want, and ignore the ones that they'll never use. They will gain a greater understanding of how and why things are built the way they are.
So when you're teaching someone to program, don't get them to build a payroll system. Get them to build a blog.