2503ICT: Introduction to the course


The purpose of this section is to encourage you to think about some typical modern Web applications and to introduce you to the course.

References

Recommended references

Less recommended references

These following texts both introduce a wide range of topics well but briefly, and do not address the development process well.

Web applications

Communication modes on Web sites

Useful Web applications transfer information between different classes of users.

Example applications

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.

Web application architecture

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).

Web technologies

Some key technologies used in implementing a Web application using such an architecture include: TCP/IP (Internet), HTTP (communication protocol), HTML/XHTML (Web page content), CSS (Web page presentation), JavaScript (Web page behaviour), Apache (Web server), PHP (application logic), template language (application presentation), SQL (database query language), MySQL (database mangement system), XML (data representation).

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 course

The content, labs, assessment and all other aspects of the course are described at the following URL:

Aims

Briefly, one could define the aim of the course as being to teach you to build Amazon.com, though this is ambitious.

Content

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.)

Themes

Tools

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.

Studying

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).

Assessment

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.

Resources

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.