CS 580 Client-Server Programming

Spring Semester, 2009


Course Web Site

© 2009, All Rights Reserved, SDSU & Roger Whitney

 San Diego State University -- This page last updated 1/21/09

CS 580 Syllabus







Office Hours

Roger Whitney

GMCS 561


whitney at cs.sdsu.edu

4:15-5:15, 8:30-9:30 pm Tuesday & Thursday

Course WWW Site : http://www.eli.sdsu.edu/courses/spring09/cs580/index.html

All course handouts will be delivered via WWW at the above URL.

Texts : Java Network Programming 3 nd , Harold O'Reilly

VisualWorks Internet Client Developer’s Guide, NetClientDevGuide.pdf in the VisualWorks distribution.

Course mailing list : A list server is used to email important messages to students in the course. Instructions for subscribing are on-line at the course web site.

Prerequisites : CS570, Java, Smalltalk, Ruby or C#. Note CS576 is recommended but not required . While students may chose to use C# it is an unsupported language. That means C# will not be used in lectures, students have to provide their own machines with C# compilers and little if any technical support on the language will be provided.

CS580 is an advanced undergraduate course. We will be covering topics from a number of other 500 level courses: CS514 Database Theory & Implementation, CS 532 Software Engineering, CS535 Object Oriented Programming, CS551 User Interface Environments, CS570 Operating Systems, CS574 Computer Security and CS576 Computer Networks & Distributed Systems. You will be required to understand a lot of diverse material and apply it in programs. While CS580 does not require a lot of prerequisites, it does require a high level of programming skills. In the past students without strong programming skills have found the course overwhelming and this was reflected in their grades.

In the recent past a number of students have claimed to know Java but had little working knowledge of the language. This has had a negative impact on their grades. February 11 is the last day to drop the course. After that date it is nearly impossible to drop the course. Grades in this course are based only on performance of the student. Problems with languages (English and/or Java) are not considered in assigning grades.

Late Policy : Late homework will be accepted, but with a penalty. An assignment turned in 1-7 days late, will lose 3% of the total value of the assignment per day late. The eight day late the penalty will be 40% of the assignment, the ninth day late the penalty will be 60%, after the ninth day late the penalty will be 90%. Once a solution to an assignment has been posted or discussed in class, the assignment will no longer be accepted. Late penalties are always rounded up to the next integer value.

Grading : Your grade in this class will be based on homework and programs and one exam. There will be between 4 and 8 programming assignments. Missing a programming assignment may drop your course grade by at least two full letter grades. Some assignments in this class may seem easy at first glance. This causes some students to delay starting the assignment. Often they find out too late that the assignment is harder than they think, which hurts their grade.


Percent of Grade

Homework & Programs




Note that CS 580 is an undergraduate course. In an undergraduate course a C is a passing grade. A students ranking, undergraduate or graduate student, is not considered when determining grades.

Course Outline :

  1. Source Version Control

  1. Testing

  1. Network Basics

  1. GUI

  1. Client Development Issues

  1. Concurrency

  1. Server Types & Structure

  1. Client-Server Protocols

  1. Logging

  1. Databases

  1. Security

  1. Web based Applications

  1. CGI, Fast-CGI, Servlets

  1. Web Services

  1. Advanced topics

No Extra Credit : There will not be any extra credit assignments. There will not be any extra credit problems in the assignments.

Cheating : Any one caught cheating will receive an F in the course and they will be reported to the SDSU Judicial Procedures Office.