School of Computer Science, University of Birmingham

06-21156 - Information & the Web (2008/09)
Andrew Brown

Contents

Module Description
Assessment
Lectures
Administration
Resources
Further Information

Module Description

This module introduces issues relating to the structuring, representation, storage, exchange and presentation of information, and the processing of such information using the appropriate tools. Raw information formats, XML, XHTML, CSS, and JavaScript are introduced by example and background theories from Computer Science are presented where necessary. Upon successful completion of this module students will be able to employ these technologies to create dynamic webpages on the client-side, using the AJAX framework.

There is an 'official' module description for this module.

The material in this module was first taught in 2006/07, as part of a module called Language & Information, which is now divided between 06-21155 Language & Logic and 06-21156 Information & the Web. Last year's (2007/08) support material is also available.

Assessment

Continuous Assessment

Assessed
Exercise
Total
Mark
UnitLink(s)Deadline
120XML & DTDsSpecification; Model SolutionThursday 29th January, 2009 at 18:00
220(X)HTML & CSSSpecification; Model SolutionThursday 12th February, 2009 at 18:00
320CSS & JavaScriptSpecification; Model SolutionThursday 26th February, 2009 at 18:00
440Website Development; AJAXSpecification; Model SolutionFriday 27th March, 2009 at 18:00
Total: 4100

Submission Instructions

All assessed exercises should be submitted via BOSS.

Past Examinations

Lecture Material

Lecture notes are subject to change before (and after!) the lecture.

WeekUnitContentNotes and lab exercisesExamples
1 Introduction Introduction to the module HTML; PDF
XML & DTDs Introduction to XML HTML; PDF
Exercise class [PDF]
Answers to exercises [PDF]
Employees (XML)
Friends (XML)
Tasks (XML)
Tasks (DTD)
2 Valid XML and DTDs HTML; PDF
Exercise class [PDF]
Answers to exercises [PDF]
Task (XML)
Task (DTD)
Library (XML & DTD)
3 (X)HTML Introduction to HTML and XHTML
Core XHTML
HTML; PDF
Summary of Core XHTML
Exercise class [PDF]
Answers to exercises [PDF]
XHTML 1.0 reference with examples
Empty XHTML page
More complete XHTML page
Validation of this page
4 CSS Introduction to CSS HTML; PDF
Exercise class [PDF]
Answers to exercises [1] [2] [3] [PDF]
CSS Zen Garden
Rendering XML using CSS
Aligning a block element
5 Core CSS Core CSS Properties & Values
Summary of Web-safe Colours
Exercise class [PDF]
Answers to exercises [1] [2]
Frames with CSS
Relative positioning
Drawing with CSS
6 JavaScript Introduction to JavaScript
JavaScript and Java
HTML; PDF
Lecture exercise [PDF]
Exercise class [PDF]
Answers to exercises [1] [3]
Introduction to JavaScript code
General demonstration of JavaScript
Action with a button
Actions with a button
Scaling and resetting an image
7 Datatypes
Numbers
Strings
Booleans
Objects
HTML; PDF
Exercise class [PDF]
Answers to exercises [1] [2] [3]
Calculating days between two dates
document.write() dates and times
More advanced date calculations
document.write() to generate a table
document.write() to display browser information
8 Arrays
Functions
Equality tests
Existence and scope
HTML; PDF
Exercise class [PDF]
Answers to exercises [1] [2]
onclick attribute and event handling
Event handling; simple calculator
9 Manipulating CSS HTML; PDF
Exercise class [PDF]
Answers to exercises [1] [2]
Manipulating CSS
Manipulating CSS; using objects
Allowing user interaction with objects
Animation via CSS
10 AJAX Manipulating (X)HTML
Introduction to AJAX
HTML; PDF
Exercise class [PDF]
Manipulating the JavaScript DOM
Manipulating CSS using the JavaScript DOM
11 Loading and processing XML using JavaScript
How to revise over Easter
HTML; PDF
Revision guide [PDF]
Exercise class [PDF]
Simple use of the AJAX framework
More advanced version of the example above
Displaying only part of an XML document
Example which uses server-side processing
Using the School's 'wwwteach' web server

