This is the plan for the practical work to be undertaken by students on the first few weeks of the Computer Network Principles and Applications course. Please note that you are not expected to go to the timetabled practical classes to do this work. What you are supposed to do is to attempt these tasks in your own time, and then go to one of the practical classes to ask questions when you run into problems.
Many of you will have done some of this already, and some of you may have done all of it, but this practical needs to be complete for the sake of those who have not. It also introduces the "find out for yourself" style of the course.
Briefly, the steps to go through (each explained more fully later in this document) are as follows:
The aim is to create a page of information on the World Wide Web. You will need to learn how to create and edit files on UNIX (if you'd forgotten) and how to set file access permissions. Before even that, you will need a username and password for the Computer Science Unix boxes. There are lots of books on using UNIX. I have copies of a 6 side handout on getting started with UNIX, already given out to students on CS2 and CD2, which I will try to make available.
Any student who is not familiar with using a World Wide Web browser should acquire that skill. Try using Lynx or some other text only browser.
Everybody thinks they can find stuff on the Web, but not everybody is very good at it. Try using a different search engine to those you have used before. References: A handout, 1 side, on searching, which I will try to make available.
Find out how to write html by searching the World Wide Web (see previous step) for suitable tutorial and/or reference material. Or you could read a book.I want you to be able to create raw html using a text editor like emacs (UNIX), Notepad (Windows), or BBEdit (Mac). Find and read a tutorial on html -- there are many available; none is particularly recommended -- any online or paper tutorial will do.
Put this knowledge and skill into practice by creating a suitable html document. Making it accessible to others, as well as advice on other aspects of the task, is described in a one side handout on installing pages"http://stott.feis.herts.ac.uk/support/creating_web_pages.htm".
Possibly learn how to use the more advanced features of html, such as images. If you want to produce really fancy Web sites, it is probably best to learn a more powerful editor designed specially for html.
Read some guidelines on how to construct Web pages [see, for example, various documents referred to from my home page http://homepages.feis.herts.ac.uk/~comqjam/#style ] then try using lynx (the program, not the deodorant) which has to be run on a Linux machine, such as blink.
Having mastered simple html, you can now produce a simple application using the web, of a sort that would be more usually implemented using a database package. By using the common gateway interface (cgi), you continue to use the Web architecture, but now the effect of following a hypertext link will be to run a program rather than merely returning a piece of static data. By using a program to search a file (such as grep as part of a unix shell script, for example) we can introduce simple database functionality as well as the idea of server side scripts. At this stage all the required URLs will be typed by hand.
What you need to do is read the cgi spec "http://hoohoo.ncsa.uiuc.edu/cgi/interface.html" (or a tutorial or FAQ on the topic, or a book if you insist), then create a test shell script or program that creates output that conforms to the required standards. If the script is installed with execute permission in the cgi-bin subdirectory of your public_html directory then it can be run from a browser. Before testing it from a browser, run it on UNIX and check that the output is correct.
The final stage is to use the forms capability of html to improve the user interface and of course to allow the user to select which record in the file is to be displayed. An important lesson here is the way in which the client now has to know something about the data that it is manipulating, though of course that knowledge is loaded into the Web browser only shortly before it requests the cgi script to search the "database". Forms are part of html, and most tutorials will cover how they are created.
When you have completed this material you should be able to:
In all of this, my main aim is that you should understand these things. There have been exam questions on some of these topics in the past.
CNPA-Practical-plan-v21.html last updated 3rd October 2001
Created by James A. Malcolm, October 1999, from csf3-osn-plan-v10 21 x 1998
and (punt) Practical-plan-1to4-v12.txt 25 i 1999.