Internet and Web Technologies

Peter Wood

This module is an option on the MSc and MRes programmes offered by the Department of Computer Science and Information Systems at Birkbeck, University of London.

It is presented in the second term on Tuesdays (18:00-21:00).


To provide students with an understanding of how network protocols work, particularly those used on the Internet, and the ability to present and manipulate information on the World Wide Web, with an emphasis on XML.


By two-hour written examination and by two pieces of practical coursework. The written examination will have a weighting of 80% and the coursework a weighting of 20% of the final mark.

Pre-requisites and co-requisites

The ability to program is essential. This need not be in an object-oriented language, although that ability would be helpful. Some basic knowledge of HTML and databases is assumed; if this is lacking, however, it can be obtained through self-study of on-line resources.


Lecture schedule and slides


  1. S. Jacobs, Beginning XML with DOM and AJAX. Apress, 2006, ISBN 1-59059-676-5.
  2. A. Moller and M. Schwartzbach, An Introduction to XML and Web Technologies. Addison Wesley, 2006, ISBN 0-321-26966-7.
  3. J. F. Kurose and K. W. Ross, Computer Networking: A Top-Down Approach (7th edition), Pearson, 2016, ISBN 1-292-15359-8.
  4. K. R. Fall and W. R. Stevens, TCP/IP Illustrated, Volume 1, Second Edition, Addison-Wesley, 2012, ISBN 0-321-33631-3.

Exam preparation

The revision session will be from 6pm to 9pm on Tuesday 12th May using Collaborate on Moodle. Please email me any questions/topics you would like me to go over.

The exam this year will take place via Moodle on 4 June at 2pm. You will be able to access the paper at that time and will be asked to upload your answers to Moodle in a single document (so much the same as for coursework submissions). A Word document template for your answers will be provided for download. More technical details will be provided later, in particular what to do if you encounter some problem.

The time allowed for the exam will be 3 hours (i.e., the deadline for submission will be 5pm). Nevertheless, the expectation is that 2 hours should be plenty of time in which to answer the questions, since the exam will be out of only 60 marks rather than 100 as in the past (the marks will be scaled to be out of 100). There will be four 20-mark questions of which you have to answer three (rather than five 25-mark questions of which you had to answer four). The additional hour is there to cater for any difficulties associated with downloading the exam paper or uploading answers.

Because the exam will be open-book, there will be no straightforward bookwork-type questions (where you could just look up the answer). The questions are mostly similar to the problem-solving questions asked on past papers, or if they do include material of a bookwork nature, ask you to explain your answer or provide an example to illustrate it.

The format of the exam paper changed last year. There were five 25-mark questions from which you had to choose four to answer. In the past, there were seven 20-mark questions from which you had to choose five. Each 25-mark question contains sub-questions which can address any topic covered in the module.

Past exam papers are available for 2015, 2016, 2017, 2018 and 2019. You should be aware that the syllabus changes slightly from year to year, so some past exam questions may no longer be relevant, while for some topics, there may be no past questions (for example, JSON was covered for the first time in 2016, while jQuery was covered for the first time in 2015). In 2018 I covered a bit more about processing JSON in both Javascript and PHP. There were also some small additions to the material on the network layer (software-defined networking) and the link layer (data centre networks, load balancing, switch connections and UPnP). Last year I added small amount of material about CSS, and reduced the material on XSLT slightly. I rearranged the material on both client-side and server-side processing to include more on processing JSON and also to absorb the previously separate material on AJAX. This year I added a small amount of material on Node.js and CORS, but other changes were cosmetic.

Sample solutions are available for 2015, 2016, 2017, 2018 and 2019. I strongly recommend that you attempt past exam questions yourself first, before looking at the sample solutions.

A few XML revision problems are also available to help with exam preparation. We will go over these in the revision lecture.