The content of the course is a collection of technical materials needed for writing programs meant to be accessed and executed through the World Wide Web. These materials fall into three categories: background or context topics, the Perl programming language, and Java.
Context
To program in the context of the Internet and the World Wide Web, one must be able to use several protocols. An understanding of several additional topic is helpful.To provide orientation, the course includes a history of the Internet, in outline form. Since the Internet is based on the Internet Protocol (IP) and the Transmission Control Protocol (TCP), a brief discussion of TCP/IP is provided. A common physical network over which TCP/IP operates is Ethernet; consequently, a brief review of Ethernet is also included. These three protocols provide the basic infrastructure over which the Web operates.
Since WWW was built using a client/server architecture, a description of the main features of the client/server model is included. Since our topic is WWW programming, the course naturally includes a general discussion of the Web's architecture. Finally, the Web's Common Gateway Interface (CGI) is described in some detail since it provides the context for the earliest, and still an important, form of WWW program. A topic not covered in course materials is HTML, since students are assumed to be familiar with the basics of writing Web pages. However, a discussion of HTML forms is provided since CGI programs are commonly invoked through forms and because they are not part of rudimentary HTML.
Perl
From the time the CGI was introduced, the language of choice for CGI programs has been Perl. Perl is a scripting language with good access to system functions and with superior string handling features. Consequently, it is well suited for analyzing textual input and for forming text strings, such as database queries and HTTP responses. It is also terse to a fault. It is not at all unusual for a fairly complex program to be only a few tens of lines long. Perl is included in the materials because of its historical importance and because of the availability of libraries for assisting with CGI programs; however, in future versions of the course, it may be replaced by Java if that becomes the preferred language for CGI programs.The discussion of Perl includes two main components. First, a Perl tutorial presents major aspects of the language in a cumulative manner as they are needed to write a basic CGI program. Second, a summary of Perl presents the language in a systematic and comparative fashion. Together, they provide both a quick start for those wishing to write CGI programs and a comprehensive overview of the language for those wishing to write more extensive Perl programs.
Java
The largest segment of the course is concerned with Java. It includes an introduction to object-oriented programming, an introduction to the Java environment, and more than a dozen discussions of specific Java topics. Emphasis is on writing applets, although many of the topics also apply to applications. In addition to the basics of programming, such as data types and control structures, other topics include building graphical user interfaces, handling events, multimedia, and Java's network communications features. Consequently, students should be able to write simple client/server programs by the end of the course.