Harvey Mudd College

CS 133 Term Projects

23 March 2004, Revised 31 March 2004

 


Project Number 1

Title: Course and Room Scheduling

Client: Professor Tad Beckman, possibly the registrar and others

Complexity: 2-3 persons

Status: All requirements would need to be elicited.

Team: Aaron Homer, Ryan Reigel, Justin Dolier

 

Develop a database for organizing the college's teaching schedule.  We're still using FileMakerPro as our basic tool with the Department Chairs Committee, 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).

 


Project Number 2

Title: Student/Alumni Connection

Client: Ms. Karen McAndrew, Director of Career Services

Complexity: 1-2 persons

Status: Requirements would need to be fleshed out.

Team: Krislin Lee, Jonathan Huang

 

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

 


Project Number 3

Title: Hardware/Software Installation Tracking

Client: Brooke Bassage-Glock, Engineering System Administrator

Complexity: 1-2 persons

Status: Requirements would need to be elicited.

Team: Adrian Mettler, Gabriel Neer

 

I have a number of various types of hardware to maintain... printers, computers (faculty, staff, and labs), scanners, and other misc, in addition to about 20 different software applications.

 

The information changes on all of these things, with various levels of my knowledge.  I have been dreaming of a centralized, web-based database in which I could record all the data about the hardware and software.  I have most of it in various spreadsheets, on scraps of paper, and in my head. So, i'd love to have some help getting this started.  If it is php and mysql, we can host it on the engineering dept server, and I could maintain

it after the students are done working on it.

 

[Note: Computer Science, and possibly other departments, could probably also make use of such a tool. Š Bob Keller]

 


Project Number 4 (see also Project Number 8)

Title: Grading Database

Client: Professor Melissa OÕNeill

Complexity: 1-2 persons

Status: Requirements would need to be elicited.

Team: Nick Taylor

 

For each class, there are assignments, and for each assignment there are tasks that should be done (some of which may be optional), and for each task, there are both positive and negative things that might need to be reported.

 

Both before and during grading, course staff should be able to extend the list of tasks and positive and negative issues.  Some grading rules may be conditionally enabled or disabled by others. Also during grading, course staff should be able to add examples showing examples of these positive and negative issues, along with partial credit.

 

The interface would be a web-based system that could present all the grading rules on a single page, with additional pages to easily add new rules and subrules.

 

The system should also be able to produce a grading report showing the grading for a given student for a given assignment, and a summary of all the grades for a single assignment.

 


Project Number 5

Title: Matchmakers

Client: Professor Geoff Kuenning

Complexity: 1 person

Status: Requirements would need to be fleshed out.

Team: Dan Marley

 

[Note: I suggested that this might be generalized to some kind of table-driven matchmaker that would permit adaptation to a wide variety of applications or scenarios. Then it might become a 2-3-person project. Š Bob Keller]

 

I run a pair of Web sites that really ought to be DBs, but I don't know enough about SQL et al to convert them. The sites can be viewed at:

 

http://lasr.cs.ucla.edu/geoff/cruisecrew

http://lasr.cs.ucla.edu/geoff/musicianfinder

 

The first is packed with sample data.  The second is less popular, but has a fair number of entries. I would really like to move them to Mudd, since I'm fairly worried that the current server may go away.

 

Both are basically friend-finders.  The first is the earliest.  From a DB point of view, it divides the world up into continental areas, which are prespecified by me.  Continents are then divided into "regions", which are created by users.  Within a region, anybody can post "boats looking for crew" or "crew looking for boats" requests.

 

The musician site has the same idea, except that it further divides posts by instrument.  You can look either for any musician in LA, or for flautists in LA.  Building that site made it painfully clear that what I really need is a good database query capability, so you could ask for things like flautists who double on piccolo and are available for Tuesday-night rehearsals.

 

I have a cron job that cleans up old postings every night, based on an expiration date chosen at posting time.  That's a necessity.  For the musician site, there is also a little regular-expression matcher that mails me whenever something is posted that looks like it is inappropriate; I use that to make garage bands go elsewhere.

 


