Week 9: HTML, CSS, XML, XSL

This was the week of notation. There was no Processing programming. A couple of students mentioned that they appreciated the change of pace, and given that the goal is not to produce accomplished programmers, it is reasonable to lay off of Processing. And, this is important content.

Narrative on Week’s Goals

The week started with a bang with a guest lecture from CSE professor Zoran Popovic.

Calendar Entries for the Ninth Week

Lec 28 Feb: Zoran’s lecture starts with a quick review of graphics from his lab that are presently used in video game systems. But then he asks the class what problems to work on to make the world better. His list (the students mention them too) includes disease and poverty. He explains that because computers are great at some things and poor at others, and humans tend to have the opposite skills, it makes sense to combine their abilities rather than expect one of them alone to solve such difficult problems. Games, he points out, are an effective setting for the two to collaborate. He proceeds to discuss FoldIt and other games he has in the pipeline.

Lab 1 Mar: Lab 07 is a small CSS exercise to teach the students the styling basics of HTML and the concept of referencing information held in file, i.e. indirect reference. Also, with only one previous HTML assignment, this gives greater experience building Web pages.

Lec 2 Mar: A lecture on meta-data, tagging and XML. The presentation emphasizes the separation of content from processing and that XML can structure data without presupposing how it is to be processed. The three classifications of XML tags – identity, affinity and collection – are introduced; students show that they can recognize how the tags are used.

Assignment 18: This final assignment is suitable to be performed on a student’s personal machine. Indeed, the task – create a personal database using XML and displayed in the form of a diary – should be something that a student can use. The first part was to download a copy of picture display software (simpleviewer,) and notice how XML is used by the authors; using a single XML file to display several forms of the view shows the advantages of separating data from processing. The second part was to modify an XML file that implements a diary, adding five days of personal information. Finally, students are to add new XML tags and the corresponding XSL styling templates to implement them. It’s not a lot of work, but perhaps a little involved, as XML/XSL tends to be.

Lab 3 Mar: This was going to be an exercise to practice XML/XSL interaction [see Lab 8], but that topic is not presented until tomorrow. So students do the Part 1 of Assignment 18. Though it is originally designed to be done on a student’s own computer, it can be done in the lab, too, using publicly available .jpg files.

Lec 4 Mar: This lecture explains how the XML tags can be styled by a browser, based on XSL templates, and introduces the XSL tagging style to achieve it. This can be a very involved topic, but the lecture threads its way through an implementation, ending with suggestions for how the solution would be extended depending on the new types of data that are to be added to the XML file. This diagram seemed to be very effective as a guideline for what we are trying to achieve:

Illustration of How XSL styles XML

At the end Susan presents a series of quotations from the reflection component of the “Teach Scratch To Someone” assignment. This allows her to reinforce the purpose and value of the exercise, which some students were skeptical about.

And How Did It Turn Out?

Zoran’s lecture on Monday was – according to a couple of students – totally inspirational, a point I agree with. The class was engaged throughout the whole lecture. When asked on Wednesday what did they take away, that mentioned how important problems could be solved by human/computer collaboration.

In Tuesday’s lab one student finished in 15 minutes (obviously, someone with experience), but most took the whole hour and, according to Brandon, stumbled some. There was no consistent problem, apparently, and they’ve turned-in the work. As always, I wonder whether the point – indirect reference – every made it into any student’s conscious mind.

Wednesday’s tagging lecture was my first real attempt to teach this material to the beginners. I think it was successful, but as with earlier introductions to database topics, students don’t seem to find it captivating. They were following along, however, because when we got to tag classification part, they all jotted down the definitions and offered answers to my classification questions. Then it was back to zoning.

Thursday’s lab was routine. This evening, I was named “Teacher of the Year” by the campus Hellenic Women’s Association, possibly the first CS person ever to be recognized by that group.

Friday’s XML/XSL lecture came off well. One student who’d been out sick and hadn’t seen most of the prep came by after class to get caught up, and she caught on quickly, despite claiming she’d been lost in lecture. If students find the ability to customize their own meta-data to be interesting and useful, then the data portion of this class will have been a hit. We’ll see how it plays out.

Overall, it was a fun week for me, and also for those students I chatted with directly. The attendance was good all week, too, so my comments on the previous Friday may have made a difference. Although I’m looking forward to rapping it up next week, it would be wonderful to teach this class more computing courses.

Comments are closed.