SJCC CIS 24: CGI Programming With Perl
This site contains the class schedule and lecture notes from Fall Semester 2000. At this time I am no longer teaching at San Jose City College. But feel free to look through the site!

- Mike Toppa


Class Schedule

Date Class # Topic Read
9/11 1 Overview of Perl & CGI p. 5-19
9/18 2 Variables & Operators / Conditionals p. 21-49
9/25 3 Loops & Labels / Lists & Arrays p. 49-76
10/2 4 QUIZ / Pattern Matching (Part I) Review for Quiz
10/9 5 Pattern Matching (Part II) / Hashes p. 93-126
10/16 6 HTML forms / Overview of Final Projects p. 298-301, HTML Tutorial (if you need one)
10/23 7 HTTP (Part I) / CGI "the old-fashioned way" / Using Apache p. 281-287, 302-304, 328-331, browse the Apache Project web site
10/30 8 Modules & Pragmas / Using CGI.pm / Maintaining User "State" p. 227-242, 304-335
11/6 9 MIDTERM Review for Midterm
11/13 N O    C L A S S
11/20 10 Working with Files & Directories / Subroutiness & Libraries p. 77-92, 161-178, 249-260, 127-144
11/27 11 Environment Variables / Using Cookies / The Perl Community p. 339-342, 345-360, 263-277, How to Use Cookies, Environment Variables
12/4 12 Working with DBM Files & Databases / System Interaction p. 244-249, Using MS Access, p. 179-193
12/11 13 Server Side Includes / Using Email p. 336-339, Overview of SSI, p. 361-374
12/18 14 FINAL PROJECT DUE Finish Up Final Project

Class topics are subject to change as the semester progresses. Please listen in class for announcements about changes, and note that the schedule as it appears on the class web site is always up to date.

The lab time following the lectures is typically used for creating short scripts or building small applications that allow you to exercise the new knowledge you have gained from that week's readings and lecture.

Final Projects

Choose one of these two final projects. These projects will be the focus of work after the midterm.

About the Course

This is a 16 Week SJCC Course for the Fall Semester 2000.

CGI - the "Common Gateway Interface" - is the standard method used by web servers to interact with other applications, such as databases. Using CGI, your web server acts as a "gateway" between your web site visitors and applications you want to make available to them. Because of its ease of use and versatility, Perl is one of the most popular languages for creating CGI applications. Perl is an excellent choice for tasks such as processing text input from web forms (such as user feedback forms) and serving as a "glue" between your web server and other applications (such as email servers and databases).

In this class you will not only learn how to create CGI applications yourself, but you will also gain an understanding of how web server software works, and the methods by which data is communicated across the World Wide Web.

This course is intended for the beginner who wants to enter the world of programming interactive applications for the World Wide Web and quickly develop his or her skills. CIS 41 (Introduction to Computers) and CIS 42 (Program Design) are prerequisites for this course. The skills taught in those classes provide the essential foundations for keeping up with the early weeks of this class. Familiarity with HTML (Hypertext Markup Language) is helpful but not required.

While successful web programming requires some amount of technical skill, it is just as important to approach programming tasks with creative, problem solving ideas. This course is structured with an emphasis on providing the skills necessary to successfully take on the real-world programming challenges you will face after you leave the classroom.

Texts & Other Required Materials

Class Hours & Location

Instructor's Contact Information

Unfortunately, I will not be able to hold regular office hours. Please feel free to talk with me before or after class. If you need more time, we can arrange a time to meet individually. I usually check my email several times per day (except on weekends and SJCC holiday breaks), so that is the best way to reach me outside of class.

Class Website

I will be maintaining a website for the class at the following URL:

http://www.toppa.com/perl/

The site contains an always up-to-date copy of this document, and it is my only means of communicating with all of you in between class meetings. Check the top of this page at least once per week for announcements. The weekly lecture notes and lab assignments are also available on the site. The notes for a class usually will be made available the day of the class, and will be linked from this page. You can access this site from the class lab, during open lab hours, or from anywhere else you may have access to the World Wide Web.

Enrollment Guidelines

Tests & Grades

Important Dates

Date Event
9/5 16 Week Classes Begin. Previously unenrolled students must obtain "ADD" slips from instructors.
10/6 Last day to drop with no "W" grade.
11/23-26 Thanksgiving Holiday - Campus closed.
11/24 Last day to drop and receive a "W" grade.
12/21 Official end of Fall 2000 Semester.
1/10 Grades available by phone: 223-0300. Grades also mailed to students this week.

© 2000, 2001 Michael Toppa. All Right Reserved.