The purpose of this project is to assimilate the various topics and
tools discussed in the course through a programming project of modest
difficulty with practical value. The project involves writing a program
to assist with advising of Computer Science students. The program will
access student grade information from a flat database (in CSV format)
of student transcripts and display the
course checklist
for the Computer
Science major with grades filled in for the courses that the student has taken.
See Transcript.csv
for an example of the file format (the example contains grade information
for two students). The filled in checklist should be viewable as a web-page
and the final implementation should allow users to request the filled-in checklist
through a web interface.
Okay, some nitty-gritties: You will each have 265proj.html in your public_html
directory, that gets an ID and does the work, or calls another script,
whatever. We will be looking at these pages to grade the interface
portion. You will provide a README that describes accurately
but briefly how data is passed around, who reads the transcript file and
how, etc. We will test the back end locally. (I know, some of you did this in
one fell script. Don't worry, we'll figure it out.)
Students may work on the project in teams of two students. Before beginning the implementation, a design document must be created. The design document should indicate the various tasks that the program must do, a decomposition of the tasks into components, with well-defined interfaces between the components. In addition the document should provide an outline of the implementation, including the implementation language, and indicating who will implement the different tasks. Finally, you need to come up with a test plan that indicates how the program will be tested.
Listen carefully. Only one team member will submit all the files listed below. At the top of the README he/she will list his/her partners name and userID.
The partner not submitting the code will still submit a single README, as above, just listing his/her partner's name and ID.
Place your solution in a directory called project. Your directory should contain a file called README that describes all of the files in project and summarizes what you did. Make sure to indicate if any of the problems were not done or are not working. The README file should list all team members. Each student in the team should submit the project.
Include all of the following:
All assignments should be submitted using webct. You should submit your gzipped tar file, which will be called finalProj.tgz.