CS 465 Course Description

CS465 Server-side Web Programming (3 Cr.)


Prerequisite: Six (6) credit hours of Computer Science at the level of 200 or above.

Offered: Every third semester beginning winter 2014


This course teaches students how to program client/server applications for the Web focusing on database integration. Topics cover scripting languages such as Perl, PHP, or other current alternatives, using them to read input from Web forms and produce Web output. SQL will be used to interface with databases as the backend technology.

Course Outline

We will teach Perl, PHP, SQL, and database basics. Please note that this is a programming course, and not an applications course. Also, please note that this course outline is tentative. We will change the material taught to reflect changes in technology as well as further experiences in teaching this class.

  1. Architecture of the World Wide Web
    1. Web servers
    2. Web clients
    3. The HTTP protocol and CGI
    4. Databases and other back ends
  2. Databases
    1. SQL queries
    2. Advanced SQL statements
    3. Transactions and the ACID properties
  3. Perl
    1. Basic Perl syntax
      1. Variables, variable names, and variable score
      2. The Perl type system
      3. Control loops
      4. Functions and procedures in Perl
    2. Arrays in Perl
      1. Basic array syntax
      2. Perl specific array manipulation (sort, reverse, delete, etc.)
    3. String manipulation in Perl
    4. Associative arrays
      1. Functionality
      2. Novel examples of use
      3. Run time costs in using associative arrays
    5. File handling in Perl
      1. Opening files
      2. Opening programs as if they were files
    6. Perl objects
      1. Basic objects
      2. Constructors
      3. Arrays as member variables in Perl
  4. CGI
    1. Using Perl to make CGI programs
    2. HTTP headers
      1. Status codes
      2. Mime types
    3. Cookies
    4. Forms and getting form data into a CGI program
  5. DBI (connecting Perl to a database)
    1. DBI basic architecture
    2. The DBI->DO method
    3. The prepare, execute and fetch method
  6. PHP
    1. Basic PHP syntax
    2. Arrays in PHP
    3. String manipulation in PHP
    4. Embedding HTML code inside PHP scripts
    5. File handling in PHP
    6. Connecting PHP to a database
  7. Conclusion
    1. Comparing PHP and Perl
    2. Comparing with other technologies (databases vs. flat files)