"Network problems are preventing connection to the Microsoft Exchange Server computer. An unexpected, unknown error has occurred." -- Windows 2003 Small Business Server

CSE3WE - Web Engineering

Subject Outline, Semester 1, 2009

Subject Overview

This subject introduces the technologies associated with web-based systems that generate dynamic content. We concentrate on the "server-side" of the World Wide Web, using a web server running on a Unix-like operating system. We emphasise aspects of software development, testing and security which relate to the creation of web-based applications. We also consider the issues associated with deploying web-based applications on an offsite web server, with a view to emulating the situation where web-based systems are commonly deployed on commercial web-hosting services.

Subject Objective

Students who have successfully completed this subject will have a sound basis on which to design and build advanced websites, with an emphasis on secure, robust commercial and business applications.

Assumed Prior Knowledge

Students undertaking this subject are assumed to have a basic knowledge of HTML/XHTML. A solid understanding of computer networking is expected, especially regarding HTTP and TCP/IP.

Content

Material covered will include, in no particular order:

  • Revision of HTML and HTTP.
  • Introduction to the Perl programming language.
  • Data, Forms and CGI programming.
  • Security in web-based systems.
  • Session management: e-commerce applications and shopping carts.
  • Database integration.
  • Alternative technologies for server-side applications: PHP, Mason, etc.
  • Issues in web-based systems: politics, censorship, privacy (web tracking, etc), regulation, taxation, ...

Offering

This subject is offered in Bendigo in "conventional" mode with (notionally) two lectures, one tutorial and one laboratory class per week. Students are expected to attend all classes. The current version of the timetable (as at 3rd March 2009) is:

Lectures
Tuesday 1pm (B2.32)
Wednesday 1pm (B2.09)
Tutorials
Tuesday 2pm (B2.05)
Laboratories
Wednesday 3pm (B1.11, the Linux lab)

Note that worksheets, which you are expected to work through, are provided for all laboratory classes. You should not assume that we will provide you with help on your assignments during laboratory time.

Also, please ensure that you have access to the Linux workstations in B1.11 prior to the first laboratory.

Lecturer and Tutor

Joel Sing

Email: j.sing@latrobe.edu.au
Office: B1.24
Phone: +61 3 5444 7253

Web Resources

Lecture notes, tutorial questions and laboratory worksheets are available on the subject web pages. Students are, however, strongly advised that this is not a "web-offered" subject as such. The subject content is delivered in the lectures, and lecture notes are not guaranteed to be available on the web prior to the lecture time.

Texts and References

The text for this subject is:

Guelich, S, Gundavaram, S and Birznieks, G (2000) CGI Programming With Perl, 2/e, ISBN 1-56592-419-3. This is the second edition of the book by Gundavaram book mentioned later. We do not follow this book exactly in our subject (and a few topics are missing), but it's the most useful book we've found so far.

All students are also advised to print, or otherwise acquire, a copy of:

Vromans, J (1997) Perl Reference Guide, Revision 5.004.1. This is a small "freeware" booklet that you can download and print. A newer (and more current) version is available commercially as an O'Reilly pocket book for about $25AU, however the freeware version has all the Perl information we need for this subject. You are permitted to take an unmarked copy of the freeware version into the final examination room.

Recommended References

The following is a non-exhaustive list of reference books which may be useful for your study in this subject.

  • Wall, L., T. Christiansen and R.L. Schwartz. (1996) Programming Perl. Sebastopol, CA: O'Reilly & Associates. The definitive manual on Perl programming.
  • Siever, E., Spainhour, S. and Patwardhan, N. (1999) Perl In A Nutshell Sebastopol, CA: O'Reilly & Associates. This is the definitive reference, but isn't useful for learning Perl.
  • Niederst, J. (1999) Web Design in a Nutshell Sebastopol, CA: O'Reilly & Associates. The only book anyone needs about HTML and Web page design.
  • Gundavaram, S. (1996) CGI Programming on the World Wide Web. Sebastopol, CA: O'Reilly & Associates. This was the first edition of the text mentioned above and is now out-of-print, having (obviously) been replaced by the new edition, which is a far superior book. It is available in its entirety on the Web, at http://www.oreilly.com/openbook/cgi/ as part of the O'Reilly & Associates Open Books project.
  • Garfinkel, S. and Spafford, G. (1997) Web Security & Commerce Sebastopol, CA: O'Reilly & Associates. The definitive book on security issues in the Web.
  • Castro, E. (1999) Perl and CGI For The World Wide Web, Berkeley, CA: Peachpit Press. This little book is a great introduction, but doesn't have quite enough depth for our subject. Worth buying if you don't have much programming experience, and feel you need extra work to get up to speed. It has one extra advantage -- it only costs about $30AU, about half the price of other comparable books.

Assessment

Assignment 1 (equivalent to 1500 words): 20%

Assignment 2 (equivalent to 2000 words): 30%

Examination (2.5 hours): 50%

Plagiarism

All student assignments must comply with the University's policy on plagiarism, available at http://www.latrobe.edu.au/acadserv/staff/misconplagiarism.html. This policy will apply to all assessable work submitted by students in this subject.

The Language and Academic Skills Unit of the Faculty of Science Technology and Engineering has produced an excellent guide on avoiding plagiarism. It can be found on the web at:

http://ironbark.bendigo.latrobe.edu.au/subjects/CT/2007/LAS_Plagiarism.pdf (168KB PDF)

You really should print yourself a copy and read it thoroughly!

Assignments

  • Assignments must conform to the guidelines laid out in the La Trobe University, Assignment Manual unless directed otherwise by your lecturer.
  • All assignments must be firmly bound into an A4 size folder. Make sure that your name, your student number, the unit name and assignment number are clearly written on the folder and title page. Do not use plastic pockets or staples!
  • It should be possible to read every page without undoing any fastenings.
  • Output from printers must be clear and of good quality. Marks will not awarded for presentation but may be deducted for poor or unacceptable presentation of your work.
  • All assignments must include a signed Statement of Authorship (with an original signature).
  • Late submissions will not be accepted, unless a prior arrangement has been made or exceptional circumstances apply. In the case of exceptional circumstances, individual extensions may be granted after application using a Special Consideration form. If the necessity for an extension is based on medical grounds then a medical certificate is required. If the basis is personal circumstances, then the appropriate section of the Special Consideration form should be filled out.

Computing Resources

This subject addresses the server side of the web. The server we will use is the Bendigo Unix (OS/X) system redgum.bendigo.latrobe.edu.au (or just "redgum" for short). Students will normally access redgum from the Linux or eMac labs. If you are off-campus (or working at home), you will need to use an implementation of SSH to get command-shell access, as well as a file-transfer utility such as ftp or an scp client. You may find it useful to install Perl on your home machine for use in testing programs prior to uploading to the server. For more information on these options, see the references page.

Email

It is official policy that all email communication regarding academic matters should be conducted using your Student Online email address.

Etiquette

  • Please ensure that mobile phones are switched off or otherwise silenced in lectures and tutorials.
  • Please do not use electronic equipment in lectures or tutes that "beeps" or otherwise emits sounds when in use -- this includes sending and receiving SMS messages and the like.
  • Please do not conduct private conversations in the lectures and tutes -- it's really annoying to others in the room. Attendance is not compulsory for most Bendigo students, so if you wish to chat to friends, do so elsewhere.