Second Summer 2002

Calendar Students Office Hours Grading Course Materials QuizSite MyGrades

[01] June 17
[02] June 18
[01] Lab One
[03] June 19
[04] June 20
[02] Lab Two
Homework One
[05] June 24
[06] June 25
[03] Lab Three
[07] June 26
[08] June 27
[04] Lab Four
Homework Two
[09] July  1
[10] July  2
[05] Lab Five
[11] July  3
[06] No Lab
Homework Three
[12] July  8
[13] July  9
[06] Lab Six
[14] July 10
[15] MIDTERM 7/11
[16] July 15
[17] July 16
[07] Lab Seven
Homework Four
[18] July 17
[19] July 18
[08] Lab Eight
[20] July 22
[21] July 23
[09] Lab Nine
Homework Five
[22] July 24
[23] July 25
[10] Lab Ten
[24] July 29
[25] July 30
[11] Lab Eleven
Homework Six
[26] July 31
[27] August  1
[12] Lab Twelve
[28] August 5
[29] FINAL 8/6
[13] PRACTICAL 8/5
[30] August 7
[31] August 8
[13] Lab Thirteen

Calendar and Exams

First here's a copy of our class page in INSITE.

Then 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.
  5. Basic Pattern Matching in Perl (Simple Regular Expressions).
  6. Basic CGI (with PERL). Environment variables. Basic HTTP (GET/POST).
  7. CGI Processing with
  8. Relational Databases and MySQL (basic introduction to the topic)
  9. Web database access with CGI, Perl, and
  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. Encryption and security on the web

Those topics marked in red are areas in which example implementations of semester projects will be presented. 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).

Office Hours

Instructor Username Days Location Time
Adrian German dgerman MTWF LH201D
Thursday(only) LH201D 12:25-1:25pm
Shakila Shayan sshayan Mon LH016
(basement, Lindley)
Tue LH016
(basement, Lindley)


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 (28-30) 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 with 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: Jun 20, 2002 by Adrian German for A348/A548