School of Computer Science

Module 06-18156 (2010)

Internet Computing Workshop

Level 4/M A

Tom Chothia Semester 1 20 credits
Behzad Bordbar Semester 2 20 credits
Co-ordinator: Behzad Bordbar
Reviewer: Martin Escardo

The Module Description is a strict subset of this Syllabus Page.


The aims of this module are to:

  • introduce and analyse technologies, standards and toolkits for internet-based software, such as Enterprise Java and .NET
  • develop skills for designing and implementing software using such technologies

Learning Outcomes

On successful completion of this module, the student should be able to:

  • employ technologies for the world-wide web, web-based systems and component software
  • use software toolkits for internet-based software
  • make use of application frameworks for web-based systems
  • develop large internet-based software systems from specification through design and implementation

Teaching methods

2 hrs lecture, 1 hr tutorial and 3-5 hrs laboratory sessions per weekThe module is taught through a combination of lectures, tutorials and laboratory work. The module has a strong practical element. The lectures introduce and develop the major topics of internet-based software development. Practical work is assigned, discussed and assessed through tutorials.


  • Sessional: Continuous assessment (100%).
  • Supplementary: Repeat only.

Detailed Syllabus

  1. Advanced Programming (7)
    • Graphical user interfaces
    • Applets
    • Database connectivity
    • Threads and synchronization
    • Network communication
    • Remote method invocation
  2. Web technologies (7)
    • Languages for the web, including HTML, WML, CSS, DOM, XML and DTD
    • Client-side processing, including JavaScript and VBScript
    • Server-side processing, including server-side includes, CGI, servlets, JSP and ASP
    • Scripting languages such as PHP and Python
  3. Server-side application design (7)
    • State handling, session tracking
    • Connection pools
    • Design criteria: Reliability, consistency, security, maintainability
    • Component techniques: ActiveX, JavaBeans
  4. Distributed Components (6)
    • Component technologies: CORBA, COM, EJB
    • Web services
    • Naming services
  5. Web application frameworks (10)
    • Design criteria: modularity, scalability, availability
    • Model-view-controller paradigm
    • View frameworks, such as Echo
    • Model frameworks, such as Spring
  6. Design patterns for web applications (5)

Programmes containing this module