Fall Semester 2002

Calendar Students Office Hours Grading Course Materials QuizSite MyGrades

[01] Welcome
[02] Apache
[01] Unix
[03] Perl
[04] %ENV
Homework One
[05] GET
[06] POST
[03] htpasswd
Homework Two
[07] CGI
[08] Java
[04] HTTP
[09] CGI(.pm)
[10] State
[05] MySQL
[11] DBI.pm
[12] PHP
[06] CGI sessions
Homework Three
[13] PHP sessions
[14] PHP arrays
[07] Games
[15] PHP's ereg
[16] amazon (I)
[17] Javascript
[08] amazon (II)
Homework Four
[18] JS ShCart
[19] The Big Picture
[19] DHTML
[09] Extra Help
[20] Servlets
[21] Applets
[10] Tomcat
Homework Five
[22] Web Chat
[23] HttpMessage
[11] JSP
[22] Code Walk
Homework Six
[24] RMI
[12] No Lab
[25] XML
[26] B2B
[26] A MUD
[12] JDBC
Lab Extra
[27] XSLT
[28] Summary
[28] Axis
[28] XML-RPC
[28] JSSE
(Fri Dec 20 5-7pm)

Where all the notes will be collected, in a format more suitable for ClassPak delivery.

Calendar and Exams

Here's a copy of our class page in INSITE.

Here's the outline of what will be covered in this class.

  1. Introduction to Unix.
  2. Introduction to Perl and Java. Installing Apache.
  3. Maintaining Apache (very basic). Basic HTML.
  4. Basic Perl and Basic Java. Object-Oriented Perl.
    Studying HTTP by using an own browser and own server written in Java.
  5. Basic Pattern Matching in Perl (Simple Regular Expressions).
  6. Basic CGI (with PERL). Environment variables. Basic HTTP (GET/POST).
  7. CGI Processing with CGI.pm
  8. Relational Databases and MySQL (basic introduction to the topic)
  9. Web database access with CGI, Perl, and DBI.pm
  10. Maintaining state with Perl/CGI and MySQL
  11. Alternative server-side programming: PHP. PHP sessions.
  12. PHP database access on the web. A shopping cart.
  13. Client-side programming: Javascript and DHTML
  14. A Javascript shopping cart
  15. Alternative client-side programming: Java applets.
  16. Basic Java: the class extension mechanism, dynamic method lookup.
  17. Basic Java I/O and basic Java networking (sockets, RMI)
  18. What would it take to write a web browser (or a web server) in Java.
  19. A simple chat aplication with Java RMI.
  20. Installing Tomcat (web server supporting server-side Java)
  21. The basics of Java servlets.
  22. Applet-servlet communication (web chat with HTTP)
  23. MySQL database access from Java (with JDBC)
  24. Java Server Pages
  25. XML and XSLT
  26. Web discussion forum with Java servlets, MySQL, XML and XSLT
  27. XML-RPC. Web Services, SOAP, WSDL, and UDDI. Relationship with RMI.
  28. Encryption and security on the web

Those topics marked in red are areas in which example implementations of semester projects will be presented from the outset (first week of classes). One can choose one such topic and the associated implementation and turn it into the semester project (by knowing it very well at the end of the semester and defending it in person, or taking a written exam on it).

Office Hours

Instructor Username Days Location Time
Adrian German dgerman TR
Gan Chen chengan T LH016 (basement, Lindley) 1pm-3pm
Jue Qian jqian F LH310A 9am-10am, noon-1pm
Sriram Raghuraman sraghura F LH016 (basement, Lindley) 9:30am-11:30am

We're also going to post here the schedule of labs and their associated instructors.


A348 is offered in the same rooms and at the same time with A548. The syllabus is the same for A348 (undergraduate) and A548 (graduate) students. There are about 6-7 assignments per semester, two in-class closed-book exams (the midterm and the final) weekly lab assignments that need to be turned in during the lab, and a semester instructor-coordinated group project.

The assignments and the exams have two components: a basic component that is required of all students (this part tests understanding of the concepts presented in class and demonstrated in the lab modules) and a more advanced component that is optional for the undergraduates but is required of the graduate students.

The basic component of an assignment accounts for 100% of the assignment grade of an undergraduate student, and for 67% of that of a graduate student. The advanced component of the assignment usually requires a certain amount of independent study on the part of the student, as it refers to concepts and procedures mentioned but not presented in great detail in lectures or lab modules. This component is optional for the undegraduates, but it accounts for 33% of the assignment grade for the students enrolled in A548. Quizzes and in-class assignments are identical for all students, and team projects (coordinated by the instructor) are all of the same difficulty.

Where teams are composed of both graduate and undergraduate students the graduate students are expected to assume additional responsibilities in terms of team coordination, project implementation and final presentation, and contributions to the project will be graded separately.

Course grades will be determined as follows:

Component Category Weight
Six Assignments HWK 30%
Group Project PRJ 15%
Midterm Exam MID 15%
Final Exam FIN 15%
Lab Assignments (about 12) LAB 20%
Minute Papers (about 28) MIN 5%

The overall cutoff scale is as follows:

0-54 55-59 60-65 66-67 68-69 70-75 76-77 78-79 80-85 86-87 88-89 90-95 96-100
F D- D D+ C- C C+ B- B B+ A- A A+

Late policy: all assignments need to be turned in on time. We'll help you accomplish that.

Course Materials

There are two books recommended for this class:

The notes posted here also need to be read and known inside out.

I will try to finalize a course packet out of them as soon as possible to save you some printing.

Last updated: Sep 3, 2002 by Adrian German for A348/A548