Second Summer 2003

ClassPak (PDF)

Calendar Students Office Hours Grading Course Materials QuizSite MyGrades

Lecture and lab notes will be posted here for your convenience.

[01] Jun 23
[02] Jun 24
[01] Lab One
[03] Jun 25
[04] Jun 26
[02] Lab Two
Homework One
[05] Jun 30
[06] Jul 1
[03] Lab Three
Homework Two
[07] Jul 2
[08] Jul 3
[04] Lab Four
[09] Jul 7
[10] Jul 8
[05] Lab Five
[11] Jul 9
[12] Jul 10
[06] Lab Six
Homework Three
[13] Jul 14
[14] Jul 15
[07] Lab Seven
[15] Jul 16
Webmaster's Domain
[16] Jul 21
[17] Jul 22
[08] Lab Eight
Homework Four
[18] Jul 23
[19] Jul 24
[09] Lab Nine
Extra (DOM)
[18] Jul 28
[19] Jul 29
[10] Lab Ten
Homework Five
[20] Jul 30
[21] Jul 31
[11] Lab Eleven
[22] Aug 4
[23] Aug 5
[12] Lab Twelve
Homework Six
[24] Aug 6
[25] Aug 7
[13] Lab Thirteen
[26] Aug 11
[27] Aug 12
[14] Lab Fourteen
[28] Aug 13
[29] FINAL
[15] Last Lab

They will closely follow and slightly improve on the

ClassPak course packet (which is available at the IU Bookstore).

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
  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. XML-RPC. Web Services, SOAP, WSDL, and UDDI. Relationship with RMI.
  28. Encryption and security on the web
  29. Multiplayer Games in Java and Flash MX

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

A schedule of office hours will be listed here shortly.


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

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

The bookstore lists the ClassPak and an O'Reilly reference book as REQUIRED.

They will be both put on reserve in the library for your convenience.

Updated by Adrian German for A348/A548