Most half decent developers know about modern coding standards, but whether or not they fully get the interplay between markup, CSS and front-end scripting - and can code it all up properly - is an entirely different matter.

Also, there are other critical elements which need to be a part of the process from the outset: IA, navigation design, UX/Usability, copywriting, etc - does any of this get taught on a degree course, or is it assumed that specialists in these fields will be involved?

This module, doesn't really go in to much by way of usability (don't get ahead of yourself there, that's second year stuff). In fact, when we were meant to be putting our new found knowledge to practice, I was discouraged from using anything other than tables.

For my assignment, we were given a bit more flexibility so that ended up okay. Have received 80% - 95% for each done so far.

Wow. At worst it seems like the tutors are well versed in out-of-date practices, at best it seems like they're trying to give you an understanding of what came before as building blocks to develop from.

OMG can't believe this, I was speaking to someone else that was using a table, he said divs were to messy, i proved him wrong, turned out he didn't know how to use divs lol, it's really a must now adays to use divs for layout

I'm pro DIVs for most of the markup of a page, especially for the main layout, and from IE7 onward if one has a good experience in webdesign, can do a neat cross-browser design with them (IE7+, Firefox 3+, Chrome, Safari).

BUT I don't consider tables obsolete. Indeed I don't use them for the layout design itself, but for any kind of tabular data, I do. That includes form controls (label - input), actual data tables, calendars, some grouped content, etc. For these specific cases I find them a lot easier to use than DIVs.

So to conclude my opinion: Don't forget tables, just know when to use them.