← Teaching

Web Research Y3, 20cr

Overview

Internet-scale computing is constantly evolving. The web started as a collection of static hyperlinked documents in a client/server architecture. It has expanded and diversified to a point where varied devices may produce and consume content as peers, on behalf of their users. This evolution is provoking a shift in the design of all applications, data and user interfaces.

This unit enables students to acquire application development skills for this dynamic web using the ubiquitous approach of standards-based web development, data design and storage. Out of necessity the unit tracks the research interests of its lecturers and covers emerging technologies and draft standards, to introduce the volatile nature of the subject matter and prepare students for evaluating such technologies in future academic or professional roles.

Aims

  1. To enhance student skills in building substantial Internet applications on varied devices, including an understanding of standards, best practices, APIs, libraries and patterns in common use, and a critical awareness of the suitability of such technologies and practices.

Learning Outcomes

  1. Conceive and develop advanced Internet applications using open web technologies.
  2. Model, create, process and communicate heterogeneous data using open formats and models.
  3. Apply emerging architectural paradigms.
  4. Evaluate and appraise these applications and technologies.

Syllabus

  1. An overview of the capabilities of mobile and embeddable technologies, including smart phones, PDAs, and other devices.
  2. Technical and usability considerations of mobile technologies and applications.
  3. Using and evaluating browsers and SDKs for development of mobile applications.
  4. The modelling and use of structured and semantic data, including ontology design (RDF, OWL).
  5. Tools and techniques for managing, transforming and analysing large-scale data sets on the Internet (e.g. MapReduce).
  6. Client and server methods for communicating and managing data (XMLHttpRequest, WebSockets).