Web Programming


  1. To provide students with a deep, critical and systematic understanding of the most significant technologies for developing web applications.
  2. To demonstrate how these technologies may be used on today's websites.
  3. To provide knowledge of the characteristics of good web site design principles.


Introduction to Distributed Systems and Internet; Internet Protocols (3 lectures)

Markup languages: HTML (3 lectures)

Cascading Style Sheets (2 lectures)

Dynamic HTML and JavaScript (4 lectures)

HTML forms and CGI scripting (2 lectures)

Script language programming (such as Perl, Ruby, etc) (3 lectures)

PHP and basic SQL (5 lectures)

Java Applets and the WWW (2 lectures)

Overview of other technologies (AJAX, Macromedia Flash, etc) (2 lectures)

Recommended Texts

C. Bates, Web Programming: Building Internet Applications 3rd edition, John Wiley & Sons, 2006, ISBN 0-471-49669-3.

Alan Beautieu, Learning SQL, O'Reilly Media Inc., 2005, ISBN 978-0-5960-0727-0.

M.E. Davis and J.A. Phillips, Learning PHP & MySQL, O'Reilly Medi Inc., 2006, ISBN 0-596-10110-4.

S. Schafer, Web Standards, Wiley Publishing, 2005, ISBN 978-0-7645-8820-4.

R.L. Schwartz, T. Phoenix, and bd foy, Learning Perl (4th Edition), O'Reilly Media Inc., 2005, ISBN 0-596-10105-8.

N.C. Zakas, Professional Javascript for Web Developers, Wiley Publishing, 2005, ISBN 978-0-7645-7908-0.

Learning Outcomes

At the end of the module students should:

  1. have an understanding of the range of programming techniques and languages available to organisations and businesses and be able to choose an appropriate architecture for a web application.
  2. be able to demonstrate abilities to design and implement maintainable web sites.
  3. be able to make informed and critical decisions regarding client development using HTML and JavaScript.
  4. be able to design and implement reasonably sophisticated server-side applications using one or more suitable technologies.
  5. have the knowledge to critically analyse and evaluate web applications.
  6. have a critical and systematic understanding of web protocols.

The module addresses learning outcome 1 for the MSc in Computer Science programme with respect to the entry route for students without a CS first degree.

Learning Strategy

Formal Lectures and Tutorials: Students will be expected to attend two to three hours of formal lectures in a typical week plus one to two hours of supervised tutorial (four contact hours per week in total).

Private study: In a typical week students will be expected to devote six hours of unsupervised time to private study. The time allowed per week for private study will typically include three hours of time for reflection and consideration of lecture material and background reading, and three hours for completion of practical exercises.