ROOSEVELT UNIVERSITY

COLLEGE OF ARTS AND SCIENCES

DEPARTMENT OF COMPUTER SCIENCE AND TELECOMMUNICATIONS

 

CST 365/465 -- Web Programming I 

Syllabus ________________________________________ ERIC G. BERKOWITZ


Weeks in review
Click HERE to see a retrospective showing what was covered in class or to learn what the homework was. AKA 20/20 hindsight.

Office:

Room 631

Office Hours:

Monday, Tueday, Wednesday  3:30 - 6:00 PM

E-mail:

eberkowi@roosevelt.edu --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.

Texts:

 



1. Teach Yourself JavaServer Pages 2.0 with Apache Tomcat
By: Mark Wutka, Alan Moffet, Kunal Mittal
Pub date: 11/2003
ISBN: 0-672-32597-7
2. 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.

Description:

The course is intended to teach students about the Internet, World Wide Web and a Web application programming.

 

Format:

The class will be a combination of lectures, assignments and guided study, and project preparation. 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 of web technologies. Quizzes may be given periodically to assess a student's assimilation of the course material. Students will be given a final project to be presented at the last class meeting of the semester.

 

Each student will be submitting several homework assignments during the semester as well as a final project. Each student's grade will depend upon meeting specific milestone dates during the semester. Due dates for the following will be assigned:

 

1.      Project Proposal.

2.      Project Design.

3.      Project Prototype.

4.      Self Progress Evaluation.

5.      Beta Demonstration.

6.      Complete Documentation.

7.      Project Submission.

 

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.

 

Grading:

Homework: 10%, Quizzes: 15%, Midterm: 15%, Projects 40%, Final Exam 20%

Homework, Quizzes, Midterm Exams and the Final Project  must be submitted at then end of the semester in a Portfolio as described below.

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.

Attendance:

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 nlitke@roosevelt.edu 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.

Reading Instructions:

If you have read this far in the syllabus you are doing quite well. Unfortunately, each semester, several students submit work that is of lower quality than that which they are capable of submitting for no other reason that the fact that they did not completely read all of the instructions including any hints and guidelines at the end. No matter how complete, true, and explanatory an answer is, it only gets credit of it actually responds directly and completely to the question that was asked. Please! In all homework, assignments and exams, read all instructions and only then begin to work. After completing your work re-read the instructions to ensure that you have done all that was asked and in the manner specified. Rewrite the questions and instructions for yourself as a check-sheet and check off each section if you believe this will help.

Topics

The following is a tentative schedule and list 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.

 In the following table JHP refers to the class text Java  How To Program.

Week 1

The Programming Basics


Topics:

  • Introduction to the Neteans IDE
  • Brief Overview of Web Programming Options
  • Discussion of GUI Programming: OS-API, SWING, Browser
  • 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

Reading Material:

  • NetBeans IDE Field Guide
  • NetBeans Keyboard Shortcut Chart
  • JHP Chapters 2,3,4,5



Week 2

Program Structure

Topics:

  • 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
  • String - The bread-and-butter of programming for the Web.

Reading Material: 

  • JHP chapeters 3,6,8,13,29


Week 3

Topics:

  • 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

Reading Material:


Week 4

Dynamic and Applications on the Web
Interactive HTML Elements


Topics:

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

Reading Material: 

Week 5

Summarization, Experimentation,
Project Assignment

Week 6

Midterm

Week 7

JSP Revisited

Topics:

  • 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

Reading Material:

  • Java Server Pages  hours 8,9,12

Week 8

Data

Topics:

  • 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

Ethical Issues

Topics:

  • 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 10

A real Application

Topics:

  • 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 11

Servlets

Topics:

  • The Request
  • The Response
  • The Rest is Up to You

Reading Material:


Week 12

Lab Time, Review, Questions

Week 13

Applets -- Beginning To Leave The Browser


Topics:

  • AWT and Swing
  • AWT for Web Applets
  • Controls
  • Events/Event Handler
  • The Applet Sandbox

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 www-db.stanford.edu
 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