Electrical Engineering 205
Ashton Building G12
George Holt Bldg, Room 113 (Lab 1)
Note: Sometimes a tutorial slot will be used for a lecture.
|Dr. Russell Martin
Ashton Building, Room 319
Office hour: Thursday 11-12pm
I am very grateful to Dr. David Reed for allowing me to use the material of his course on Web Programming. The slides, examples, and module design are his work. This help made this module possible. I am also in debt to Dr. Aleksei Fishkin who taught this module in the autumn of 2005 (also based on the course outline and notes of Dr. David Reed), and set up the original web pages for this site, which were modified into their current form.
These are texts that I have referred to, and will sometimes provide
photocopies of small relevant sections in class.
The abbreviations in brackets are used in the table below to denote relevant chapters/sections for that particular subject.
|[WS]||Web Standards: Programmer's Reference, Steven M. Schafer, Wiley Publishing, 2005. (If you're going to buy only one book for this course, this is the one that I would recommend.)|
|[LP]||Learning Perl, Randal L. Schwartz, Tom Phoenix, and brian d foy, O'Reilly Media Inc., 2005.|
|[PPHP]||Programming PHP, Rasmus Lerdorf, Kevin Tatroe, and Peter MacIntyre, O'Reilly Media Inc., 2006.|
|[LPHP]||Learning PHP & MySQL, Michele E. Davis and Jon A. Phillips, O'Reilly Media Inc., 2006.|
|[SQL]||Learning SQL, Alan Beautieu, O'Reilly Media Inc., 2005.|
|[AJAX]||Teach Yourself Ajax in 10 Minutes, Phil Ballard, Sams Publishing, 2006.|
The module will be assessed by formal examination and continuous assessment which contribute 25% and 75%, respectively, to the overall mark. The continuous component will consist of four assignments contributing 75%. In summary, marks will be given as follows:
|4 assignments||75 %|
|(cumulative) final exam||25 %|
Tentative schedule of assignment deadlines
|Assignment 1: Creating a Home Page||11 October 2013 (5pm)|
|Assignment 3: CGI and Perl||22 November 2013 29 November 2013 (5pm)|
|Assignment 4: PHP and MySQL Registration Page||13 December 2013 (5pm)|
Important: You are required to submit your assignments in two fashions:
Note: Each assignment will be due at 5pm on the date specified. Assignments will not be rescheduled except in extreme circumstances.
Generic marking cutoffs and late submission penalties will apply.
(See the Code
of Practice on Assessment for details.)
Any student who fails to submit work amounting to more than 30% of the total will be reported to the Chair of the Board of Studies in Computer Science as soon as this situation occurs. The attendance of any sudent will be deemed unsatisfactory if it falls below 75%.
The University policy on plagiarism and collusion is spelled out in the Student Handbook. Unless otherwise permitted, assignments must be the sole work of the student -- i.e. collaboration on the design or coding of a program is not allowed (unless specifically permitted by the lecturer).
You are, of course, allowed to use the course notes, and examples provided in them, as a basis for your own work for the assessments. The use of other sources should be clearly documented in your source code (use comments, as appropriate to your particular code, to do this).
If you are running a Windows machine, a good program to use to remotely connect to the UL CS server is PuTTY. If you download and install this (free) program, you want to use the following information:
For further details or other options, please see the Department's guide for SSH access.
I strongly urge each student to familiarize yourself with the Unix environment, and, in particular, the use of a (non-graphical) text editor such as "vi" or "pico". Using such an editor will help to avoid certain pitfalls later on when we discuss CGI programming. (These problems arise when you transfer a Windows text file to a Unix system which results in embedded charaters in the file that the CGI processor can't handle.) Being familiar with a text editor such as vi or pico also allows you to remotely log into the CS system, using PuTTY for example, and edit your webpages in this fashion.
Don't forget to make your webpages visible to others by changing the file permission. To do so, you can use the Unix "chmod" command. For example typing the command "chmod a+r index.html" will make the file index.html readable by everyone so, provided it's in your public_html directory, everyone should be able to view it in their web browser.
If you have your webpages in the proper location (i.e.
your public_html directory) and with
the file permissions set correctly, you should
be able to use a web address of the form
to locate your home page. Note: The "m3xxxxx" should, of course, be replaced by your own user ID. Recall that, without specifying a particular file, a web browser always looks for a file called "index.html" (and others like "index.htm" or "index.php", in some order).
history, Internet and Web. (ppt, pdf)
hypertext, tags & elements, links,
images, lists, tables. (ppt, pdf)
[WS, Ch. 1-5]
HTML4.01, W3 Guide to HTML
W3 school, HTML Intro,
XHTML 1.0 Tag Reference,
HTML character escape sequences
Unix Primer, A Unix tutorial
vi (text editor) Primer,
Brief Course Overview
Setting up your HTML directory
| Assignment 1 (Creating a Home Page):
due 11 October 2013 (5pm) (week 3)
|2|| Style Sheets
inline, document, external
[WS, Ch. 12-17]
CSS level 1 specifications (from the W3C)
CSS level 2 specifications (from the W3C)
The advanced HTML/CSS references
HTML color code chart,
Can Color-Blind Users See Your Site?,
|Document Type Declarations
Information on Meta tags
|see Assignment 1|
data types, control, functions,
strings and arrays, classes (ppt, pdf)
form elements, event-driven programming (ppt, pdf)
[WS, Ch. 19-23], [PJ, Ch 3-11], [TYJ, Hour 1-14]
Cut-n-Paste Scripts, EarthWeb
due 7 November 2013 (5pm) (week 7)
Java applet examples (zipped file) from notes
Internet and Web protocols:
TCP/IP, HTTP, caching, cookies (ppt, pdf)
Basics of Perl
basic program, scalars, operations, arrays (ppt, pdf)
files, controls, conditionals, REs & matchings
s & tr & split, hashes, subs, references (ppt, pdf)
[WS, Ch. 25], [PJ, Ch. 18], [LP, Ch. 1-9]
Beginner's Introduction to Perl,
Comprehensive Perl Archive Network (CPAN),
Tutorial, Perl Manual,
Perl Manual, PERLintro,
Programming Perl, Regular expressions,
"Quick start" guide on regular expressions
Perl program for random permutations
Perl program for searching files for a matching string
Perl program for the "pancake sorting problem"
Regular expression examples
| Assignment 2 to be turned in (Nov 7)
Assignment 3 (CGI and Perl):
due 29 November 2013 (5pm) (week 9)
Perl and CGI Programming
CGI in server-side programming
environment variables in Perl
POST and GET methods
extra path information
a basic counter (ppt, pdf) (CGI-files.zip)
[WS, Ch. 24-25], [LP, Ch. 1-9, 14, 15]
Beginner's Guide to CGI Scripting with Perl
Rex Swain's HTTP Viewer
Reading and writing data files in Perl
|See Assignment 3|
Introduction to PHP
variables, operators, and controls
some useful functions
working with forms, cookies, files, time and date
a basic form checker (ppt, pdf, php-files.zip)
[WS, Ch. 29-31], [PPHP, Ch. 1-6]
[LPHP, Ch. 3-6]
php.net (general reference site)
A Simple Tutorial
The PHP Resource Index
|| Assignment 3 to be turned in (29 November 2013 (5pm)
Assignment 4 (PHP and MySQL Registration Page):
due 13 December 2013 (5pm) (week 12)
a data table
a basic PHP/mySQL application (ppt, pdf)
more on SQL queries and PHP/SQL functions (ppt, pdf)
PHP objects and sessions (ppt, pdf)
[WS, Ch. 29-31], [PPHP, Ch. 1-8, 11]
[LPHP, Ch. 8-10, 12-13]
Top 7 PHP Security Blunders
PHP Security Guide
PHP Security Tutorial
||See Assignment 4|
Basic Ajax syntax and examples ppt pdf
(lecture notes provided by Christoph Ambühl) ppt pdf
[AJAX, Ch. 1-14]
|| Assignment 4 to be turned in (13 December 2013 (5pm))
Here is a link to the W3C's online validator. This
can be used to check if your HTML code conforms to standards.
Important! To use
this correctly, your HTML document should contain a
Document Type Declaration so that the
validator can detect the standards that apply to your document.
From the page above, you can also find links to other validators that can be used to check for broken links, correctness of external style sheets, etc.
This module will have a student appraisal in the from of questionnaires at the end of the term. We strongly encourage you to complete it.