The purpose of this section is to encourage you to think about some typical modern Web applications and to introduce you to the course.
These following texts both introduce a wide range of topics well but briefly, and do not address the development process well.
Useful Web applications transfer information between different classes of users.
Consider the following Web sites, what they do, what information is transferred between which classes of users, what information is stored at which server, what community is served.
Modern Web application architectures are three-tier architectures as follows. There is a client-server (request-response) relationship between (a) the client and the Web server and (b) the Web server and the database server. The first relationship uses the HTTP protocol (summarised later), the second relationship uses the database query language SQL (primarily).
Developers can choose between three main platforms:
and several emerging, higher level, platforms, all free, e.g.,
Microsoft and other large corporations are also starting to develop similar higher level platforms.
Most of these can also be used with commercial database management systems such as Oracle, DB2 (IBM) or SQL Server (Microsoft).
The content, labs, assessment and all other aspects of the course are described at the following URL:
Briefly, one could define the aim of the course as being to teach you to build Amazon.com, though this is ambitious.
In more detail, the content of the course can be summarised as follows:
(There are many Web programming topics we don't cover - these are described later.)
To be able to do the laboratory milestones and the practical assignments, you need to be competent at using standard productivity and Internet tools under both Windows and Unix. Relevant tools include operating systems command languages, editors, file transfer and remote access applications, and browsers.
It is necessary to be more independent in WP than in first year courses. The lecture notes are dense but still incomplete. Much independent reading of the tutorials, texts, examples and software documentation recommended in the resources is required. (But beware: Much online material gives out of date and wrong advice!) It is necessary to do the lab exercises before attempting the practical assignments. it is necessary to start the assignments early, as they are nontrivial.
To summarise, studying for the course requires steady hard work from the beginning of the semester. Don't get behind.
Remember, you expected to spend at least 10 hours per week (or day, in summer semester) on this course, starting from week 1 (day 1). As a minimum, you must complete each week's (day's) milestones by the end of the week (start of the next day).
There will be daily laboratory milestones (20% total), two practical assignments (worth 25% each) and a final examination (worth 30%). Students must pass the milestones and assignments (overall) and the examination to pass the course. See Assessment for details.
Allow time to prepare for the exam as well as for the milestones and assignments.
There is no prescribed text for the course. You need to study the examples provided in lectures and the tutorials, texts and software documentation recommended in the Resources.