Project Number 6

Title: HMC Bulletin

Client: Ms. Stephanie Graham, College Relations

Complexity: 1-2 persons

Status: Requirements would need to be fleshed out.

Team: George Kuan, Alice Liu

 

I'm interested in having a database in which I can track all of the persons, topics and events printed over the years in the HMC Bulletin. This will help me to re-visit important items in a timely fashion, not repeat certain stories and profiles already printed, and to come up with new or updated stories. It would also serve as historical documentation and easy reference for those wishing reprints of specific articles.

 

Possible fields:

Publication name

Publication date

Article name, page, section, main topic, persons featured

Writer

Photographer

Number of photos, subject of photos

Notes about the issue

 

Examples of information I'd want:

 

A list of articles about a certain person, including page numbers and publication dates

The number of times a certain topic was covered, the names of the articles and publication dates and pages

All articles written in a certain year

All articles written by a certain author

List of photos on a certain subject, page number, publication date

All articles in a certain issue

All articles written by a certain author

All photographs by a certain photographer

 

I would be the primary user and reference person, though it could be accessible to my colleagues in College Relations should they need to look something up.

 


Project Number 7

Title: Student Payroll

Client: Professor Mike Erlinger, Ms. Joyce Greene

Complexity: 1 person

Status: Requirements would need to be elicited.

Team: Chris Weisiger

 

I would like to see the student timesheet system converted to an online database system.  Joyce and students jump through a number of hoops to get time charges into the system.

There are a number of records, etc., that could be put into a database.

 


Project Number 8 (see also Project Number 4)

Title: Class Homework/Grading System

Client: (suggested by Ed Heaney; a client would need to be identified)

Complexity: 2 persons

Status: Requirements would need to be elicited.

Team: This project was not selected, although Project 4 was.

 

This project is to create a database that will hold a class's students, graders, and homework problems. It will allow the Professor to add new assignments with questions to the database. This will allow students to view the assignments and submit answers to the questions. They will also be able to submit questions or comments. The graders and professors can then view the comments and answer them, as well as grade the submitted homeworks. Students would be able to view the answered questions, as well as their grades.

 


Project Number 9

Title: Clinic Bug Tracker / Feature Assignment

Client: (suggested by Ed Heaney; a client would need to be identified)

Complexity: 2 persons

Status: Requirements would need to be elicited.

Team: This project was not selected.

 

Clinic Bug Tracker / Feature Assignment

 

This would be a simple database application that would allow a clinic team (and liaisons) to submit bug reports about their clinic project.  Also, they would be allowed to post things about the bug such as priority of the bug, who is assigned to it, when it should be fixed by, if it's fixed, etc. Also, in addition to bugs, this could be used to list feature implementation. Another possible application is to set notifications on certain bugs/features, so that people interested in it can receive status reports by email. (Such as when clinic team member resolves the bug, an email is sent to the team leader and who ever reported the bug).

 


Project Number 11

Title: Clinic Directors and Corporate Relations Database

Client: Professor Bob Keller
Complexity: 1-2 persons

Status: Requirements would need to be fleshed out.

Team: Ed Heaney

 

This relates to data similar to the clinic data we had in class, except that there would be more entities, namely prospects and the ability to track calls made on prospects, with reports on the call, etc. It would need to be on the web and be very user friendly. It would be used by at least 6-9 people involved in the process.

 


Project Number 12

Title: Event Security Tracker

Client: Colin Marsh (suggested by Brian Bentow)

Complexity: 2-3 persons

Status: Requirements would need to be fleshed out.

Team: Brian Bentow, Yu-Min Kim

 

Colin Marsh is the head of student security. Coin and the Deans want a system that would enable students to enter their 2 guests into a web UI and store the information in a database. All students on the 5 C will be in the database along with the guest information.

 

Entities

 

