Independent Study Opportunities

Winter and Spring 1998 --- David G. Kay

I have a broad range of projects for students to work on independently. For each, there is some flexibility on the number of units and the precise form your participation can take.

Many of these involve Java and the Web, so if you're interested in developing or honing those skills, here are some chances. For more information, please get in touch with me.

ICS is currently considering some changes to the first-year courses, including the use of Java and Windows NT machines. Once these changes become official, opportunities for projects will include developing new courseware and lab assignments, porting existing code, evaluating new support software, and more. Stay tuned to this page for further details.


Automatic Assistance for Evaluating Student Programming Assignments

It's hard (perhaps impossible) for a human being to read a computer program of any size and know how well it works, yet instructors of courses that require programming assignments must perform this task routinely.

Some tools exist to assist in this and similar tasks, for example by running each student's program against a suite of test cases and collecting the results or by comparing students' programs to detect possible plagiarism. Participants in this project will investigate existing tools, design new tools, and port or implement them in the ICS environment, perhaps using Java. (Some work has already been done on this project, but students are needed to carry it on.)

Concepts involved

[If you know some of these already, that's good; if not, you may have the opportunity to learn them.] Java, Web forms design and scripting, various network programming skills.

Requirements

Upper division standing, 3.0 GPA, interest in and aptitude for system-building (and pedagogical administration)

Hashing Visualization

It would be nice to see how evenly a hash function distributes keys throughout a hash table. This project involves developing a program, probably as a Java applet, that allows its user to specify a file of keys and a hash function and presents a clear graphic representation of where those keys end up in the hash table. (Of course there are issues of table size and collision resolution schemes that might be hard-coded at first and parameterized later on.)

Concepts involved

Hashing, Java

Requirements

3.0 GPA and a good sense for visually clear and appealing displays.

TeX to HTML Conversion

This project involves converting a large base of text in the TeX typesetting language to HTML for Web publication.

Concepts involved

[If you know some of these already, that's good; if not, you may have the opportunity to learn them.] TeX, HTML, large Web site design and organization, scripting or other automated tools for document conversion

Requirements

3.0 GPA, excellent organizational skills and attention to detail

Security and Privacy on the Internet

Most people use the Internet as if nobody's watching. They may read news groups dealing with private problems (such as socially stigmatized diseases); they may download sexually suggestive information; they may visit sites run by non-mainstream political groups; they may send personal Email to their friends or family. The typical user, sitting alone at his or her computer, probably thinks this information is private.

But there's no guarantee of that. Does the service provider promise to keep the information confidential? Even if so, would its employees turn down $10,000 from the National Enquirer for a peek at the supposedly confidential records? Even many technically savvy users may not be aware of copies and traces left by a user's internet activities in newsrc files, caches, system backups, or statistics gathered about net traffic.

Public figures or government officials certainly should be concerned about these issues, but "normal" people too might be the subject of queries from prospective employers or even social acquaintances.

The task here is to develop a guide for computer users, detailing the potential privacy pitfalls and recommending steps to take to protect one's privacy on the net.

Concepts involved

Operational details of network software, including news, Email, and Web browsers; backup policies and strategies

Requirements

Upper division standing, 3.0 GPA, something of a secret agent or hacker's mentality---an ability to ferret out traces of system activity

Other Projects

I am always interested in hearing other ideas for projects.
David G. Kay, 408E Computer Science
Department of Information and Computer Science, University of California, Irvine
Irvine, CA 92697-3425. (714) 824-5072 --- Fax (714) 824-4056 --- Email kay@uci.edu