Codecademy is a pretty neat place. Currently, they offer free classes in several web based coding languages, and I took a few, so I could tell you about them.
Disclaimer: I already knew both HTML and CSS before the course. In my former life, I was a teacher, so I also wanted to look at it from a pedagogical angle. Already knowing the content well helped me look more at how they teach, rather than what they teach.
Overall, I’m really impressed. The course covers a lot of information, but it’s broken up over small lessons and individual units. Practice exercises at the end of each lesson cover new material and review previously taught skills, and end-of-unit projects allow students to use everything they’ve learned so far. This, in my opinion, is a great way to structure the course. I felt like the lessons covered the right amount of information, and I found the exercises and the projects to be both helpful and fun. The student interface is really clean and easy to understand.
The course description says the course takes a little over seven hours to complete, and that’s pretty accurate. I completed it over several days, an hour or so at a time. Codecademy has integrated gamification techniques, which I fully support. I love unlocking things, so badges and points are awarded for hitting certain milestones.
The HTML/CSS course covers the basics; after completing the course you’ll be able to build a webpage with formatted text, lists, links, images, and an array of CSS styling tools. It’s not comprehensive, there’s still a lot more that can be done with both languages, but it’s a solid foundation in both. Taking the knowledge from this course and extending it through tutorials elsewhere will be a cinch because the student will have both the core skills and the vocabulary to understand and implement more complex skills. It’s most suitable for those new to coding, as it does not require much, if any, programming knowledge to jump into. It’s also a nice refresher if you’ve previously learned HTML/CSS and have fallen out of practice.