CS 190 Computer Science Design Project Winter 1998

A. Klinger 3531-H Boelter Office (3532-J Mail Slot) Tues/Thurs 8-10 AM Boelter 5272

Course Organization and Administrative Information

Secretary: Mrs. Rita Drew, 3532-F, <gpham@cs.ucla.edu>, 310 825-1322

URL: http://www.cs.ucla.edu/~klinger


Objectives: Learning to work in a group and set one's own goals. Developing 1) skill at transmitting ideas, and 2) fundamental ethical standards. Acting to innovate and to accomplish things in computer hardware, software, or analytic-models. Enabling students to share their knowledge.

Talks and Reports: Each person gives three or more individual talks to the class: at least two are on the project tasks he/she undertakes. There are many types of first presentations. One can explain a project idea. If needed, a talk can be about any topic of interest to computer science students. (People have used JAVA, registering domain names, CGI scripts, and many other things as talk subjects.) Still most of the talks should describe what you have done in your project design or professional development work this quarter. At least one talk must show something you have done. A very good way to do that is focus on preparing figures, graphs or tables before the talk. Then either by xeroxing them or developing film transparencies you can get your peers to look at your results while you speack about them.

Regular Activity and Course-End Grading: The design project preliminary and final reports contribute about 15 % and 35 % of the course grade. [Portion from preliminary report can be replaced by individuals' quiz scores if a higher grade results.] The rest is: talks, 25 %; participation in discussions, 15 %; peer comments, 10%. Students review each other's progress reports and paper drafts. Attendance is essential: real work takes place at every meeting. The course rewards initiative and quality work.


Initiating a Project: In the first three weeks the main activity can be team formation and project selection. Project teams usually have three or four members and membership can change. Listed projects are open to all. Teams can work on coordinated projects, or do the same project independently. Student-originated projects and those listed must be approved in writing by end of the first three weeks.

Course Requirements: Work with partners on a joint project. Create and hand in two written team project reports. [A preliminary draft is due the sixth week and late after the seventh. The final version is due at the last class.] Give three talks to the class as an individual where two cover project themes and designs, e.g. by discussing the work in-progress, its overall status or some aspect of the job. Class participation is as essential as is the team contribution. Continually confer with fellow students and make use of the instructor's office hours. The third presentation to the class is to gain practice in composing visual materials. Regularly record in a journal your learning steps. Pass the other people in the team or in the class a weekly progress report derived from your journal. At course conclusion submit a letter describing the group experience. The letter should reflect reading others' drafts and weekly progress reports. Take online, midterm and end-quarter quizzes. Review others' drafts, talks and presentations and comment constructively on their work.

Presentations: The course work involves discussions and talks. Students ask questions about, and comment on, each other's work. All project talks give benefits of learning things others know. Many topics put forward in-class are start-points for practice visual-preparation presentations built upon trade-journal, textbook or web-page information. Handouts and lectures will guide reporting, figure-preparation, giving talks and other aspects of computer design innovation.

CS 190 Computer Science Design Project

A. Klinger Spring 1997 Boelter 5280

Web Sources

http:// www.sjmercury.com/ San Jose Mercury News

http://wsj.com/ Wall Street Journal http://nytimesfax.com/ N Y Times

http://www.usatoday.com/ U S A Today http://www.washingtonpost.com/ Wash Post

http://www.latimes.com/ L A Times http://www.msnbc.com/ M S N B C

http://www.pathfinder.com/ Time People etc. http://www.NetPlay.com Net Play

http://www.nist.gov Technology At A Glance

National Institute of Standards and Technology (NIST); U.S. Dept of Commerce, Technology Admin Technology at a Glance, Public & Business Affairs Div, Gaithersburg, MD. 20899-0001 .patent information. (301) 975-3084. Contact: Gail Porter (301) 975-3392

Technology At A Glance, Fall 1996 - NIST Research for Industry

Holograms holographic light diffusing technology ... Physical Optics Corp. (POC) Torrance, Calif.

flat panel computer screens, ... flashlights, projection TV Contact: Patty Shaw (310) 782-1369

Magnetic Recording and Storage Materials Contact: Angela Davies (301) 975-3743

Ocean Organisms The National Aeronautics and Space Administration soon will launch a new satellite ... SeaWiFS (sea-viewing, wide field-of-view sensor) Contact: Carol Johnson (310) 975-2322

A Clock that Resets Itself time and frequency signals broadcast from radio station, WWVB Ft. Collins, Colorado set clocks to a few hundredths of a second ... WWVB-controlled clocks all ... appliances, wristwatches. Contact: Wayne Hanson (303) 497-5233

Food Processing sales exceed.. $400 billion, processed food industry nation's largest manufacturing sector; 95 % cos. in sector have fewer than 500 employees. Contact: Jack Rossan (908) 445-6133

Fire Retardants Contact: Takashi Kashiwagi (301) 975-6699.

Vinegar in the Milky Way spectroscopic measurements Contact: Frank Lovas (301) 975-2385.

Microsensors Sniff Out Gases microsensor arrays .. promise as a reliable, inexpensive method for detecting and quantifying gas concentrations ...real-time industrial process control, environmental monitoring, and analysis of vehicle emissions. Contact: Steve Semancik (301) 975-2606.

Paint monitor lead in paint, soil and dust. Contact: SRM Program (301) 975-6776

Detector Improves Chemical Analysis X-ray microcalorimeter ... scanning electron microscopes at least 10 times better energy resolution. Contact: John Martinis (303) 497-3597

Computer Security Federal Computer Incident Response Capability ... FedCIRC ... expected to be self-funding through subscription fees by end 2nd year. Contact: Marianne Swanson (301) 975-3293

Solar Water-Heating System photovoltaics (&) computer(s)Contact: Hunter Fanney (301) 975-5864

Safer Cars fire hazards to vehicle occupants Contact: Richard Gann (301) 975-6866

Heat Measurements Conductus Inc., Sunnyvale Calif.... sensitive high-temperature superconducting bolometer (measures radiant heat) for infrared imaging purposes. ... infrared video cameras on... satellites ... monitor green-houses gases/global warming Contact: Erich Grossman (303) 497-5102

CS 190 Computer Science Design Project

A. Klinger Spring 1997 Boelter 5280

UCLA Sources

1. Biomedical Engineering Dean MacKenzie <jdmac@seas.ucla.edu>

2. Emeriti Web Page Hank Lin <hanklin@seas.ucla.edu> 310 825-9540, 206-0540 (modest ability to answer questions)

3. Emeriti Prof. Van Vorst <wvanvors@ucla.edu> 310 825-2816

4. Emeriti Dean O'Neill <russ@ea.ucla.edu> 310 825-2977

5. Emeriti Prof. Lyman <lyman@seas.ucla.edu> 310 825-5534

6. Emeriti, Desalination Prof. Glater <glater@seas.ucla.edu> 310 825-0851

7. Electronic Forms Mr. Skewes-Cox <tskewes@saonet.ucla.edu> 310 206-5072

8. Research Admin. Mr. Nidever <bnidever@ocga.ucla.edu> 310 825-7212

9. Disabilities/Computing 310 206-7133

Off Campus Sources

10. Partially Sighted Dr. Ringering 720 Wilshire, Santa Monica 310 458-3501

11.Widney H. S. Dr. French 2302 S. Gramercy Place, LA 213 731-8633

Ms. Baum, Mr. Davis

Projects and Project Starting Points

The following lists examples of projects and overview descriptions. Any project you plan to work on should be described in writing in a similar manner and approved by signature of the instructor by the end of the third week of the Winter Quarter.

1. Innovation. A project that you define completely. To begin, 1) write out your idea, the first sketch: email is ok; 2) give a short talk in class: describing the task; 3) create a draft project description (short title, sentence or two); and 4) present draft to instructor.

