Dr. Eric Berkowitz

 

Eric Berkowitz

Associate Professor

Assistant Chair, Department of Computer Science
and Information Technology

Director, Network Computing


Roosevelt University

Department of Computer Science and Information Technology

ROOSEVELT UNIVERSITY

COLLEGE OF ARTS AND SCIENCES

DEPARTMENT OF COMPUTER SCIENCE AND TELECOMMUNICATIONS

 

CST 365/465 -- Network Application Programming


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

Office:

Room 631

Office Hours:

Wednesday 3:00 - 6:00 PM

E-mail:

eberkowitz@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) Metlapalli

Java Server Pages Illuminated

Jones and Bartlett

978-0763735920


2) Thinking in Java 3rd Edition  http://www.faqs.org/docs/think_java/TIJ3_c.htm


Recommended:

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 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.

 

Grading:

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. Failure to submit homework will result in a failing grade.

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. 1.Your Name and Student ID

  2. 2.Your class and section number

  3. 3.Your level Graduate/Undergraduate

  4. 4.The date the homework was assigned

  5. 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. 1.Your Name and Student ID

  2. 2.Your class and section number

  3. 3.Your level Graduate/Undergraduate

  4. 4.The project number and date assigned

  5. 5.If project options were available you must list which options you elected  to complete.

  6. 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.

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 disciplinary procedures.

Topics


The following is a tentative non-contractual, planned schedule and flow of the course.  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.


Be aware: There will be no class meeting on Wednesday night September 28, 2011.


Week 1

The Programming Basics


Topics:

  1. Introduction to the Neteans IDE

  2. Brief Overview of This Course

  3. An Introduction to the Organization we will be working with

  4. Introduction to Java Programming  (Using NetBeans)

    1. A rational discussion of Java's merits and shortcomings, the reasons behind them, and its place among programming languages.  

    2. The Basics (what you already about programming but now in Java)

      1. Structure of a program.

      2. Required program conventions for this course

      3. Basic data types.

      4. References (Pointers...?)

      5. CBV/CBR

      6. "static"  What does it really mean?

      7. Output statements: println vs. printf 

      8. Standard streams in, out, err  (What you CS 1 teacher never told you)

      9. Ubiquitous control structures:

        1. if/then/else 

        2. do/while, while/do, for

    3. Strings

    4. File I/O


Reading Material:

  1. JPI Chapter 1

  2. TIJ Chapters 3, 12

  3. TIJ The String and StringBuffer Classes



Week 2

Program Structure



Topics:

  1. The nature of a Java Program.  Cutting through the OOP hype.

  2. Classes and Instances

  3. Methods -- yes. They're just functions

  4. HTML Forms

  5. Return values, the "bit bucket", and required conventions for this course.

  6. Overloading - the truth about another over-hyped programming tool.

  7. CGI

  8. Exceptions:  What your CS 1 teacher should have told you about error handling

  9. HTML - The bread-and-butter of programming for the Web.

Reading Material: 

  1. JPI Chapter 2

  2. TIJ Chapter 9

  3. JPI Chapter 3


Week 3

Client Side - The Modern Browser

  1. Introduction to the WWW

  2. Background - why we are trying to put a round peg in a square hole.

  3. Introduction to Servers/Browser

  4. Introduction to HTML

  5. Basic HTML

  6. Text Formatting

  7. Lists

  8. Tables/Fancy formatting with tables

  9. Links

  10. Styles

  11. JavaScript and the programmable browser

Reading Material:

  1. Using HTML 4 Chapters 4,5,8,11

  2. Basic HTML Tutorial from 1Key Data

  3. Style Sheets

  4. JPI Chapter 3


Week 4

Server Side -- The Servlet Engine


Topics:

  1. Appending Data to HTTP Get

  2. HTTP Post

  3. HTML Forms - Post Get, history and idiocy

  4. Web Applications and A

  5. Active Pages

  6. Sever Insecurity

  7. Servlets and JSP


Reading Material: 

  1. Using HTML 4 Chapter 13,34,35

  2. JPI Chapter 4

  3. Murach Chapter 3 and 4

Week 5

The Application
Forms, Data, Communication

Topics:

  1. JSP vs. Servlets -- pro's and con's or how to choose.

  2. Scope and Standard Objects: page, request, session, application

  3. Oh' Yeah  What's a session?  

  4. JSP directives

  5. Form Processing


Reading Material:

  1. JPI Chapter 6



Week 6

Summarization, Experimentation,
Project Assignment

Week 7

Midterm

Week 8

Handling Data

Topics:

  1. JSP Variables and Scope

  2. What to do with data -- it was never meant to be there so where do we put it?

  3. Cookies  -- Are they watching you......

  4. Other options for data. Client side, Server side, Serial data (XML)., Db

  5. Introduction to Beans


Reading Material:

  1. Murach Chapter 4

  2. JPI Chapter 7

Week 9

Project Work/Lab Time/Selected Topics

Week 10

Ethical Issues

Topics:

  1. Hackers, Idiots and Evildoers

  2. Security

  3. Reliability

  4. Stability

  5. Data Validation

  6. Tainted Data

  7. Errors and Exceptions

  8. Keeping Your Errors to Yourself

  9. How to Loose a Customer in 60 Seconds or Less


Week 11

An Advanced  Application

Topics:

  1. The structure of a real application

  2. The flow of a real application

  3. Debugging -- no it isn't always so easy  so where should you look first

  4. MVC is it just more hype?

  5. What is all of this about tag libraries?


Reading Material:

  1. Java Server Pages hour 20


Week 12

Project Work/Lab Time/Selected Topics

Week 12

Lab Time, Review, Questions

Week 13

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


Topics:



Reading Material:

  1. TBA

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


Additional References on Helping Kids Learn to Build Web Sites


Web Development in the Classroom: Web Site Building for Kids! (Thanks to Mrs. Fowler's fourth grade class).