CST 365/465 -- Network Application Programming

Syllabus ________________________________________ ERIC G. BERKOWITZ

Review Notes
Click HERE to see any review notes or other material posted after the lectures.


Room 631

Office Hours:

Tueday  3:30 - 6:00 PM

E-mail: --Please use a relevant subject line and put your FULL NAME in the body of any e-mail you send in order to distinguish it from the multitude of e-mail viruses.



1) Metlapalli
Java Server Pages Illuminated
Jones and Bartlett

2) Thinking in Java 3rd Edition

Java How to Program Sixth Edition Deitel and Deitel

Computer access

Students will be given accounts on one or more CST servers. The use of these accounts is subject to the Roosevelt Network Users Policy and the CST Network Users Policy. Copies of the CST agreement will be distributed on the first day of class. Copies of the Roosevelt Network Users Policy can be received from SCT or from lab aids in the public access labs.


The course is intended to teach students about the Internet, World Wide Web and a Web application programming.  This semester this course will take the form of a Service Learning course.   While we learn about Web application programming we will also learn about the working of a non-profit organization dedidicate to helping the developmentally disabled.  We will see how to apply what we learn in this class by helping this organization improve its presence on the Web.



The class will be a combination of lectures, assignments and guided study, and weekly project work. Homework and reading will be assigned each week. Students are required to expand upon what they learn in class, to ask questions, and to pursue independent study guided by the project work. Quizzes may be given periodically to assess students' assimilation of the course material. Students will be given a final project to be presented at the last class meeting of the semester.


Graduate students are required to investigate technologies beyond those discussed in the classroom and to incorporate them as a substantial enhancement to the functionality of their projects. This must be done under the guidance of the instructor. Graduate students will need to document the technology they have chosen and how it was integrated into the project.



Homework: 20%, Quizzes: 15%, Midterm: 15%, Projects 50%

A student's grade for the class will be limited by his/her grade on the projects.  For example:  A  grade of C will limit the student's grade in the class to be no higher than a C.

Letter grades are assigned according to the following mapping:
91-100: A, 81-88: B, 71-78: C; 61-68 D
90: A-, 89: B+, 80:B-, 79: C+, 70: C-, 69: D+, 60: D-

Instructions for submission of Homework and Projects:

Homework submission:

 All homework must be submitted in duplicate.

Homework not submitted in the correct format will not be accepted.  No exceptions.    Homework must be submitted cleanly, neatly and on-time.  Each homework assignment must be stapled.  No paper-clips or bent-corners will be accepted.
The homework assignment must have a coversheet with the following information on it:

  1. Your Name and Student ID
  2. Your class and section number
  3. Your level Graduate/Undergraduate
  4. The date the homework was assigned
  5. Any other information requested when the assignment was given.  
Your name must not appear anywhere but on the cover page.

Project Submission:

Projects must be submitted cleanly, neatly and on-time.  Projects must be closed in a 9x12 mailing envelope or interoffice mailing envelope.  Other forms of submission incuding pocket folders, binders, regular mailing envelopes, etc. will not be accepted for grading.

All projects materials should be inside the envelope.  A cover sheet must be stapled to the outside of the envelope with the following information:
  1. Your Name and Student ID
  2. Your class and section number
  3. Your level Graduate/Undergraduate
  4. The project number and date assigned
  5. If project options were available you must list which options you elected  to complete.
  6. Any other information requested when the assignment was given.

Your name, and Student ID must not appear anywhere except on the cover sheet.  They must not appear in a comment in the program listing.


Regular attendance and participation is required. A student who is compelled to miss class for any reason must find out what he or she missed and acquire material from classmates. Missed tests and homework cannot be made up.


Deadlines and Due Dates:

Students are responsible for making sure materials are submitted on or before any due dates. Late work is not accepted. Students should submit the completed portion of any assignment by the stated due date. If you cannot be in class the day an assignment is due you must submit your work at an earlier time. 

 Americans With Disabilities Act (ADA)

If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact the Office of Disabled Student Services, 310 Herman Crown Center, 312-341-3810, or e-mail as early as possible in the term.

Academic Honesty:

Students are required to familiarize themselves with Roosevelt University's policies regarding academic honesty.

Students are expected to apply themselves and their previous experience and knowledge in this class. A student who does this will produce projects and homeworks that are uniquely his/hers and unlike those of any previous or current students. While students are encouraged to help one another, collaboration on assignments to be submitted for grading is prohibited and will be considered a violation of academic integrity unless the students involved have requested and received prior consent from the instructor.

 Depending on the severity of the violation, an instructor may fail a student  on the individual assignment or test, may lower the student’s grade in the  course, or may fail the student in the course. More details on the University's policies on academic honesty may be found in the Student Handbook.