2. Seek a Client A project that you base on a customer's needs. Compose a work statement based on the steps in 1. You can find a customer from many sources on or off campus. See items ...

3. People-Finder Create a new special-purpose computer service or tool. Individuals who have lost relatives have exact data: birthdate, name, knowledge of parents, social security number; that could be used to locate a person or determine if he/she is still alive.

4. Extend a Project A project based on reformulating ideas listed below. Compose a revised work statement based on the steps in 1. Start with item from 3. or the list of possible projects 8. to 20..

5. Real-World Projects A project needed by an organization. UCLA's Sponsored Research has projects that will impact research administration throughout the campus. See items 8., 9., and 10..

6. Reach Out A project from discussions with an industrial sponsor. Pick a source of technical information e.g., San Jose Mercury News, Wall Street Journal, L.A. or N.Y. Times, Washington Post, Business Week, Newsweek, Time, Scientific American, Science, Technology At A Glance, etc. See appended URL's. Use information the source provides (company name, person's name, location) to enter into discussions with a potential mentor in industry.

7. Use the Tools A project from the web, email, and phone interaction. (See Web Sources, your own use of URL's, search tools, etc., and National Institute of Standards and Technology (NIST) contacts from the current issue of Technology At A Glance. [In your project: Quality visuals from draw programs. Quality text from spelling and grammar checkers.]

8. Research Administration The R-NET UCLA-IBM partnership. Prototyping and probable deployment of a research administration management system for the campus. For details see Bob Nidever, <BNIDEVER@ocga.ucla.edu> 310 825-7212. To begin, review the future scenarios at URL http://www.research.ucla.edu/Rnet/ .

9. Grants Application Grants Partner, a stand-alone software package that assists faculty and staff in preparing NIH, NSF and DOE grant applications. Allows the user to print federal agency and UCLA pre-award forms. Grants Partner is a database that reduces data input needs. It is in beta testing with a Mac version and is available for download at http://www.research.ucla.edu/era/gpbeta.htm . The project is to describe the most effective way to port the Mac version to PCs. For details see Daniel Hutchinson <DHUTCHIN@ocga.ucla.edu> 310 206-5151

10. Web Database Access, Data Mining Activity

Software needed to support remote access via the web to a number of small databases using Microsoft Access on a server consisting of a Pentium Pro with 64 megs of ram. Second, improve ability of UCLA web users to locate useful information residing on department servers ("who's doing what" in research)

using existing browser-accessible query forms. See URL http://www.research.ucla.edu/profile.htm

and the harvest series of (not user- friendly) programs .

11. Smart Cards. This technology is in the news now: it involves an integrated circuit embedded in a plastic card. Propose a design to interface this new form of money to existing financial institutions and services. Consider expanded use in non-cash situations, e.g., 1.a Re-Chargeable Debit Card, 1.b Debit Card Circuitry, and 1.c Creditable Freeway-Access Card.

11.a Re-Chargeable Debit Card. A secure and non-transferrable card for government-provided services. The design is to replace food stamps and eliminate waste through black market resales that divert tax money to non-food use. Construct software for the recharge process.

11. b Debit Card Circuitry. Create a debit card hardware design.

11.c Creditable Freeway-Access Card. A card for freeway entry along the lines of parking structure access. Card balances can reflect off-peak-use credits (and increased rush-hour-use debits). New balances could be accrued by providing some public service, e.g., park or school aid, recycling, planting trees, etc.

12. City Geographic Information. Investigate the applicability of existing Geographic Information Systems (GIS) to urban planning. Devise an upgrade to some GIS for a growing city. Describe unique features needed by cities in using computer information systems.

12.a Traffic-Flow Oriented Geographic Information System. Develop software that displays information of interest to a land-use planner working in an urban environment. Consider and support tasks such as setting traffic signals, widening roads, building parks, developing bikeways, and landscaping streets and waterways to gain recreational space.

12.b Jitney System. Evaluate route costs for a new mini-van or standard-sedan transportation system to improve non-driver mobility within Los Angeles. Assume five- to fifteen-minute wait times at boarding points. Place an economic value on passenger wait-time, distance to routes, and long-range mobility (from combining this with rail and light rail). Find costs and feasibility from just three hub destinations, L.A. International Airport, Westwood, Downtown L.A. Generate figures based on numerical computer data from a model you build and run.

13. Web and Internet Services. Build a new service that finds a niche market and enables its community to gain access to otherwise unavailable information.

13.a Electronic Commerce Support: Shopping Tour. Create software to imitate a user's shopping based on a profile of interests. Present choices of motion, viewing, and goods-selection in department- and (large, grocery) supermarket-stores; tailor the material to user interests. Software for individuals with disabilities unable to personally visit a store. (Contact Ms. Baum.)

13.b Library Support. ORION is able to take your keyed-in library card number, place a hold on a book that is currently charged out, and send e-mail notification of its availability. A wide range of similar services could be provided to users of national libraries (Library of Congress), information services (LEXIS), and even on-line ASCII text repositories (Project Gutenberg).

14. Shareware. Find a missing category and write software to support some useful activity. Post it to shareware.com [a service from CNET: The Computer Network ... (featuring) Virtual Software Library (VSL) search engine].

15. Accounting Software Integration. Programming to link information between accounting, data base and word processing programs in a Novell 4.1 Network Program, 486/Pentium file-server computer environment. (Assist Center for the Partially Sighted in Santa Monica. See Dr. Ringering.)

16. E-mail Voting. Consider the software needed to take advantage of computer technology to support more efficiency for legislative bodies in managing their conflicting needs for presence at committees and role-calls on the floor of Congress. Consider 6.a Anonymous Secure E-mail Voting and 6.b Preference Voting.

16.a Anonymous Secure E-mail Voting. Allows committees to vote at distance. Keeps ballots by electronic mail secure through sender authentication. Protects anonymity of sender with regard to specific vote on issues. Enables Delphi feedback techniques to obtain consensus.

16.b Preference Voting. Learn about the area of preference voting and support it on computer networks. Consider e-mail and other modes of communication that can narrow down a field of candidates more efficiently than a primary election with a best-two runoff.

16.c Survey Software. System for a member of Congress to survey citizen email-users on current issues.

17. Survey Data-Entry. The project has several tasks and it includes a state of technology survey. Task one is to design software to create survey forms to print on a laser printer. These forms would then be completed by people using pencils and next a scan would extract their responses. The second task is to create detection software to process the scan result, enabling cases where both unambiguous and dual multiple-choice answers appear to yield useful information. The third project task is to create and include in the final report a state-of-the-art digital-scanner survey that takes overall costs into account. This work could lead to an implementation-feasibility study for the UCLA Admissions Office, depending on cost comparisons for this system versus proprietary vendors' form-processing. (An on-campus contact person is available.)

18. Software Aides. Create efficient learning strategies for a technically-trained busy individual who is a modest-level computer-user to become able to exploit most interesting features of network software.

18.a Redundant Data Entry. Eliminate or reduce the need for repeated entry. Build software that easily extracts data made available to one program, and makes it accessible by other software. Consider using UNIX grep/egrep, and other string-search, tools

18.b Help System Make it possible for help systems to allow working in an editor or word-processor to proceed while seeking information about a spreadsheet. Enable logical organization of key ideas such as menus/sub-menus so they can be more quickly-learned.

19. Aiding. Improved computer software for people with disabilities. (See Disabilities/Computing.)

19.a Screen-Reading Software. Provide a form of simultaneous audio and visual feedback from electronic text materials. Objective is to improve reading comprehension. Existing technology includes DOS software for text-highlighting, speech-synthesizer output, and user-control (over speech-rate, text-style, background colors, etc.). People need similar programs that run with other user-oriented operating systems (at least Windows and Mac-OS), and key application programs. A simple low-cost program would benefit millions, with and without learning disabilities. (Many with learning disabilities such as dyslexia can benefit from both audio and visual presentation of information.

19.b. Quiet Braille-Printer Software-Based Quiet-izer. Create audio-generating software to synchronize with the Braille printer and quiet it through sound-canceling.

19.c. Extended Web Browser. World-wide web browsers, present problems for users who work with Braille and sound output. Character-based browsers such as Lynx running via telnet under UNIX are accessible to these users. The client-server version, DOS Lynx, source code is available. Since it needs work to be fully-usable and its developers aren't upgrading it, an analysis of key modules and coding tasks to be accomplished is desirable. (Any upgrade that could result after several terms of CS 190 projects would serve thousands of blind computer users.)

20. Outreach. Many institutions and individuals need computer support. Charities, hospitals, churches, and other volunteer activities need your creative computer contribution. Ask people about their requirements. Try either alone or in a group to write a paragraph about the things that need to be done. Try your brief statement of work out on friends, family, or a member of the faculty in a posted office hour, and refine it.. Many of the items listed here have contact people under 0.4 above.

20.a Emeriti. Create a web site to publicize faculty who built SEAS: A-Z ... or at least Boelter to Yuster

20.b Curriculum to Master Network Tools. Build a learning program to move individuals from e-mail and word-processor computer familiarity to net/web use; see 3. and 8.

20.c Process Control. Model or write a program that supports an on-line or real-time use of computers in a chemical or flow process.

20.d Desalination.Create a computer model of procedures that yield potable water. Investigate via computer simulation how removal of salt from brackish water depends on controllable factors like membrane orientation.

20.e Environmental Pollutants. Military sites like Fort Ord north of Monterey can't be converted to civilian use until pollutants are eliminated. Create software to track pollutant content of land. Devise an aggregated measure of how much degraded soil has had its pollutants reduced. (See voting references.)


Planning, Patents, and Internet

Lumsdaine(s)a Creative Problem Solving, McGraw-Hill, 1995 ISBN 0-07-039091-6

Ulrich/Eppinger Product Design and Development, McGraw-Hill, 1995 ISBN 0-07-0650

DeForest,T., Inventor's Guide to Successful Patent Applications, McGraw-Hill, 1988, ISBN 0-8306-9335-1.

Dern The Internet Guide for New Users, McGraw-Hill, 1995 ISBN 0-07-016511-4-0

Lynch, Daniel C., Rose, Marshall T., Eds., Internet System Handbook,Addison-Wesley, 1993.

Thomas, B., The Internet for Scientists and Engineers, SPIE/IEEE Press, 1996.

Political Process, Voting, and Negotiating

Wells, W., Working With Congress - A Practical Guide for Scientists and Engineers, AAAS, 1996.

Brams, S., Taylor, A., Fair Division .. Cake-Cutting to Dispute Resolution, Cambridge University Press, 1996.

Brams, S., Fishburn, P., Approval Voting, Birkhauser, 1982.

Garcia-Molina, H., "Elections in Distributed Computing System", IEEE Trans. Computers, C-31,1, 1982.

Garcia-Molina, H. and Barbara, D., "How to Assign Votes in a Distributed System", J. ACM, 32, 4, 1985.

Lamport, L., "The Byzantine Generals Problem", ACM Trans. Programming Lang. & Systems, 4, 3, July 1982.

Matsumoto, T., "Chaos in Electronic Circuits", IEEE Proceedings, 75, 1987.

Fisher, R., Ury, W., Getting to YES, Houghton Mifflin, 1981.

Cohen, H., You Can Negotiate Anything, Lyle Stuart, 1980.

Business and Marketing

Merrill, R., Sedgwick, H., The New Venture Handbook: Everything You Need to Know to Start and Run Your Own Business, Revised, AMACOM/American Management Association, 1993.

McKeever, M., How to Write a Business Plan, 4th ed., Nolo Press, 1992.

Moore, G., Crossing the Chasm: Marketing and Selling High-Tech Products to Mainstream Customers,

Harper Collins, ISBN 0-88730-519-9, 1995.

UCLA Gopher List

1. Anthropology/ 2. Applied Linguistics/ 3. CSE/CRESST Research on Evaluation/

4. Celtic Studies/ 5. Center for International Relations-Institute on Global Conflict an../

6. Center for Medieval and Renaissance Studies/ 7. Center for the Study of Religion/

8. Chemistry and Biochemistry/ 9. Chicano Studies Research Center/

10. Chicano/LatinoNet/ 11. Classics/

12. Comparative Literature/ 13. East Asian Languages & Cultures/

14. Economics/ 15. Egyptology/ 16. English Department/

17. French/ 18. Geography / 19. Germanic Languages/

20. Graduate Division/ 21. History/

22. Humanities Computing Facility/ 23. Humanities Division & Departments/

24. Institute for Social Science Research (ISSR)/ 25. Laboratory of Neuro Imaging (LONI)/

26. Lesbian, Gay, Bisexual, and Transgender Resources.

27. Librarians Association of the University of California (LAUC-LA)/

28. Library and Information Science/ 29. Life Sciences and Cognitive Sciences/

30. Math/ 31. Near Eastern Languages & Cultures/

32. Office of Research Administration/ 33. PC gopher server (eMIC)/

34. Philosophy/ 35. Physics/ 36. Political Science/

37. Purchasing/ 38. Slavic Languages/ 39. Social Sciences Computing/Division (SSC)/

40. Sociology 41. Statistics/

42. TESL (Teaching English as a Second Language) & Applied Linguistics/

How Can the UCLA Gopher List Be



Four-Letter Check Points

Each item here uses only four letters.

Perseverance and small incremental steps can move toward a goal.

1. I ASK

Take an active role in the project by constantly questioning in two ways. First, reflect on things you are working on (worthwhile? ... being done fully and completely?) Ask about other projects. Second, try to gain clarifications, understanding of ideas, new tools to use, skills. Pursue your interests. Use books.

Questions are the starting point of knowledge.

Ask questions, make inquiries. Periodically ask yourself "What have I done to seek out information."


All projects require assistance from an outside source at some time. That can be in the form of funding, legal advice, marketing and sales, or technical knowledge.

The most effective people are highly-able to benefit by help from others.

Find ways to benefit from others' knowledge.


While doing a complex job requires a lot of time if one is alone, it can be speeded by the efforts of others.. Cooperation involves subordinating rights, privileges and feelings to an obligation to the common effort. Successful cooperation is measured by accomplishing specific actions.

Focus on finding partners and on learning to be a good partner yourself.

Working out a division of responsibility and methods to monitor work performed by others.


Since you are in the business, you might as well put your fullest effort forward. If you believe you can do it, you may. If you believe you can't, you won't..

Believe that it is worthwhile to make the effort to achieve.

Decide in advance what characterizes your will.

5. IS IT?

Everyone wants to know what they must do. Is it done? Is it long enough? What do you require of us?

It is up to you to set the goals for the effort.

Search out the reactions to your work of customers or fellow students. Learn to sense from whatever is being said about your work by others, whether the work is on track and closing in on a destination.

6. DONE!

The test of whether you have something done, is if you can describe it in writing so that another person can understand, evaluate, continue, complete, or build upon the effort.

Write a weekly progress report, anything from a paragraph to a few pages.

When you have something finished, even if it is a failed search, document it.

7. SHOW.

Make up items to show to others. That activity stimulates refinement, extension of work done.

Compose visuals, figures, tables, charts, or even an outline-style graphic.

There is a big difference between computer output and data transformed into a figure or a chart.

8. TELL.

Selling is an aspect of any effort. Learn to judge when the work done should be exposed to others.

Talking about your work accelerates its completion.

Give a talk: it enables interchanges about the work and leads to gains from others' ideas.

9. IT IS.

Hammer out a common stance to the job. Use partners' individual task accomplishments to support overall goals. The group is responsible for producing something of value.

Get to the finished state by neutral, nonjudgmental solicitation of all partners' opinions, and then seeking agreement among the group members.

Create group agreement that the efforts led to results that fairly represent the original idea.

10. COST.

What is needed to make your design a real product? Completion costs involve time involved and rates of compensation.

List any additional resources that would lead to a more rapid or better quality product.

Consider whether other paths could yield a similar result at less expense.

11. STOP.

The effort taken is a start down a direction.

Present your group effort in the finals session of the course.

Don't. stop: keep on with this or another effort to design a new computer resource.