Links
Course Documents
     Main Page
     Assignments
     Contact Information
     Course Announcement
     Course Participants
     Discussion Forum
     Lecture Material
     Previous Course
     Project
     Questionnaires
     Schedule and Syllabus
     Swiki Basics
Swiki Features:
  View this Page
  Edit this Page
  Printer Friendly View
  Lock this Page
  References to this Page
  Uploads to this Page
  History of this Page
  Top of the Swiki
  Recent Changes
  Search the Swiki
  Help Guide
Related Links:
     Atlas Program
     Center for LifeLong Learning and Design
     Computer Science Department
     Institute of Cognitive Science
     College of Architecture and Planning
     University of Colorado at Boulder
John DeRiggi & Serina Croll

Assignment 4

February 4, 2001

Assignment 4

Initial Project Ideas:


John and I are torn as to exactly which project we want to do. For now we have looked at two of the projects as explained in the project descriptions given out by Eric and Prof. Fischer.

Gathering information from Geographic Information Systems


EDC problems typically involve some geographic or spatial component. Both the EDC domains (transportation, flooding) and the representations (maps, diagrams) are well suited for geographic information. There is a wealth of existing data in Geographic Information Systems (GIS) that professionals often use as part of their decision making process. Capturing and using this information could help improve the authenticity of some of the situations discussed in the EDC. Information such as census information, maps, expert models, and other GIS data could be tapped for use in an EDC planning task. In this project, you would look at what information exists in GIS systems and how this information could be used within the EDC. You would explore information such as finding the information that exists and the challenges of extracting and interfacing with existing tools. Relevant resources may include US census data and Boulders GIS resources. One example design challenge would be determining tradeoffs between importing data and having multiple tools used in a query process.

And our second choice:Empirical Study of CodeBroker


One of the major advantages brought by object-oriented programming languages is class libraries that contain hundreds or even thousands of classes and methods that can be reused by programmers. However, mastering such library classes and methods presents huge learning challenges for programmers. It is impossible for programmers to learn all of them before they start programming. A practical approach is for them to learn on demand, namely, to learn a new class or method when it is needed during work. To support learning on demand, we need to re-think the design of the interface of class library systems. Such library system interfaces must be able to make programmers aware of the existence of the classes and methods that they do not yet know but can be reused in their current programming tasks.

CodeBroker is a library system that supports Java programmers in learning classes and methods on demand. As an autonomous software agent, CodeBroker continuously runs in the background of the programming editor–Emacs. It infers the task of programmers by analyzing the doc comments and signatures (syntactic definitions of methods) entered unto the editor, and autonomously locates and proactively delivers classes and methods that can possibly be reused in the current programming task. To ensure that only the classes and methods the targeted programmer does not yet know would be delivered, CodeBroker uses user models to represent each programmer's existing knowledge of the library. Because each programmer's knowledge changes, a user model in CodeBroker updates accordingly as the system learns from analyzing programs written by the user (programmer).

The CodeBroker system has been implemented and initially evaluated. More information, including a one page description and usage scenarios, can be found at http://www.cs.colorado.edu/~yunwen.

The project for this class is to empirically study the usefulness and usability of the CodeBroker system.

Uncontrolled Long-Term Study. Project members need to recruit voluntary programmers who program in Java quite often to use the CodeBroker system (runs in Linux). CodeBroker can automatically log most of the interactions between the user and the system. The goal of this study is to understand the impact of CodeBroker on programming in natural settings. Project members will periodically collect and analyze logs from users for quantitative analysis, and interview users to evaluate qualitatively the usefulness of the system.
Findings from those studies will lead to the improvement of the system and better and more efficient ways that programmers learn and reuse library classes and methods.

As a third choice:


We have also talked about creating some type of project that involves a web based programming environment. A system that allowed a user to write a program in Java without having to download a development environment or a compiler. Basically that work would take place on the server side. This technology would allow users to create quick programs. We also discussed the possiblity of using an environment like this to teach kids to program computers. Many existing programs for teaching programming are designed for one user. We would stress collaboration and problem solving in an environment that was fun and easy to use.

Assignment 4

View this PageEdit this PagePrinter Friendly ViewLock this PageReferences to this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide