Should Students Learn to Write HTML Code?

I saw an email from someone today suggesting that they would be starting next term to teach their students to write HTML code from scratch, so the kids could make their own webpages. My initial reaction when I read this message was to ask “Why?” Why would anyone bother to learn HTML coding from scratch when there are so many great editing tools around? Surely, in a WYSIWYG world, learning how to to actually write HTML code is a complete waste of time? With so many great web editing tools around, isn’t learning to write raw HTML code a pointless exercise?

In once sense, these are valid questions. There’s no doubt that the majority of websites these days are created using a templated approach and an “engine” such as WordPress, Drupal, Joomla, Squarespace, etc. It’s also true that for any really customised web work, it would still fall to a workhorse like Adobe Dreamweaver or something else, such as excellent free tools like KompoZer or NVU editor.

However, on reflection, I think there is a great deal to be said for being able to understand basic HTML code. Take using Moodle as an example… as much as I would like to tell my teachers at school that Moodle has a wonderful WYSIWYG editor, and that it will automatically format all the text and images for you just by cllicking on the little buttons in the editing bar, the fact remains that I still find myself hitting the little <> button on the Moodle editor bar to dive into HTML code on an almost daily basis just to fix little quirky things that are going on.

It’s also true that, although you can use the buttons on the editor to align text to the left or right (which in HTML, behaves quite differently to how it behaves in, say, Word) knowing a little bit about what those buttons are actually doing on a code-level makes it much easier to predict how things will actually look. Being able to manually write a link to a URL, being able to strip out some rogue heading level text, fixing paragraphs that have gone askew because of a stray tag, and so on… these are all things that I find myself doing fairly regularly, even WITH access to fancy WYSIWYG editing tools. I taught myself the basics of writing HTML nearly 15 years ago now (well, to be completely honest, one of my students taught me!) and I can’t even begin to tell you how handy it has been and how often I have used that knowledge. Although I would like to think that we are living in a world where it SHOULD be completely unnecessary to know how to write HTML source code, the truth is that over the years it’s proven itself to be a damn handy skill!

Even being able to use the provided code to put an YouTube video or a Google Map into a wiki or blog, for example… sure, you CAN do it without having the slightest idea of how it all works, but if you want to make a minor adjustment such as changing the width or height of the frame, just being unintimidated by the code makes a big difference to your general level of technological fluency.

I’m not saying that everyone should be able to write heavy-duty CSS code or be able to create complicated PHP script, but HTML is dead simple… and for the number of times I find myself rescuing a page because of a relatively simple adjustment to the underlying code… I gotta say, I can’t think of anyone who would not benefit from knowing the basics.

So, should this teacher spend time teaching his kids to code? Some may disagree, but I say yes. My advice would be to teach kids to write a fairly simple webpage. They should know the core structure of html, head and body. They should understand heading levels (and depending on the age of the students, how these can be tied to style sheets). They should know how to manually write (or at least understand) the code for a hyperlink, for an image, and for an embed. It’s good to know these basics. I guarantee you those kids will find them useful at some point in their future.

For the majority of your students, that’s probably all they need to know. Then, once they have a grip on the basics, switch over to a decent visual editor like Dreamweaver or similar… some tool that lets them switch back and forth between code view and output view. Output view will make SO much more sense once they see the relationship between code and output!

And who knows, just that small exposure to the underlying code could make all the difference to that one kid in your class. It could open them up to a whole world of coding and being interested in what really makes a computer tick. In this WYSIWYG world, God knows we need more kids like that!

And if nothing else, you’ll at least understand why the picture that goes with this post is so funny! 🙂

What about you?  Do you think teaching kids to understand HTML is a useful skill, or a waste of time?

Image: ‘html tag italicized
http://www.flickr.com/photos/30127486@N00/346483297