CS 133 Project Info You will have the remainder of the term to develop and complete your term project. Homeworks will be reduced, but class meetings will continue, with project reporting interlaced with lectures. I will develop a time-table for the reports. They will mostly be oral stand-up reports, rather than formal write-ups. Teams can consist of 1-3 students. We'll try having the teams self-select rather than assigned by me, but if you have two people, please consider inviting someone with whom you have not worked to be on your team. Let me know if you would like to be put on a team or if you can use another member. The size of team should be commensurate with the challenge of the project. I reserve the right to approve the teams and projects, and to re-balance if necessary. The list of students in the class is at the end. I will post a list of topic suggestions from members of HMC faculty and staff immediately after spring break. Copied at the end of this is the solicitation that I sent to them. In addition, I will entertain suggestions from class members, starting now. Note that the suggestion does not have to be one that you personally are interested in doing. However, it should observe the same guidelines as in the solicitation. The project should result in working software, robust enough to withstand use by users who are not the developers, and requiring minimal maintenance after it is delivered. Since we don't have as much time as for, say, a CS 121 final project, the requirement of design documents will be reduced. However, I would still like to have: 1) Project overview and requirements 2) Use cases (brief) 3) E-R diagram or UML class diagram 4) User documentation, including for the administrator 5) Code ------------------------------------------------------------------------------- Here are three sample project descriptions. Interaction with the proposers would be needed to flesh them out: A Database for Organizing the College's Teaching Schedule We're still using FileMakerPro as our basic tool with the DCC but it has some clear weaknesses. A "strong" database should be able to automatically check for room & time conflicts as well as to cross-check for courses that (because of requirements) shouldn't conflict with each other. [An even "stronger" database should be able to optimize the schedule across rooms, times, and days instead of allowing things to bulk up in perennial slots like MWF 10 and MWF 11 (when it's impossible to find an empty room).] Alumni/Student Connectivity My proposed project is a web-based alumni connections piece whereas students could access information provided by alumni through a password protected site and search on employer, geographic location, fellowships received, grad schools attended, willingness to assist students/alumni with the job search process, etc. Additionally, there would be a component that would be accessible only by career services staff where alumni could indicate their willingness to participate in the career fair, come to campus to speak with students, assist with resume writing workshops, etc. I would initially distribute a survey to alumni requesting the information and seeking their permission to make it available to students/alumni. Room Reservation System Replace the current on-line room reservation system (which may be found at (http://www-fm.hmc.edu/vems/) to provide for greater user friendliness and responsiveness. [Note: There are components of this that are viewable only by Facilities and Maintenance which we don't see. I'm not sure how extensive they are, but we can find out.] ------------------------------------------------------------------------------- Solicitation follows: Dear HMC faculty and staff, The course CS 133, Databases, is about to enter into its project phase. Students will design and implement database applications, in teams of 1-3 students. The students are juniors and seniors. Most, but not all, have already taken our Software Development course. If you have a software application that you would like to see implemented and you believe it has a database at its core, I would like to consider it for inclusion in the list of project suggestions. Here are the general preferences. (The *'ed items may be hard to judge, but I am willing to do the estimation myself based on your project description.) The user-interface is ideally web-based, rather than based on specific proprietary software platforms (such as a windows-specific interface). The application and trial data should be accessible to me and the class, although you will be afforded a password protection capability to control access once the project is complete. Sample data must be readily available. Ideally, you would include some or a reference to it, in the project description. * The overall application must be completable within the remainder of the semester. * The database aspect cannot be too simple. For example, it should require, say, 8-20 tables, rather than just a couple of tables, when normalized. (While you may be thinking of your data as just one big table, normalization is used in design to store that big table as a number of smaller ones for reasons of ensuring efficient storage and reducing certain kinds of anomalies.) * The bulk of the work should be in the area of database design, rather than in supporting application code. Although the user interface can be non-trivial, it should not dominate all other aspects of the project. While the team can write some simple computational modules, this should not be the main focus of the project. The team can, however, "stub" application modules so that you can have them coded by someone else. (Your database would be initially hosted on an open-source non-proprietary database management system, such as PostgreSQL or MySQL, probably on our departmental server. If you need it on a proprietary system, it would be up to you provide the necessary development system and software licenses. Also, as I understand the current state of Cars/CX, we would not be able to interface with it at this time, as desirable as that might be.) ------------------------------------------------------------------------------- List of students follows: Brian Bentow Justin D'Olier John Goldis Edward Heaney Aaron Homer Jonathan Huang Terry Kim George Kuan Krislin Lee Alice Liu Daniel Marley Brian Merdian Adrian Mettler Gabriel Neer Erika Rice Ryan Riegel Jacob Seene Selene Tan Nicholas Taylor Michael Vrable Christopher Weisiger