COMP249 (Web Technology)
Semester 1, 2008
Convenor: Steve Cassidy
Prerequisites: COMP125(P) or COMP165(P)
Students should read this unit outline carefully at the start of semester. It contains important information about the unit. If anything in it is unclear, please consult one of the teaching staff in the unit.
About This Unit
This unit covers a range of techniques and concepts that are relevant to implementing systems on the World Wide Web. From Web-site development using HyperText Markup Language (HTML) and eXtensible Markup Language (XML), through to complete client-server applications, the unit explores the full spectrum of this technology, providing insight into the standards underlying the Web and the programming techniques used to exploit these standards to build Web applications.
COMP249 equipes students with a solid grounding in the workings of the World Wide Web and the technologies used to build modern web sites. COMP249 is a prerequisite to COMP344 (E-Commerce Technology), COMP348 (Document Processing and the Semantic Web), and COMP349 (Spoken Language Dialogue Systems).
Teaching Staff
| Role | Name | Room | Office hours | |
|---|---|---|---|---|
| Convener, Lecturer | Steve Cassidy | cassidy@ics.mq.edu.au | E6A381 | Monday, 3pm, Tuesday 4pm |
| Lecturer | Yan Wang | yanwang@ics.mq.edu.au | E6A339 | TBA |
All emails related to COMP249 should be sent to comp249-admin@ics.mq.edu.au and must include your full name and your student id number.
Classes
Each week you should attend 2 hours of lectures, a one hour tutorial and a one hour practical. For details of days, times and rooms consult the timetables webpage.
Note that Practicals and Tutorials commence in week 2.
You should have selected a tutorial and a practical at enrolment. You should attend the tutorial and practical you are enrolled in. If you do not have a class, or if you wish to change one, you should see the enrolment operators in the E7B courtyard during the first two weeks of the semester. Thereafter you should go to the Student Centre.
Please note that you will be required to submit answers to tutorial questions each weak and three parts of a practical portfolio during the semester. Failure to do so may result in you failing the unit or being excluded from the exam.
Required and Recommended Texts
There is no required textbook for the unit; readings will be assigned throughout the semester, in conjunction with lecture notes.
We recommend the following texts as background material:
| Title | Edition | Authors | Publisher | Year | ISBN |
|---|---|---|---|---|---|
| Programming the World Wide Web | Fourth | Robert W. Sebesta | Addison Wesley | 2008 | 0-321-52672-4 |
| Python: Visual Quickstart Guide | First | Fehily | Peachpit Press | 0-201-74884-3 | |
| Dive Into Python | Mark Pilgrim | diveintopython.org | 2003 |
Unit Web Page
The web page for this unit can be found at http://www.comp.mq.edu.au/units/comp249/. Note that the majority of the unit materials are publicly available while some material requires you to log in to WebCT/Blackboard to access it.
The unit will make use of discussion boards hosted within WebCT/Blackboard. Please post questions there, they will be monitored by the staff on the unit.
Learning Outcomes
A student completing the unit should have:
- An understanding of how the Internet works and what the Web is good for.
- An understanding and practical experience of Web page development and Web page design.
- Familiarity with the most important Internet protocols.
- An understanding of the technical background of search engines.
- Experience of developing interfaces to client-server applications.
- Experience of processing data on a Web server.
- An appreciation of contemporary and emerging Web technologies.
In addition to the discipline-based learning objectives, all academic programs at Macquarie seek to develop students' generic skills in a range of areas. One of the aims of this unit is that students develop their skills in the following:
- Foundation skills of literacy, numeracy and information technology;
- Self-awareness and interpersonal skills;
- Communication skills;
- Critical analysis skills;
- Problem-solving skills;
- Creative thinking skills.
Teaching and Learning Strategy
COMP249 is taught via lectures, tutorials and practical sessions in the laboratory. Lectures are used to introduce new material, give examples of the use of programing methods and techniques and put them in a wider context. While lectures are largely one to many presentations, you are encouraged to ask questions of the lecturer to clarify anything you might not be sure of. Tutorials are small group classes which give you the opportunity to interact with your peers and with a tutor who has a sound knowledge of the subject. You will be given problems to solve each week prior to the tutorial and you have to submit the solutions via WebCT; preparing tese solutions is important because it will allow you to discuss the problems effectively with your tutor and maximise the feedback you get on your work. Practical classes give you an opportunity to practice your programming skills under the supervision of a practical demonstrator. Each week you will be given a number of problems to work on; it is important that you keep up with these problems as doing so will help you understand the material in the unit, improve the quality of your practical portfolio, and prepare you for the work in assignments.
Each week you should:
- Attend lectures, take notes, ask questions.
- Submit answers to specific tutorial questions via WebCT no later than Monday, 9am.
- Attend your tutorial session, seek feedback from your tutor on your work.
- Attend the practical session, maintain your practical portfolio, and seek feedback from the practical demonstrator on your work.
- Read assigned reading material, add to your notes and prepare questions for your lecturer or tutor.
- Start working on any assignments immediately after they have been released.
Lecture notes will be made available each week but these notes are intended as an outline of the lecture only and are not a substitute for your own notes or reading additional material.
Topic List
| Week | Topic | Reading |
|---|---|---|
|
1 |
WWW in a Nutshell |
|
|
2 |
Web Design |
|
|
3 |
JavaScript |
|
|
4 |
Web Servers |
|
|
5 |
CGI and Python |
|
|
6 |
Cookies and Databases |
|
|
7 |
Web Security |
|
|
8 |
Searching the Web |
|
|
9 |
XML |
|
|
10 |
XSLT | |
|
11 |
Web 2.0 |
|
|
12 |
VoiceXML |
|
|
13 |
Review |
Relationship Between Assessment and Learning Outcomes
- An appreciation of the importance of good web design and web usability: these aspects are taken into account in the first assignment.
- Significant experience with Python for developing CGI web applications and with JavaScript for client-side scripting: the second assignment will focus on a CGI-based web application and various practical tasks will center around the use of JavaScript.
- An understanding of the ubiquity of XML for describing and exchanging data between applications and an understanding of the importance of XSL to transform XML documents into other formats: these aspects are taken into account in the third assignment.
- Knowledge about the basic components of a search engine and skills in search optimisation: both topics will be further discussed in tutorials.
- Awareness of web security issues and knowledge of protection mechanims: these two things will be discussed in tutorial sessions.
- Familiarity with the most important Internet protocols: these protocols will be discussed in tutorials and used in practical tasks and assignments.
- Awareness of the latest trends in web technology: practical work and tutorial discussions will include discussions of the most recent technologies.
| Task | Planned Date | Total Marks |
|---|---|---|
| Tutorial worksheets | Weekly | 10% |
| Practical portfolio | 25th March, 5th May, 26th May | 15% |
| Web Application Development | Due Week 8 | 15% |
| XML Exercise | Due Week 13 | 10% |
| Final Examination | TBA | 50% |
To pass this unit you must show satisfactory performance in all of the in-term assessment. This means that we may exclude you from the examination if you do not hand in at least two assignments or submit at least five tutorial solutions. If you cannot complete a piece of work please see the convener before the deadline.
Note that crowded laboratories, equipment failure or loss of your files are not valid reasons for late submission of an assignment.
You are encouraged to:
- set your personal deadline earlier than the actual one
- keep backups of all your important files
- make sure that no-one else picks up your printouts
All assignments should be handed in via the online WebCT system at http://online.mq.edu.au/ by the time specified in the assignment description.
The final examination will consist of three sections consisting of multiple choice questions, short answer questions and longer essay questions.
Late Submissions
If you submit a piece of work past the deadline you will be penalised one mark for each day you are late. This means that if you submit an assignment worth five marks five days late you will recieve zero marks. Extensions will not generally be granted without documentation for the reason for the request.
Examinations
The university examination period in First Half year 2007 is from 11-27 June.
You are expected to present yourself for examination at the time and place designated in the University Examination Timetable. The timetable will be available in Draft form approximately eight weeks before the commencement of the examinations and in Final form approximately four weeks before the commencement of examinations.
You are advised that it is Macquarie University policy not to set early examinations for individuals or groups of students. All students are expected to ensure that they are available until the end of the teaching semester, that is the final day of the official examination period.
The only exception to not sitting an examination at the designated time is because of documented illness or unavoidable disruption. In these circumstances you may wish to consider applying for Special Consideration. Information about unavoidable disruption and the special consideration process is available on the web (PDF).
If a Supplementary Examination is granted as a result of the Special Consideration process the examination will be scheduled after the conclusion of the official examination period. For details of the Special Consideration policy specific to the Department of Computing, see the Department's policy page.
Plagiarism
Please refer to the Department of Computing Plagiarism Policy for the definition of plagiarism, advice on avoiding it and the penalties in place if you are found to have submitted plagiarised work.
University Policy on Grading
Academic Senate has a set of guidelines on the distribution of grades across the range from fail to high distinction. Your final result will include one of these grades plus a standardised numerical grade (SNG).
On occasion your raw mark for a unit (i.e., the total of your marks for each assessment item) may not be the same as the SNG which you receive. Under the Senate guidelines, results may be scaled to ensure that there is a degree of comparability across the university, so that units with the same past performances of their students should achieve similar results.
It is important that you realise that the policy does not require that a minimum number of students are to be failed in any unit. In fact it does something like the opposite, in requiring examiners to explain their actions if more than 20% of students fail in a unit.
Student Support Services
Macquarie University provides a range of Academic Student Support Services. Details of these services can accessed at http://www.student.mq.edu.au.
Staff-Student Liaison Committee
The Department has established a Staff-Student Liaison Committee at each level (100, 200, 300) to provide all students studying a Computing unit the opportunity to discuss related issues or problems with both students and staff.
For each meeting, an agenda is issued and minutes are taken. These are posted on the web at:
Details of the regular meeting dates will be posted on the unit home page. Anyone with an interest in Computing units may attend. This includes staff involved in the teaching and administration of the units, and all students currently taking a Computing unit at that level. There are formal Liaison Committee representatives for each unit who attend to present the views of the student body; all students are welcome and are encouraged to attend.
The meetings are usually held in the Department of Computing Meeting Room, E6A357.
To forward agenda items or get in touch with your representative, send an email to comp249liaison@ics.mq.edu.au.
If you have exhausted all other avenues, then you should consult the Director of Teaching (Dr Steve Cassidy) or the Head of Department (Assoc. Prof. Bernard Mans). You are entitled to have your concerns raised, discussed and resolved.