About the course

The course description from the WPI Catalogue says:

This course explores the computational aspects of network information systems as embodied by the World Wide Web (WWW). Topics include: languages for document design, programming languages for executable content, scripting languages, design of WWW based human/computer interfaces, client/server network architecture models, high level network protocols (e.g., http), WWW network resource discovery and network security issues. Students in this course will be expected to complete a substantial software project (e.g., Java based user interface, HTML/CGI based information system, WWW search mechanisms, etc.).

This course provides you with the foundation needed to construct Web applications. It provides you with an introduction to distributed computing paradigms for the Web as well as the knowledge for developing static and dynamic content for your Web applications. You will be exposed to various protocols for technologies currently used. We will focus on the underlying principles rather than just the latest technology or tool since these will pass, only to be replaced by new ones. The student who successfully finishes this course will be able to pursue further study into and practice of using Web software technologies.

I add the following to this description.

Software applications today are being deployed increasingly across the World Wide Web. These applications have a different profile than many desktop software systems. They require a high degree of distributed components collaborating according to new paradigms of software development. They also typically make use of many different technologies to produce responsive, robust Web applications.

This page will be changing a lot. I will be using it to test out many of the things that I ask you to do. So, bear with me. Since HTML5 and CSS3 are new since the last time I taught the course, and the heroku cloud didn't even exist, I've got some experimenting to do as well as you do.

I'm sure there will be many minor (hopefully) problems with the page, including typos and missing information. If you find one, please let me know. You can send me the problem via email.