Ah yes, very
good website. Love the w3 organization
Also, Jack, I forgot to mention earlier, but you should look at some open source programs. Run them, explore them, then look at their source to see what code does what. If it was programmed by an expert or at least practical programmer, then it will definitely have comments that you can read to see what certain functions do.
The same concept goes for HTML, XHTML, and CSS. If you like a site (not
a PHP based one, as those aren't always as they seem), then you should look into it's source and see what you can find. The reason I don't want you looking into pages with PHP is because PHP code generates pages based on certain conditions - they may not always be the same and you shouldn't try to strain yourself debugging mishaps from PHP web pages).
Oh, and as for debugging, it really helps in applications to have a good debugger (usually comes with a compiler and the IDE). Learn to use a debugger that you like. Also, if you really get into debugging, it would be a good idea to pick up on Assembly. There are plenty of disassemblers out. If you do become well-versed with Assembly, then you will be set for hard core programming and application cracking