Web development for students

,
3 Comments

As a part of one of my courses this year, Computer Use, we got some introductory lessons to the big domain of web development. I didn’t completely agree with the selection of material that was being given, and when discussing that with my professor, he asked me what should be teached then.

To start with, let me give you an overview of what we were taught. First we got a couple of lessons about XML DTD’s — which is an interesting subject, but not really for the average web developer, then some lessons on XHTML basics and finally an introduction to CSS. We also got an oversize syllabus (about 300 pages) that contained all the theory and an overload of examples. In my opinion, it was filled with way too much details on legacy elements and properties, for example the specifics of using <font>. What also struck me as odd were the numerous incompatibility warnings about browsers such as Netscape Navigator and Internet Explorer 4. And on top of that, just before the chapter about CSS, there was a section “Using tables to layout your page“.

Now, if you’ve ever developed a website using standards before, you will probably feel my pain. So I wrote down a couple of things that I would like to see taught and discussed in these lessons.

Focus on A-grade browsers

Teaching about compatibility with Netscape Navigator is going to keep us in the dark ages of web development for a long time. Develop with standards and even the oldest browsers will make something decent of your page, a principle called graceful degradation.

Separation of content and style.

Keeping your content and your styling separated is a principle already taught in the lessons about LaTeX and something which will help you with the graceful degradation. Try to bring meaning to your HTML by using semantically correct tags as much as possible.

For example, use <em> to put emphasis on your words, not <b> to make them look bold. If you’d ever want to make emphasized words italicized later on, you can easily do so site-wide with CSS, while the HTML still conveys the same meaning.

CSS should be the one and only way to style your page, every other way is deprecated. Teach the basics of CSS and provide links to advanced examples for those who want to learn more. Keep in mind though that we are not designers and shouldn’t know everything about designing a page.

“Bad” technologies

Keep technologies such as imagemaps and framesets out of the classroom. These are of course not bad per se, but are more often abused then well-used. There are more important things to be taught.

There are a few things still to think about here, and I would be glad to hear your opinion on them:

  • How do you handle deprecated tags and attributes?

    If you do not mention them, students will find them themselves via Google in any outdated tutorial. But to what extent should you mention them then so they won’t use them by mistake?

  • What will the effect of a standardista-introduction to web development be on a fresh mind?

    If you give a technical introduction to HTML and no immediate way to do any of the flashy stuff people see out there, you are certainly not promoting HTML as a way of publishing to beginners. On the other hand, I believe that it will bring respect for the people who are able to create amazing things with these set of technologies.

3 Comments

  1. jasper  •  Dec 30, 2008 @ 12:19

    Of course I’m again the first one the reply, I’ve got two things which keep me away from my study books and designing work (as student interior architecture I’ve got to finish some projects against next week, so actually I wasn’t able to study a lot last weeks…), those evil things are my facebook (of course) and… my RSS reader.
    Now about your blog: is your studying direction called web development? or is it more general? I’ve got to say that I’ve never worked with any of the languages you’re talking about so it’s difficult to comment…
    Oh, of course… the website about ourself we had to make in the 4th year of college, which was even for me way too easy :p, I guess it was html? :)
    About what your teachers should teach you I’m sure that they can’t make any course which isn’t a little outdated cause everything with computers is outdated like after a month or something… But it’s funny to hear you’re discussing about it with your teachers :) .
    About browser compatibality, just make sure everything you make is compatible with the opera browser cause I’m (already several years) a huge fan of it :D .

    So, not really a proffesional comment of me but I hope the right people will find their way to your blog soon :) .

    grtz, jasper -javacheblogwatcher of the first hour-

  2. Pieter De Baets  •  Dec 30, 2008 @ 12:45

    @Jasper
    I’m glad you’re my first blog-fan ;-)
    The program I’m following is called Bachelor of Informatics (which sound silly in English) and is about everything in the field of computer science, so a lot of math, programming and working with computers like the course this post is about.
    And yes, that website you had to make in 4th year was HTML so you probably know a little bit about it.
    I think it’s great that we have the possibility to discuss stuff with our professors, it creates an environment that everybody can learn from.
    About Opera, if you follow the link to the A-grade browsers you’ll see that Opera is one of them, so a good web developer should support it, in spite of the low percentage of users. But if you use web standards, it’s a well-behaving browsers most of the time.

  3. Bart  •  Jan 19, 2009 @ 11:40

    I totally agree on the fact that you should NOT use tables to layout your web page.
    I had some problems with them in the past DIV’s are still the best to use. I’m also not very fond of using (i)frames, but sometimes they can be handful though.

Leave a Reply

Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>