In the past, I've rewritten these notes each time I've taught this subject. I've found that this topic never quite fits right. However, we usally find that each person finds something interesting to do with what they learn. In computer science, we tend to distinguish the kinds of languages we use when interacting with the computer. Markup languages tell us things about information.
Programming languages tell the computer how to process things.
There are thousands of programming languages. Hence, we need different languages for writing algorithms for the Web. Much much more. Do this, do that. Make 'em interact.