Fall Semester 2002


Mastering a Whirled Wide Web. (Programming is a contact sport).

The Way We Were
An Unsuccessful Show, by Daniil Kharms
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/unsuccess.html)

Foreword
The Carpenter Kushakov, by Daniil Kharms
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/kushakov.html)


More Prefatory Comments
(Some Random Thoughts To Get Us Started)
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/seriously.html)


Class Overview
Topics and Organization
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/overview.html)

Lecture Notes One
HTML, Apache, HTTP and Unix
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/One.html)

On Solving Problems. The inevitable fun().
A Note. From the Feynman Lectures on Computation (and A201 Notes).
(http://www.cs.indiana.edu/classes/a201-dger/sum2002/notes/RPF.html)

Problems and Pain (Also from A201 Notes).
Another Note. Adapted from The Road Less Traveled  by Scott Peck.
(http://www.cs.indiana.edu/classes/a201-dger/sum2002/notes/roadless.html)

Lab One: Becoming familiar with Unix.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/labOne.html)

Lecture Notes Two
Building the latest Apache server from scratch.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Two.html)

Lecture Notes Three
Unix processes and process id's. File permissions. Introduction to Perl.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Three.html)

Lecture Notes Four
Perl, cgi-bin, CGI, %ENV, QUERY_STRING, GET, more Perl.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Four.html)

Lab Two: Simple CGI scripting.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/labTwo.html)

Semester Class (Group) Projects: A List To Get Us Started
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/projects.html)

Homework Assignment One: A Web Server Setup. Picture Posted.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/BPhwOne.html)

Lecture Notes Five
Circular scripts (Part I).
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Five.html)

Lab Three: Password protected directories.
Note that it contains Lab Assignment Three, due at the beginning of (or during) the next lab. (http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/labThree.html)

Lecture Notes Six
Circular scripts (Part II).
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Six.html)

Homework Assignment Two: Lindley Portfolio and Simple Calculator
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/BPhwTwo.html)

Lecture Notes Seven
Pattern matching in Perl. Building a CGI processor.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Seven.html)

Lecture Notes Eight
Java Fundamentals (Contains three more links, listed below).
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Eight.html)

Basic Java Networking
Networking and utilities.
(http://www.cs.indiana.edu/classes/a348/CTED/moduleFour/lectures/Apr22.html)

Basic Java I/O
Part One: Basic I/O. (Note: there is no Part Two).
(http://www.cs.indiana.edu/classes/a348/CTED/moduleFour/lectures/Apr17.html)

Java Threads
Individual execution paths (with or without sharing).
(http://www.cs.indiana.edu/classes/a348/CTED/moduleFour/lectures/Apr10.html)

Lab Four: HTTP experiments
Note that it contains Lab Assignment Four, due at the beginning of (or during) the next lab.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/labFour.html)

Webmaster's Domain: Is CGI Dead?
A note by Lincoln Stein (http://www.cs.indiana.edu/classes/a348-dger/fall99/lectures/lincoln/CGI.html)

Lecture Notes Nine
Object-oriented perl and CGI.pm.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Nine.html)

Lab Five: Using mySQL
Note that it contains Lab Assignment Five which is in two parts (read for details).
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/labFive.html)

Check A114 Notes for a complete overview of RDBMs, SQL and Normal Forms 1-4.
(http://www.cs.indiana.edu/classes/a114-dger/)

Lecture Notes Ten
Maintaining State
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Ten.html)

Lecture Notes Eleven
Storing State Information in SQL Databases
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Eleven.html)

Lecture Notes Twelve
Installing PHP-4.1.0
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Twelve.html)

Lab Six: Maintaing State on the Server. Session Management with DBI.pm and MySQL.
Note that it contains Lab Assignment Six due at the beginning of (or during) the next lab.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/labSix.html)

Homework Assignment Three: PHP Scripts
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/BPhwThree.html)

Lecture Notes Thirteen
Introduction to PHP
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Thirteen.html)

Lecture Notes Fourteen
PHP Arrays, Functions, Sessions
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Fourteen.html)

Lecture Notes Fifteen
If we were to write the Hangman game using PHP
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Fifteen.html)

Lab Seven: Exam Problems (Computer Games)
Note it contains Lab Assignment Seven due at the beginning of (or during) the next lab.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/labSeven.html)