The policy for this class is to issue a failing grade for the course on the first instance of academic dishonesty and to report the violation to the provost's office for further disiplinary procedures.


The following is a tentative schedule and flow of topics.  In the best interest of the students in the class it may be necessary to deviate from this schedule or list of topics during the semester.

Week 1

The Programming Basics


  • Introduction to the Neteans IDE
  • Brief Overview of This Course
  • An Introduction to the Organization we will be working with
  • Introduction to Java Programming  (Using NetBeans)
    • A rational discussion of Java's merits and shortcomings, the reasons behind them, and its place among programming languages.  
    • The Basics (what you already about programming but now in Java)
      • Structure of a program.
      • Required program conventions for this course
      • Basic data types.
      • References (Pointers...?)
      • CBV/CBR
      • "static"  What does it really mean?
      • Output statements: println vs. printf 
      • Standard streams in, out, err  (What you CS 1 teacher never told you)
      • Ubiquitous control structures:
        • if/then/else 
        • do/while, while/do, for
    • Strings
    • File I/O

Reading Material:

Week 2

Program Structure


  • The nature of a Java Program.  Cutting through the OOP hype.
  • Classes and Instances
  • Methods -- yes. They're just functions
  • HTML Forms
  • Return values, the "bit bucket", and required conventions for this course.
  • Overloading - the truth about another over-hyped programming tool.
  • CGI
  • Exceptions:  What your CS 1 teacher should have told you about error handling
  • HTML - The bread-and-butter of programming for the Web.

Reading Material: 

  • JPI Chapter 2
  • TIJ Chapter 9
  • JPI Chapter 3

Week 3

Client Side - The Modern Browser

  • Introduction to the WWW
  • Background - why we are trying to put a round peg in a square hole.
  • Introduction to Servers/Browser
  • Introduction to HTML
  • Basic HTML
  • Text Formatting
  • Lists
  • Tables/Fancy formatting with tables
  • Links
  • Styles
  • JavaScript and the programmable browser

Reading Material:

Week 4

Server Side -- The Servlet Engine


  • Appending Data to HTTP Get
  • HTTP Post
  • HTML Forms - Post Get, history and idiocy
  • Web Applications and A
  • Active Pages
  • Sever Insecurity
  • Servlets and JSP

Reading Material: 

Week 5

The Application
Forms, Data, Communication


  • JSP vs. Servlets -- pro's and con's or how to choose.
  • Scope and Standard Objects: page, request, session, application
  • Oh' Yeah  What's a session?  
  • JSP directives
  • Form Processing

Reading Material:

  • JPI Chapter 6

Week 6

Summarization, Experimentation,
Project Assignment

Week 7


Week 8

Handling Data


  • JSP Variables and Scope
  • What to do with data -- it was never meant to be there so where do we put it?
  • Cookies  -- Are they watching you......
  • Other options for data. Client side, Server side, Serial data (XML)., Db
  • Introduction to Beans

Reading Material:

Week 9 Project Work/Lab Time/Selected Topics

Week 10

Ethical Issues


  • Hackers, Idiots and Evildoers
  • Security
  • Reliability
  • Stability
  • Data Validation
  • Tainted Data
  • Errors and Exceptions
  • Keeping Your Errors to Yourself
  • How to Loose a Customer in 60 Seconds or Less

Week 11

An Advanced  Application


  • The structure of a real application
  • The flow of a real application
  • Debugging -- no it isn't always so easy  so where should you look first
  • MVC is it just more hype?
  • What is all of this about tag libraries?

Reading Material:

  • Java Server Pages hour 20

Week 12

Project Work/Lab Time/Selected Topics

Week 12

Lab Time, Review, Questions

Week 13

Ergnomics Delivery and Testing
The Promise and Reality of The Development Cycle


Reading Material:


Week 14

Lab Time, Review, Questions
Selected Topics

Week 15

Project Presentations

Additional References:

Using HTML 4 Chapters

Basic HTML Tutorial from 1Key Data

Style Sheets
Sun Java Tutorial
Mirror of JDBC Tutorial From
 SQL Tutorial from 1key Data
JSP Quick Reference - 9 Pages
JSP Quick Reference - 2 Pages

Herong's Notes on JSP

For Completeness even though we will not cover JSTL in this class
JSTL Quick Reference - 13 Pages
JSTL Quick Reference - 2 Pages