CS174 Spring 2002 Sec1 & Sec2 Home Page/Syllabus

Server-side web programming

Instructor: Chris Pollett
Office: MH 214
Phone Number: (408) 924 5145
Email: cpollett@yahoo.com
Office Hours:MW 12:30-2:30pm F 12:30-1:30pm
Class Meets:
Sec1 MWF 10:30am-11:20am in MH 423
Sec2 MWF 11:30am-12:20pm in MH 222

Prerequisites

To take this class you must have taken: CS46B with a grade of C- or better.

Texts and Links

Required Texts: Server-Side Java Programming for Web Developers. by John Avila.
Online References & Other Links: Sun's Java site..
The Java 2 Platform Class Library.
The Java 2 Platform EE Class Library.
Dr. Sathaye's Oracle Handbook.
Dr. Horstmann's Tomcat Instructions.
useit.com, a web useability site.

Topics

This course covers various aspects of the design and maintenance of web-applications. To begin the language that web pages are written in, HTML/XHTML, will be introduced. Then more advanced advanced features of Java useful for server-side development of web pages will be considered. These include arrays, various java.util classes, and threads. Servlets will be discussed next and a brief introduction to databases and JDBC will be given. Java beans and JSP will then be covered. The networking internals of how web servers work will be briefly sketched and we will end with a survey of some non-Java related technologies for web development such as Perl, PHP and Javascript.

Below is a tentative time table for when we'll do things this quarter:

Week 1: Jan 23, Jan 25 Read Avila Ch1.
Week 2: Jan 28, Jan 31, Feb 1 Read Avila Ch2.
Week 3: Feb 4, Feb 6, Feb 8
Week 4: Feb 11, Feb 13, Feb 15 Read Avila Ch4.1-4.3 Review.
Week 5: Feb 18, Feb 20, Feb 22 Finish Ch4.
Week 6: Feb 25, Feb 27, Mar 1 Read Avila Ch5.
Week 7: Mar 4, Mar 6, Mar 8 Read Avila Ch6.1-6.3.
Week 8: Mar 11, Mar 13, Mar 15 Finish Ch6.
Week 9: Mar 18, Mar 20, Mar 22 Read Avila Ch7.
Week 10: Apr 1(Holiday), Apr 3, Apr 5 Read Avila Ch8.
Week 11: Apr 8, Apr 10, Apr 12 Review
Week 12: Apr 15, Apr 17, Apr 19 Read Avila Ch9.
Week 13: Apr 22, Apr 24, Apr 26 Read Avila Ch10.1-10.5.
Week 14: Apr 29, May 1, May 3 Finish Ch10.
Week 15: May 6, May 8, May 10 Read PHP handout.
Week 16: May 13May 15 Read Javascript handout.
The final will be May 20 9:45am-12pm (Sec 1) and May 22 9:45am-12pm (Sec 2)

Grading

Homeworks 40%
Midterm 1 15%
Midterm 2 15%
Final 30%
Total100%

When I assign grades the high score has an opportunity to receive an A+. I do curve grades and my curving will be in line with previous times this class has been taught. If you do better than an A- in this class and want me to write you a letter of recommendation, I will generally be willing.

Homework Info

Links to the current list of assignments can be found on the left hand frame of the class homepage. After an assignment has been returned a link to its solution will be placed off the assignment page. Each homework will consist of a reading, a writing and a programming part. Material from the reading part of an assignment may appear on midterms and finals. Homeworks for this class will be submitted and returned completely electronically. The written and programming parts of an assignment are submitted by clicking on the submit homework link for your section on the left hand frame of the homepage and filling out the on-line form. I will not accept hardcopies or e-mail versions of your assignments. The written parts of an assignment will be submitted as text documents. Homeworks will always be due by the start of class on the day their due. Late homeworks will not be accepted; however, your low homework score will be dropped.

When doing the programming part of an assignment please make sure to adhere to the specification given as closely as possible. Names of files should be as given, etc. Failure to follow the spec may result in either I or the grader refusing to grade your homework and you receiving a zero for your work. In addition, you should make sure your code conforms with the Departmental Java Coding Guidelines This will be worth one point on every assignment.

Exams

The midterms will be during class time on: Feb 22 and Apr 12.

The final will be: May 20 9:45am-12pm (Sec 1) and May 22 9:45am-12pm (Sec 2).

All exams are closed book, closed notes and in this classroom. You will be allowed only the test and your pen or pencil on your desk during these exams. Beeper or cell-phone interruptions will result in immediate excusal from the test. The final will cover material from the whole quarter although there will be an emphasis on material after the last midterm. No make ups will be given. The final exam may be scaled to replace a midterm grade if it was missed under provably legitimate circumstances. These exams will test whether or not you have mastered the material both presented in class or assigned as homework during the quarter. My exams usually consist of a series of essay style questions. I try to avoid making tricky problems. The week before each exam I will give out a list of problems representative of the level of difficulty of problems the student will be expected to answer on the exam. Any disputes concerning grades on exams should be directed to me, Professor Pollett.

Regrades

If you believe an error was made in the grading of your program or exam, you may request in person a regrade from me, Professor Pollett, during my office hours. I do not accept e-mail requests for regrades. A request for a regrade must be made no more than a week after the homework is returned.

Academic Honesty

You are both allowed and encouraged to discuss general algorithms and approaches to programming problems with your classmates. But these discussions must remain at a high level and not involve actual code being exchanged. In particular, the code you submit as a solution to an assignment must be your own. Plagiarism on homework or cheating on tests will result in appropriate academic disciplinary action being taken. Information on the university policy governing academic dishonesty can be found at http://info.sjsu.edu/web-dbgen/catnarr/policies/n30.html.