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
Payal Prabhu

Homework 12

Due: Monday, March 4th 2002



Supporting Reuse by Delivering Task-Relevant and Personalized Information

Pre-Reading



  1. How many programming languages have you used?

    I have used LOGO, Pascal, C (some amount), Basic, Perl, Awk, Java (some amount), Unix shell script and Python.

  2. In your experience, what is the most difficult part of learning a new programming language?

    When learning new languages, it is hard to understand the coding scheme of that language. Another problem I often face (though trivial), is to sort out the subtle differences in style between languages that I know .. the syntax sometimes gets muddled-up!

  3. Have you ever found that you have accidentally implemented a function that is in the library already?

    Yes this happens often while learning a new language. The easiest example I can think of is when I wrote a function to sort an array (simple yet roundabout) and after submission I found out that there was a library function called "sort" that I could have easily used and saved myself some head-banging.


Post-Reading



  1. What do you find interesting about the article?

    The idea of explicitly capturing information from documentation is nice, but what is more interesting is getting information by discourse implicitly from the actions the user performs while using the system. This idea of "sneaking up" on the user (sounds devilishly mischievous) to see what would be useful to him/her in the present action space is definitely awsome.

  2. What do you find not interesting about the article?

    (again a question - maybe we should add a "Do you have any questions?" part)

    Even though these reusable systems have definite advantages, most of the burden rests on the programmer (for example) to do documentation, and to use the presented information (by codebroker) so that the system can be trained to develop user models. This seems like a chicken-or-the-egg problem. If the system doesnt give me relevant information (relevant to my current action) right now, why should I keep commenting my code (in the hope that it will help me sometime down the line)? Do we rely on intrinsic motivation?

  3. Do you have any ideas how this research could / should be extended based on your own knowledge and experience?

    If no feasible solution is available for our reliance on intrinsic motivation, it would be interesting to (almost) force the user to "rank" the presented information in order of actual relevance to the given task. This forced ranking would only require to be done in the first few attempts at building accurate user models until the system gets an accurate idea (from active feedback) about what type of information the user really wants and uses.


    One of the ways possibly (without being intrusive) would be to monitor the time spent on each suggested piece of information; if the user spends less than 5 seconds on a "link" and spends 2 minutes on another, we could deduce the latter to be more relevant to the task at hand and build better user models.


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