Project: NVCC Open Class Inquiry

1. Name your initial file (the one the user begins with) index.html, index.asp, or some other suitable name that indicates which is the beginning file of your application.  As in the NVCC open class inquiry, create a framed site in which one frame displays a form that asks the user for input like the NVCC open class inquiry (term, course number, and campus).  The user should be able to select a single campus or display all campuses.  When the user clicks a button, the available sections of that course should be displayed in the other frame. You can require the user to enter information in a specific format (e.g. case and spaces) -- that is, your program need not accommodate variations from this format. 

Do this by creating one or more Active Server Pages pages using JavaScript.  The ASP pages will connect to a database that contains information about courses and display one or more records from the database.  Which records are displayed will depend on the information entered by the user on the form.  Only course sections for which there are empty spaces should be displayed.  The Active Server Pages should reference the database in a way that is portable from one platform to another, e.g. by using the MapPath() method of the Server object.  If no sections are available, a message should be displayed to that effect.

2. You will probably want to create the database in Access.  If you want to host your ASP site on www.brinkster.com, your database must be in a folder called db.  In this database, create one or more tables with the following pieces of information: course number (e.g. IST227), section number, index number, term, year, campus, and number of available spaces.   

2. Enter into this database some data -- you can use actual NVCC data or make it up.  The data should have sufficient variation so as to test whether your program is working correctly -- e.g., if year is one of the entries that the user enters on the form, the data in your database should have at least one entry with a year different than the others.

Simplifications

You may want to code a simplified version of the project and once that is working, save the working simplified version for possible submission to me should the full scale version of the project not be attainable.  Create another copy of everything and modify this copy to remove some or all of the simplifications.  What simplifications you use are up to you, but some that come to mind are the following:

1) Hard code the course availability information in server-side JavaScript rather than using a database.
2) Hard code the course availability information in client-side JavaScript rather than using a database.
3) Rather than dynamically writing the course availability information, create a separate .html page for each possible user request

Enhancements:

You can get an "A" on the project without doing anything more.  However, if you feel so inclined, you can include enhancements.  Some enhancements that come to mind are the following:

1. Create a form on a web page which allows one to modify information in the database.

Submission

1) Transfer your project to your and email me the link no later than noon Monday, May 6th.  You will lose 10 points if it is late, and an additional point a day for every day it is late.  Also email me the links for the text of your ASP file(s).  I must be able to view the text of your .asp files.  Also email me the link to your database.  Do not at this point create a link to your project from your schedule page. 
2) On Tuesday, May 7th (the day of the final) create a link to your project from your homework page.  You may make changes to your project after 9am Monday but you run the risk of these occurring after I have graded the project..  There is some possibility I might ask you about your project as part of your final exam.

If you make extensive use of code which is not your own, indicate the source of it in comments.  Do not use Dreamweaver  behaviors (JavaScript functions).  You do not need to comment every line of code, but put comments in where it might not be obvious what you are doing.

Revised: May 5, 2002