How web applications work

From Nottinghack Wiki
Revision as of 14:19, 12 December 2014 by Elsen (talk | contribs)
Jump to navigation Jump to search

Course description

This course will give you an understanding of how web applications work; how they are built, and why they work the way they do. It will also give you skills and knowledge to evaluate different applications for your organisation, business, or for personal use.

A fair number of people have an understanding of how a car works or what makes an aeroplane fly, but they don’t necessary want to be mechanical or aeronautical engineers. In the same way, this course will give you a comprehensive view of what goes on inside a web application, using practical exercises to demonstrate what is happening.

Equipment you’ll need

You will need to bring a computer, ideally a laptop, with an up-to-date web browser.

Todo:

  • Clarify minimum requirements for computers.

What you need to be familiar with

You'll need to know how to use your computer, including how to: connect to a wireless network, browse the web, and edit text. If you need any help to prepare for the course, you are welcome to ask at our open hack nights or on our mailing list.

Suggested preparation

  1. Check that your computer is working reliably and that you have an up-to-date version of Mozilla Firefox or Google Chrome (or Chromium) installed.

What we won’t cover

This course will introduce basic concepts of application programming and will demonstrate some development tools. It will not cover programming skills.

Software and costs

All of the software used in this course is GPL-licensed or open source and is freely available.

Course syllabus

The following list gives an overview of the course content. The indentation of the list gives an impression of how the topics will be approached. Do not worry if the terminology below makes little sense to you now, because the course will teach you the jargon.

Note Note: This initial syllabus is based on [1]. Todo: check copyright on that resource.
  • Introduction
    • Examples of Applications (including Web Applications)
  • How Does the Web Work?
    • The Client
    • The Server
    • Client-Server Interaction
  • Web Application Design
    • Backend
    • Frontend
    • API
  • API Design
    • Supporting The Web Browser
    • Supporting Multiple Clients
    • Supporting Third-Party Clients
  • Building Web Applications
    • Backend Components
    • Frontend Components
  • Hosting Web Applications
    • Shared hosting
    • Virtual Private Server (VPS)
    • Dedicated Servers
    • Cloud Servers
    • Infrastructure as a Service
    • Platform as a Service

Course materials

TODO: Use http://plusjade.ruhoh.com/ for inspiration. This needs to be adapted into slides, and all the practical exercises will need to be worked out.

Course delivery

Todo:

  • Dates & times
  • Number of places
  • Things to take away: bundle of software, teaching materials, etc.
  • Bios of tutors
  • Prices and payment options
  • Coursework
  • Assessment? (probably not)