Copy into your editor, fill in the blanks, and place in directory /pro/web/web/courses/cs190/2007/handins/1-26/LOGIN2.txt. Replace LOGIN with your CS login. Note the 2 there so that you don't overwrite the first handin! Come up with at least 3 potential projects. ================================================================ Name: Colin Stebbins Gordon ================================================================ Questions/comments about the syllabus or project handout: ================================================================ Project Title 1: Chemistry Stockroom Brief Description Write a stockroom management system, specialized for chemical supplies and similar scientific research purchases, backed by MySQL, with a PHP web interface. Identify Local Users: Chemistry stockroom manager Chemistry/Physics/Engineering grad student Assign a 1-5 score for these criteria Useful to others: 5 Has specific users: 5 Can be scaled up to PC product: 4 Divisible: 4 In C++ in Sunlab (Linux): 3 Overall: 4.2 Pros: Very useful, a clear target audience. Cons: Not that many distinct parts for division, not very C++ heavy (can be done entirely in PHP with MySQL and Apache). Would probably need a few more special features before it could become a commercial project. Also, PHP is a nightmare to debug. ================================================================ Project Title 2: LinuxDJ Brief Description A DJ program for Linux. Currently no decent ones exist. This would be loosely modelled on VirtualDJ, which is a PC product with a Mac beta. It would support audio filters, surround sound balance control, mixing/blending of audio tracks, stretching or compressing songs to match beats (automated), looping based on number of beats, and possibly more, all real-time. Identify Local Users: K. Adam White - amateur DJ Assign a 1-5 score for these criteria Useful to others: 4 Has specific users: 5 Can be scaled up to PC product: 5 Divisible: 5 In C++ in Sunlab (Linux): 5 Overall: 4.8 Pros: A similar, potentially open-source project on a platform where no quality program for this purpose exists. There are existing commercial products doing similar things on other platforms, with room for improvement on features. It has a very specific target user group. It should be easy to break down into components for multiple people to work on (UI, audio filters, audio file management, mixing support, etc.), and is definitely an appropriate project for C++. Cons: Ambitious. Could require real-time support from the kernel in order to make real-time effects and mixing possible. This could come in the form of JACK, some other low-latency audio framework, or possibly a custom Linux kernel module. Also requires some research into sound processing. ================================================================ Project Title 3: Minor League Scheduling Brief Description Software (perhaps a webapp) to schedule baseball games on a per-league basis, using information such as team pairings, wins and losses, available fields, and dates. Must also support rescheduling based on weather cancellations/delays, and wins and losses of a team to alter which team they play next. Identify Local Users: Michael Romauld Assign a 1-5 score for these criteria Useful to others: 5 Has specific users: 5 Can be scaled up to PC product: 4 Divisible: 3 In C++ in Sunlab (Linux): 2 (would be better done in Ruby, Python, or PHP) Overall: 3.8 Pros: Fairly well defined needs, very useful for its audience, requires little if any maintenance beyond inputting availabilities, and adding/removing teams and fields, etc. Cons: Not really an appropriate project for C++ if it ends up as a webapp (which would probably make it more useful). Scheduling is NP-complete. No clear interface for giving the software the data necessary for scheduling - either a cludgy HTML form, or requiring the user to format a text file of some sort seem obvious, but neither is great from a usability standpoint. ================================================================