Summer Research with Sam Rebelsky

This document provides an overview of the summer projects I have available for Grinnell students and the expectations I have of my summer students.

This page may be found online at http://www.math.grin.edu/~rebelsky/Department/samr-summer-2000.html

Contents

Preliminaries

Approximate Schedule

Spring

Summer

Priorities

There are, unfortunately, a number of conflicting issues I must consider as I choose who to accept for summer research. While one goal is certainly to enhance my research, summer research also helps students, the department, and the institution. My approximate priorities are as follows, although I will certainly take some students from ``lower'' categories before taking every student from a ``higher'' category.

  1. Prior summer research students. These students know my project well and clearly have the background to ``hit the ground running''. All of them have papers accepted to EdMedia. I will probably make these students work on different subprojects than they've worked on in the past.
  2. Students in the class of 2001 on track to receive honors. One of the requirements for honors is that students complete research in computer science. (Students also need a 3.4 overall GPA, a 3.5 in CS, an extra 300-level Math or CS course, both 211 and 213 and probably some other things I've forgotten.) I'd like to make sure that students who meet all the other requirements also meet the research requirement. Because international students are not eligible for REUs, I am more likely to take international students who meet the other honors requirements.
  3. Students in the class of 2002 or 2003 likely to participate in the project for multiple summers. I'd like at least one student who will be in category 1 the following year.
  4. Students whose background shows they will be particularly productive members of the project team.

Because women are underrepresented in computer science, I will strive for some gender equity in the mix of students I select. I hope this will encourage more women at Grinnell to participate in computer science and, as they go on to successful careers, that they will further encourage other women. Note that I do not plan to take ``less qualified'' women; my experience has been that we have an exceptional number of qualified students of both genders.

Requirements

I have very high expectations of my Summer research students. Among other things, I expect my students to begin their ``summer'' research during spring semester and continue their ``summer'' research into fall semester. By applying for summer research you are agreeing to meet these expectations if I take you on as a research student. You will not receive explicit credit or compensation for work in the spring and fall.

Spring

Summer

During the summer, you are expected to work full-time on the project (40-50 hours per week for ten weeks). This work will include regularly-scheduled group meetings.

Project Categories

As many of you know, my research focuses on hypermedia systems, particularly hypermedia systems in education. I look at technologies for building Web pages, transforming existing Web pages, adding interactivity to Web pages, and analyzing Web page usage. The core parts of the system are:

This summer, I expect to have students work on three of the following four project categories. Students will select the category they wish to work on, design the architecture for their portion of the project, implement their design, test and analyze it, and collaborate with other students on linking parts of the project

  1. A logical visual editor. This tool is intented to help authors indicate the logical role of each piece of text (e.g., ``this is a book title'') separately from the physical representation of that piece of text.
  2. Extensions to and analysis of Web Raveler. While Andrew has done an outstanding job on building the initial Web Raveler architecture, there is much more to be done.
  3. Project Clio. The system that logs web usage predates Web Raveler and must be rewritten to take advantage of Web Raveler
  4. Algorithms for positioning annotations. Since Web pages change, our annotation system must accommodate changes to annotated documents. The current implementation has a relatively simplistic algorithm for placing an annotation in a changed page. A better algorithm (or heuristic) is needed.

Logical Editor

Too often, when people write with word processors, they emphasize the appearance of text. In most cases, the appearance is used to indicate an underlying logical role for the text. To make these roles more clear, we hope to permit authors to specify roles and readers to specify appearances for those roles. Currently, draft versions of SATIRIC and Siteweaver support such separation. However, they require some technical knowledge to use.

Students who choose to work on this subproject will design and implement a ``logical text editor'' that makes it easy for all users to indicate the logical role of any and all the text in a document. It is likely that students who work on this project will need to study the XML standard and the related XHTML and CSS standards to consider their relationship and applicability. Students must also plan and conduct user testing to understand the strengths and weaknesses of their editors.

Web Raveler

The Web Raveler project emphasizes customization of existing web pages, particularly to make web use more interactive. Pages are intercepted by the Web Raveler system and then updated using Web Raveler plugins. The initial design of Ravel requires server-side processing, but it's likely that we'll move more toward client-side processing.

Students who choose to work on this subproject will extend the existing system. In particular, they will help make Web Raveler more distributed, allowing it to run on individual personal computers (Windows, Macintosh, Linux, HP/UX) and to turn individual pages into limited ``self ravelers''. They will also build a number of new plugins for Web Raveler, including tools that reformat pages to eliminate frames or tables, a Cookie Monster that allows readers to turn off cookies on their browsers and closely specify what sites do and do not send cookies, and a Account Assistant that will remember accounts and passwords for various sites. Students may also build a Change Analyzer that keeps track of the pages that readers visit and sees how those pages change.

Students working on this subproject may also consider security issues and perform tests to determine the overhead imposed by Web Raveler and its various plugins. It is also likely that students working on Web Raveler will closely consider policies for permitting page authors to limit page modifications.

Students working on this subproject will also be expected to fine-tune the primary Web Raveler plugins: the annotation system and Blazer.

Clio

The Clio project is concerned with tracking and analyzing student use of course webs and other Web materials. A prototype of the tracking component was developed in summer 1998. It must be rewritten (more-or-less ``from scratch'') to take advantage of the updated design for Web Raveler.

Students who choose to work on this subproject will initially emphasize the construction of the logging system. Afterwards, they will turn to Visualization and Analysis. Given the mass of data collected by Clio, it will be important to provide mechanisms by which faculty (and other interested parties) can explore these data.

Algorithms for Positioning Annotations

Our annotation system permits readers to annotate pieces of text on a Web page. However, Web pages change. How can we ensure that the annotations remain associated with the appropriate piece of text? Our current heuristic relies on a context: surrounding text. We need to more carefully consider the structure of the document and potential changes to the surrounding text. A recent WWW paper suggests that existing heuristics are relatively primitive.

Students who choose to work on this subproject will develop and analyze algorithms for placing annotations. In preparation, they will need to identify and study algorithms already in place. Working with the Web Raveler team, they will also identify sets of changed pages to use in a testbed for positioning algorithms.

Students who work on this subproject will also be expected to update the annotation system to use their new heuristics and to bring that system to a state in which it can be used by others.

Applications

Applications must include answers to some preliminary questions as well as a description of the project you wish to undertake. Applications are due Monday, February 21, 2000. I will make decisions by March 17, 2000 or within a week of receiving funding approval from the college, whichever comes later. Decisions will include a wait list (in case some of those offered a Summer project decline). If you are offered a position, you must decide whether or not you accept by April 7, 2000.

Preliminaries

  1. Name
  2. Major and Year
  3. This research requires some preparatory work in Spring, and some followup work in Fall, as described in this document. Will you, to the best of your ability, do this work, even though it includes uncompensated work in the Spring and Fall?
  4. What courses have you taken in computer science?
  5. What other courses have you taken that will contribute to your ability to do this project?
  6. What programming languages do you know, and how would you rate your ability to use each of these languages?
  7. How would you assess your writing skills?
  8. What other applicable skills or background do you bring to this project?
  9. Experience shows that group projects are more successful. If I find someone with a similar project, would you be willing to work with that person?
  10. If circumstances dictate that I need to support projects other than the one you've proposed, would you be willing to work on another project?
  11. Is there anything else you'd like me to know?

Project Description

Write a few paragraphs describing the project you'd like to undertake this summer. Make sure that you note how it relates to my overall research project. You should also discuss technologies you will rely on (languages, other programs, etc.) and some of your preliminary design ideas. You must write these paragraphs even if you intend to do one of the suggested projects, since your project description will show me how you intend to approach the project.

History