Unlike in previous years, I will not be handing out copies of the notes at the lecture. It is your responsibility to read the lecture notes, preferably before the lecture takes place. Please consider the environment before printing them (use n-up printing where possible).

Please note: solutions to exercise class questions are not necessarily ''model'' solutions. Often, questions are open to interpretation and may require 'rules-of-thumb' to be applied.

Administration

Lectures

Office Hours

Compulsory Exercise Class

Tuesdays at 11:00 in UG04, Computer Science. Practice exercises will be set and lecturer and demonstrators will be available to assist you. Attendance at these sessions is monitored and any student who fails to attend at least seven such sessions will receive a mark of zero for the continuous assessment part of this module.

For weeks 2 through 11, 'stretcher' questions will be added to the exercise class sheets. Each will be worth a 0.5% bonus mark. Students whom attempt these questions and provide a reasonable attempt at a solution will be awarded these marks (up to a maximum of 5% of the module, which itself will be capped at 100%). Solutions should be e-mailed to Andrew Brown (a.j.brown at cs.bham.ac.uk) on the day of the exercise class. Unfortunately, 'stretcher' solutions which are not sent on the same day will not be marked.

Lab Session

Thursdays from 16:00 to 18:00, in UG04, Computer Science. This is scheduled at the same time as the First Year Workshop lab session. Consult the Information and the Web demonstrators if you need assistance with the assessed exercises.

Lecturer and Demonstrators

Photographs of the lecturer and the demonstrators are displayed below to help you recognise them; clicking on the photos directs you to their personal webpages.

Andrew Brown Katrina Samperi Petr Klus Masoud Koleini
No Photograph Available No Photograph Available No Photograph Available No Photograph Available
Lecturer Teaching Assistant Demonstrator Demonstrator

Demonstrators: our weekly meeting is at 14:00 on Mondays, in Room 217.

Assessment Submission

All assessed exercises are to be submitted via BOSS. Instructions on using BOSS are available here.

Marks

Marks for the continuous assessment component of the module are announced below. All marks and are provisional and are awarded based on the content and quality of your exercise submission. Final continuous assessment marks will be released in May.

This arrangement is different to the one previously advertised here. The reason for this change is that SIS cannot handle the amount of feedback that the markers would like to provide you with.

Resources

Browsers

In this module, Firefox should always be used as the 'reference' browser. Also essential is the Firebug plug-in, which can be added to your browser in just a few mouse clicks. If you encounter any problems using Firebug, which is remarkably straightforward, please read the FAQ or consult the demonstrators.

Mac users should note that although Safari is reasonably standards-compliant, it does have differences from Firefox. For JavaScript work, please look at Peter Coxhead's web page on JavaScript and Safari. Safari is significantly faster than Firefox, and can be useful in developing code which uses the XMLHttpRequest object, although Firefox should remain the definite reference browser.

Editors

NetBeans version 5.5 and higher is available on multiple platforms and comes with in-built support for developing XML and DTD documents. You should use this for developing your solutions where XML and DTDs are required. Please consult a demonstrator if you face problems when using NetBeans.

You should not use NetBeans for editing and creating XHTML, CSS, or JavaScript files, or indeed any stand-alone XML files. You need to be familiar with the source of these documents to pass this module, and a simple text editor like gedit (Linux/Gnome) or gvim (multiple platforms) is more suitable for this purpose.

Reading and Reference Materials

There are various recommended books for this module, though it is not necessary for you to purchase them. The lecture notes from this and previous years should be sufficient for learning the course content in detail.

The web is, naturally, an excellent source of information on all web technologies, which tend to change rapidly. A Google search with a careful choice of keywords will normally produce any information you require.

Links

Some interesting and useful links, which will increase in number as the module progresses:

External:

Internal:

Further Information

Acknowledgements

Many thanks to Dr Peter Coxhead, who meticulously prepared much of the material for this module.

Valid XHTML 1.0 Strict Valid CSS!