It is a good idea to bookmark this page so that you can get to it quickly.
This module is about the web, what it is, what we can do with it, and what it might be like in the future. Rather than focus on the user side of web technology, such as CSS and Javascript, we are going to take a more holistic approach and examine both the server and client side. We shall look at HTTP (the core of all web technologies) and learn how APIs, Web Services, & RESTful architectures are built to move data around. We will then delve into some more topical discussions, starting with security & privacy on the web, then looking at adding intelligence (Semantic Web), adding increased, scalable interaction (Realtime Web) and private, anonymous, and un-censorable web-technologies (Dark Web). We wrap up the module by examining a few technologies that might form the basis of future web capabilities like Blockchain and IPFS.
Workbook, Notes, & Labs
The workbook is updated throughout the trimester so it is worth downloading a new copy each week so that you don't miss new sections or bugfixes.
If you notice a mistake in the workbook then feel free to open an issue in the module's issue tracker. Even better, all the materials are in the module's git repo so also feel free to clone, fix, and issue a pull-request.
During each weeks lab you should work through a chapter of the workbook. For example in week 1 work through chapter 1, in week 2, chapter 2, and so on. However, do not progress past chapter 1 before the first lecture as there are important points about the dev server that we will cover during that lecture. As the module develops, and especially as you start to think about and work on your coursework assignments then you might benefit from reading ahead, or jumping to specific chapters that are useful or interesting. This is entirely fine.
Lectures
I leave previous years lectures online so that you can read ahead. However these will be subject to change until the associated lecture has actualy been delivered.
- Lecture 00 - Module Overview
- Lecture 01 - Introduction + Tools + Learning Environment
- Lecture 02 - The HyperText Transfer Protocol (HTTP)
- Lecture 03 - APIs + Web Services + REST
- Lecture 04 - Data Transports (JSON & XML)
- Lecture 05 - Frontends, UI, & UX
- Lecture 06 - Architectures for Scalability & Deployment
- Lecture 07 - Security & Privacy
- Lecture 08 - The Semantic Web
- Lecture 09 - The Realtime Web
- Lecture 10 - The Dark Web
- Lecture 11 - The Permanent Web
- Lecture 12 - Coda: Review & Conclusions
Coursework
Resources
- Module Wiki - You can also clone the entire wiki using Git if you want a local copy of your own
- Module Issue Tracker
- Module Git Repository You can clone the entire module using this clone URL
Tools & Learning Environment
Linux Development Server
We have a Linux server available at set09103.napier.ac.uk which you can log into using your Napier credentials.
PuTTY
PuTTY is our tool for accessing the module's Linux dev server. You can open as many PuTTY windows as you like, or need, in order to work efficiently, for example a window to edit in, another to run your server in, perhaps another for Git:
Port Assignments
Each of you will be assigned your own personal port number to run your web apps on on the development server. You will only be able to run one web-app at a time, but this should be sufficient for development purposes. Please use only your own assigned port. This is important as you will otherwise hinder someone else's work.
Contact
Simon Wells (@siwells) is the module leader for Advanced Web Tech. You can contact him via email at s.wells@napier.ac.uk