CSCI 4300 -- Web Programming

Instructor: Dr. Dan Everett Office: 217 Boyd GSRC
Office hours: 2:00 -- 5:00 PM daily Telephone: 542-2749
E-mail: dme at cs.uga.edu

TA:

TBA
Text: Java Tools for Extreme Progamming
by Richard Hightower and Nicholas Lesecki
( Optional Text )
Various Web readings
Grading:
Assignments: 60%
Midterm: 15%
Final exam: 25%

Course Schedule

Lecture: We will have three lecture periods per day, at 9:30, 11:00, and 12:30. The last lecture period will run 50 minutes, giving us 200 minutes of lecture per day. At least some of each lecture period will be spent on examples.

Labs: From 2:00 to 5:00, the CS lab in room 307 will be kept open. I will be available either in the lab or in my office to ask questions during that time.

Programming Assignments:

There are 11 programming assignments, of which you must successfully complete 10 to receive full credit. You may submit these assignments in any order and at any time up to the day of the final exam, Thursday June 3. You are welcome to resubmit assignments for additional credit. Today only (Jun 3), i will accept three submissions (call itour "grand finale".)

As shown in the chart to the right, your assignments grade is a nonlinear function of the total number of points you get on the eleven projects. Download the Excel worksheet

For assignment details, see the assignments page .

Incomplete grades

Incomplete grades will be given in case you have a genuine personal or medical emergency that strikes in the last 1/4 of the class and prevents you from completing the course work. Because severe time pressure is a part of the Maymester experience, no incomplete grades will be given simply to allow you to finish your work.

 CSCI 4300 Lecture Schedule -- Maymester 2004

Most readings are from the Web; XP refers to Java Tools for Extreme Programming.

Day

Date

Topic

Readings

W

May 12

Layered protocol model; Request-response interactions; HTTP methods and response codes; HTTP headers; HTML language structure; HTML validation

HTTP reference
HTML 4.01 spec (sections 1-2, 3.1-3.2, 4, 7)
HTML Tidy utility

R

May 13

Browser layout model; Cascading Style Sheets (CSS)

Visual Formatting Model;
CSS tutorial;
XP: Introduction to Extreme Programming

F

May 14

Javascript core language; Document object models: Level 0 DOM & MS DOM

Javascript tutorial for programmers;
Level 0 DOM;
MS DOM -- Dymanic content;
MS DOM -- DHTML model;
MS DOM -- element positioning

 

M

May 17

W3C DOM; Java HTML parsing

W3C DOM Level 1 core spec,
DOM Level 1 HTML spec;
(Just skim these, but know what's in them!)
HTML Parser;
XP: Continuous integration with Ant

T

May 18

XML, DTD, XML Schema

Intro to XML
XML Schema Part 0: primer

W

May 19

XML parsing; XPATH; Extensible stylesheets (XSLT)

Sun SAX parsing tutorial,
Sun DOM parsing tutorial;
XPATH tutorial, XSLT tutorial;
XP: Building Java applications with Ant

R

May 20

PHP core language; Database applications with PHP and MySQL

PHP tutorial; mysql tutorial;
PHP MySqL functions

F

May 21

Midterm Exam--Yikes! See you in room 307 (the lab)

 

M

May 24

The Perl programming language

Picking up Perl

T

May 25

Guest lecture: Hugh Esco, speaking on the Georgia Legis-Track system

W

May 26

Tomcat web server;Servlets and web applications;Java Server Pages and JavaBeans

Intro to Web applications
XP: J2EE deployment, sample application,
Building J2EE applications with Ant

R

May 27

SOAP, WDSL, and Java Web Services

Intro to Web Services;
XP: Unit Testing with JUnit

F

May 28

Java Extensions for Remote Procedure Calls (JAX-RPC)

JAX-RPC tutorial,
XP: Testing container services with Cactus

 

M

May 31

Memorial Day Holiday -- Yippee!

T

Jun 1

Soap with Attachments API for Java (SAAJ);
XP: functional testing with HttpUnit

SAAJ tutorial;
XP: Testing container services with Cactus

W

Jun 2

Web services scenario from Sun

Web services scenario;
XP: Measuring application performance with JMeter

R

Jun 3

Final exam: 9:30 -- 12:30 -- Yikes!