University of Maryland/Asian Division

CAPP 386 Internet Advanced Guide

Term 2 DE: 23 Oct - 17 Mar

David Wills

Class Website with the example programs, assignments and software to download. and DEMOs!

A knowledge of elementary HTML is assumed by having taken CAPP385. You should know enough HTML to create lists and tables, links, inline images, and know the basic structure of an HTML document. You can bypass 385 if you already know basic HTML.
A good tutorial on HTML is at the (they define HTML, so who to trust better?) at

COURSE DESCRIPTION: The Internet is one of the greatest inventions of all time. It's going to do all that traditional media like radio, TV, telephone, mail, newspapers, books and magazines, and libraries do. It might replace several of these. It's becoming a major retail method (e-commerce).

This course is an introduction to "web programming". CGI programs written in Perl that run on the web server. CGI programs typically are used to receive form data and act upon it, for example at a web site where a user requests a search or orders an item via an HTML form, the particulars that the user specifies goes to a CGI script on the web server that performs the necessary database processing and responds to the user, possibly by dynamically generating a web page. Also, Javascript programs embedded in web pages that are executed by the browser, allowing the creation of interactive, dynamically modifiable web documents. You'll need access to a web server to do the work for this class. A free web server (MS Windows based) is available for this class which you'll learn how to configure, or if you use Linux (free) it runs the Apache (free) web server (used by more web sites than all other servers combined). Apache is also available for MS Windows, for free.

COURSE OBJECTIVES: On successful completion of this course, you will be able to:

  1. create HTML forms
  2. write CGI scripts that receive form data, parse it, and act on it and/or dynamically create virtual web pages
  3. use Perl, the major language of CGI programming, relatively well
  4. understand the HTTP (www) protocol and the CGI protocol
  5. incorporate server side includes in your web pages
  6. be able to implement typical web pages such as counters, surveys, guestbooks, catalog orders, searches
  7. know how to do client-side image maps, client-pull, cookies
  8. use Javascript, the language of dynamic HTML, relatively well
  9. create web pages that have executable content that interact with the user (e.g. respond to mouse movements, button clicks, input), control the browser (e.g. which page is displayed, which images are displayed), and dynamically create and modify the contents, appearance and behaviour of HTML documents.

Perl and CGI for the World Wide Web: Visual Quickstart Guide, by E. Castro
Javascript, by Flanagan from O'Reilly
Recommended: Learning Perl, from O'Reilly.
There are many Perl and CGI and Javascript tutorials available on the web.

EVALUATION: Your grade will be based on a proctored exam and some homeworks in the following proportions:

Homework		  65%	
Proctored Exam		  35%
Week 1 Administrative.  Install software.
Week 2 Forms: icecream_form.html  
Week 3 Chapter 1. c_diffs.html, window_stuff.html, 1-3.html.  
Week 4 Chapter 12, 13. icecream_verify.html, calendar.html
Week 5 Chapter 14, 15, 16 reading.  background.html, hilite_links.html
15-1.html, 16-1.html
Week 6, japan_map.html, bouncing.html, 13-2img.html,  scrolls.html
Week 7, flash_frames.html, colors.html, slot.html
Week 8 JS project due.  End JS.
Week 9 Start CGI. simp*, environment variables
Week 10 showdata*
Week 11 guestbook*, format*
Week 12 Exam.
Week 13 vote*, search*
Week 14 survey*
Week 15 SSI, client-pull, cookies
Week 16 Administrative.