Instructor:
Dr. John R. Sullins
Office hours:
Monday and
Wednesday
Friday
Or by appointment
Office: 314 Meshel Hall
Phone: (330) 941-1806
Email: john@cis.ysu.edu
Web site: http://cis.ysu.edu/~john/
Check
the web site regularly, as assignments and announcements will be posted here.
Description:
Configuration of web server software and the use of server-side programming. Server-side scripting in languages such as PHP and Java Server Pages. Database access and drivers. Security issues, including access control and secured transmissions.
Objectives:
Prerequisites:
o CSIS 2617: Data Structures and Objects or CSCI 6901: Principles of Computer Programming, or equivalent experience with programming. It is assumed that you are familiar with the basic concepts of object-oriented programming and software development.
o CSIS 3722: Development of Databases, or equivalent experience with databases. Most server-side programming involves storing/accessing client-submitted information in a database.
Note that it is permissible to take CSIS 3722 concurrently with this course.
It is also assumed that you are familiar with html at least at a level
covered in CSIS 1590 (including html tables), as we will be using the
server-side tools to dynamically generate html response pages.
Textbooks:
Required:
Optional:
Programming Assignments:
There will be 3 or 4 web server assignments during the course, in order to introduce you to server pages, servlets, and session management. These can be implemented on your home computer by installing the Java SDK, Jakarta Tomcat, and MySql software from the web. As with any other programming course, work on these assignments must be your own. See the policy sheet for more details.
Final Project:
The latter portion of the course will involve implementation of a multi-page web site of your own design, possibly as part of a group. This site will be a model-view-control architecture involving server pages, servlets, and sessions, as well as at least one other advanced concept (such as database access or mobile device design). More details will be provided later. .
Grading:
Exam 1 (date
TBA)
|
20% |
Exam 2 (date TBA) |
20% |
|
Server Programming Assignments |
30% |
|
Final Project (due last day of class) |
30% |
Last day to
withdraw with a "W": Thursday, October 30.
Tentative Course Outline:
|
WEEK |
TOPICS |
|
8/25 |
Introduction to client/server programming concepts, the Jakarta Tomcat web container |
|
9/1 |
Introduction to Java Server Pages (no class Monday) |
|
9/8 |
Advanced JSP tags and concepts; Simple form handling |
|
9/15 |
Introduction to Java servlets |
|
9/22 |
Error handling, validation, and redirection |
|
9/29 |
Server-side site structure, modular site design, servlet mapping |
|
10/6 |
Session management, implementing shopping carts |
|
10/13 |
Client-side session management: cookies and URL rewriting |
|
10/20 |
Sever-side database drivers; Java Database Connectivity programming |
|
10/27 |
Efficient database access; The model-view-controller pattern for web server design |
|
11/3 |
HTTP requests and responses; Understanding client capabilities |
|
11/10 |
Designing content for mobile devices; WURFL and WALL |
|
11/17 |
Using the Java Standard Tag Library in WALL; Server-created email |
|
11/24 |
SSL and secure connections; Authentication and access restriction |
|
12/1 |
Final project testing and presentation |