Spring 2002 Midterm Exam
Welcome to the Addition Quiz!
(http://www.cs.indiana.edu/classes/a348-dger/spr2002/exams/midterm.html)

Fall 2000 Midterm Exam with Solutions
Education is what remains after you forget everything you learned in school.
(http://www.cs.indiana.edu/classes/a348-dger/fall2000/midtermSols.html)

Fall 1999 Midterm Exam with Solutions
Work as fast as you can, without being careless. Good luck and do well! Exam is open-book.
(http://www.cs.indiana.edu/classes/a348-dger/fall99/lectures/mte.html)

Fall 2002 Midterm Exam
Stone, scissors, paper... (that's what you need for this exam)
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/hagi.html)

Fall 2002 Practical Exam: The first one to reach 100 (one hundred) wins...
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Practical.html)

Lecture Notes Sixteen
PHP Shopping Cart (please follow all links inside).
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Sixteen.html)

Lab Eight: A PHP Shopping Cart
Note that it contains Lab Assignment Eight, due at the beginning of (or during) the next lab.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/labEight.html)

Lecture Notes Seventeen
Client-side scripting.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Seventeen.html)

Homework Assignment Four: DHTML Scripts for Lindley Portfolio and Simple Calculator
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/BPhwFour.html)

Lecture Notes Eighteen
A Javascript Shopping Cart
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Eighteen.html)

Lecture Notes Extra
DHTML: Sketch of A Simple Example
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/dhtml/extra.html)

Lecture Notes Nineteen
Web Programming Then and Now. The Apache Project. Server-side Java
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Nineteen.html)

Lab Nine: Help with Homework Four. More Questions.
Note that it contains Lab Assignment Nine, due at the beginning of (or during) the next lab. (http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/labNine.html)

Lecture Notes Twenty
Introduction to Server-Side Java
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/Twenty.html)

Lecture Notes Twenty-One
Applets, servlets, and javax.servlet vs. CGI.pm
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/TwentyOne.html)

Lab Ten: Java Applets. Installing Tomcat.
Note that it contains Lab Assignment Ten, due at the beginning of (or during) the next lab.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/labTen.html)

Homework Assignment Five:
Java Servlets Versions of Lindley Portfolio and The Simple Calculator (http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/BPhwFive.html)

Homework Assignment Six:
Java Server Pages for The Lindley Portfolio and The Simple Calculator (http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/BPhwSix.html)

Lecture Notes Twenty-Two
Building A Web Chat Application in Java
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/TwentyTwo.html)

Lecture Notes Twenty-Three
Four building blocks of your web chat application.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/TwentyThree.html)

Lecture Notes Extra
The innards of the web chat application, step by step; code walk.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/codeWalk.html)


QuizSite Problems (Batch One: A Bit of Unix)
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/quizzes/One.html)

QuizSite Problems (Batch Two: Some Perl)
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/quizzes/Two.html)

QuizSite Problems (Batch Three: JavaScript)
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/quizzes/Three.html)

A lot more could be addressed here, including DOM, XML, Java, PHP, HTTP, even SOAP.

Lab Eleven: Servlets and JSP for the last two homework assignments
Note it contains Lab Assignment Eleven due at the beginning of (or during) the next lab.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/labEleven.html)

Lecture Notes Twenty-Four
Java RMI. The RMI Recipe. Applets and RMI.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/TwentyFour.html)
(http://www.cs.indiana.edu/classes/a348-dger/lectures/rmisteps.html)
(http://www.cs.indiana.edu/classes/a348-dger/fall99/lectures/lecture23.html)

Lecture Notes Twenty-Five
XML: An eXtensible Markup Language
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/TwentyFive.html)

Lecture Notes Twenty-Six
Content Syndication
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/TwentySix.html)

Lab Twelve: JDBC, Content Syndication Revisited, XSLT.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/labTwelve.html)

Lecture Notes Twenty-Seven
Discussion Forum with Java, XSLT, and JDBC.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/TwentySeven.html)
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/sum27.html)

Lecture Notes Twenty-Eight
Web Services with Apache Axis.
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/TwentyEight.html)
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/WebServices.html)
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/bws.html)
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/bws3.html)

Lab Thirteen: Officially inagurating KETCHUP DAYS

(These are the days of miracle and wonder...)


Epilogue
A Young Man Who Astonished a Watchman, by Daniil Kharms (http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/youngs.html)


Appendix A: XML-RPC and True Interoperability
(http://www.cs.indiana.edu/classes/a348-dger/fall2002/notes/XML-RPC.html)


Last updated: Nov 28, 2002 by Adrian German for A348/A548