Web Programming for Apps and Services

Schedule Notes Resources MyApps Instructions Graded Work Code examples

WEB422 Week 1 Notes

The theme for the first few classes is to transition your success in the previous course to the new topics in this course.

Remember to frequently use the learning resources.

Previous course

In the previous course (WEB322), you began to learn the principles and practices for creating simple web apps and services:

In this course, you will enhance your web service knowledge and its implementation, and add front end development principles and practices to your skill set. This will enable a modern, widely-used, and truly distributed computing environment.

In the previous course, you had a taste of this with the Ajax coverage. That enabled a small amount of interaction in a browser, typically to replace or refresh an area of the visible document.

This course

We’ll build on the previous course’s Ajax coverage with a survey of front end development techniques and approaches, by covering a few widely-used libraries and frameworks, and then spending a few weeks with React. The destination will be a thorough introduction to a feature-rich application platform, Angular.

The first part of this course will ensure that you have your server-side development and deployment (hosting) environment configured correctly. We will design, program, and then install and configure a data-rich project on the server, which will persist resources that can be used by some of the front end apps that we create during the course. A natural result will be that you will learn more about, and write code for, a web service (also known as a web API). In summary, you’ll transition from writing server code that generates and delivers HTML, to server code that generates and delivers resources that are formatted as JSON.

The weekly notes will be organized and delivered as a collection of topic-themed documents. This page - “week01” - will simply guide you through the topics in sequence.

This Week

New topic presentation, discussions, and demonstrations. While some brief notes are included below, be prepared to take your own notes.

Code examples

The course’s GitHub repo has code examples for many topics and techniques. You can download a zip of the code repo, or clone it.


We expect the student to do their work on a computer that runs macOS (Mac OS X), Linux, or another Unix-like operating system.

If a student has a Windows 10 computer, then plan to install an environment that enables the installation of Linux. We recommend Windows Subsystem for Linux (WSL) and Ubuntu version 18.04 from the Microsoft Store.