Students attributes - first name, last name, school, year, age, problems, guests, phone number, account restrictions

 

Guest - first name, last name, sponsor

 

Student Security Guards - first name, last name, parties worked . . .

 

Party - name, date, time, responsible parties, location

 

Reports - students name involved, information, date, time

 

After the event, the deans want automated statistics reporting, for example:

 

Total # of students that attended the party

# of guests

Incidents

Students incidents and prior history

# of Students from each college

# of 21 year olds who attended the party

 

User Interfaces:

 

We will need a web UI for the students to enter in their guests. Students will use their name as the username and id # as the password like the library MyBlais system. We will also need an administrative UI and a tool that will access the database info on the night of the party. The deans have allocated $3000 for this app that includes money for the laptop, card swiper, and the development costs.

 

Technologies to be used:

 

Postgresql database on odin

Php for web UI

Visual Studio for tool

Php for admin UI

 


Project Number 13

Title: Web Store Management

Client: Jon Goldis

Complexity: 1-2 persons

Status: Requirements would need to be fleshed out.

Team: Jon Goldis

 

I discussed this with Jon, but I donÕt have many details at this point, other than a database already exists, but it is not normalized, etc.

 


Project Number 14

Title: D&D Spell Database

Client: D&D Community

Complexity: 2 persons

Status: Requirements would need to be fleshed out.

Team: Jacob Seene, Selene Tan

 

This project is to create a database containing the spells for Dungeons & Dragons 3.5 Edition role-playing system. Currently, the information is only contained in an alphabetized listing in the PlayerÕs Handbook for the system. This makes it difficult to search for spells of specific domains, types, effects, etc. The database should be accessible through a web-baed interface where search criteria and options may be selected to produce a list of matching spells. Additionally, the list can be sorted by any of the spell properties. As an added bonus, users may select which, if any, metamagic feats may be applied (allowing the modified spells to appear on the output list). The database should minimize the space required to store all of the necessary information with as little repetition as possible. This database would serve the Dungeons & Dragons role-playing community.

 


Project Number 15

Title: School System Database

Client: Kathy Merdian

Complexity: 1 person

Status: Requirements would need to be fleshed out.

Team: Brian Merdian

 

There exists little quality software for keeping track of basic K-8 school information like student information, attendance, accounts receivable (eg, tuition, late fees, fees, fees, fees).  The problem is further compounded for religious grade schools: most preexisting software is targeted towards public schools.  Additionally, most preexisting software -- targeted towards either public or private schools -- leaves much to be desired in both database design and user interface.

 

My proposed project is a database for K-8 religious schools that tracks:

 

 

 

 

 

There should exist user security so that not all users can access sensitive financial information; some can only see and not post attendance; etc.  A web interface would be ideal for functionality that must be accessed by many users -- such as attendance, so that any teacher could post and lookup attendance information.

 

The project should use a "real database": Microsoft Access or the moral equivalent is unacceptable.

 

Sample data abounds: I have worked for my Catholic grade school for the last two years fixing their existing database system and I have developed a "randomizer" to scramble names and addresses for sample data dumps.  The existing system needs a complete overhaul.

 

 


Project Number 16

Title: Generalized media catalog

Client: TBD

Complexity: 2 persons

Status: Requirements would need to be fleshed out.

Team: Erika Rice, Michael Vrable

 

Many of the existing systems for cataloging media have limited feature sets (for example, they can only catalog books) or are proprietary or expensive.  The goal of this project is to develop a database for cataloging media including books, audio (CD and cassette), video (DVD and cassette) and software.  In addition to storing the obvious data for each media type, it will also be able to track who currently possesses an item, and it will keep track of what items different users have used recently to aid in, for example, helping a user find a book she has not

read in the last year. 

 

The interface will be a web interface which will allow media items to be entered or edited, allow users to indicate that they are possessing or returning an item, and allow various queries of the system including searching for media that fits certain criteria, determining who currently possesses an item, and finding items that were recently possessed by a user.