Heather Neilson
Canadian Distributed Mentor Project
Summer Research 2005 - UBC Computer Science
 
Weekly Journal Entries


May 3 - 6

This week I got set up in the lab, and was introduced to the other undergrads who will be working in the Laboratory for Computational Intelligence (LCI) at UBC this summer, as well as a few graduate students who are working on the ACE project. I spent a few days reading up on the history of the project, and looking at the code. I still have a long way to go before I have a thorough understanding of the inner workings, but I am now familiar with some of the algorithms and graphics components I will be working with.


May 9 - 13

I've made a few changes to the interface, and come up with some new ideas for the questions that the program prompts the user with to encourage self-explanation. I am still reading about Bayesian networks and probability theory, and attempting to understand the inner workings of the model.


May 16 - 20

I am now learning about Bayesian networks and probability propagation. I also reviewed the ACE student model in more detail and updated the documentation of the network hierarchy.


May 24 - 27

I've spent a lot of time this week reading Artificial Intelligence: A Modern Approach, in particular the chapters on uncertainty and probabilistic reasoning systems. I have learned more about the bayesian network used in the ACE program, and the information is gradually beginning to sink in. I attended a talk by Christina Merten, a grad student who is working on ACE; she discussed the addition of the eye-tracker as a means to gain additional information about whether or not a student is learning while using ACE. I have also joined the User Modeling and Adaptive Interfaces (UM-AI) reading group, which meets once a week on Tuesdays.


May 30 - June 3

After some more reading, and a lot more thinking about bayesian networks and conditional independence, I have started testing the probabilities in the ACE network. I have written a few small debugging functions, and I am studying the results of different interactions.


June 6 - 10

This week I have mostly been testing and debugging. I have also been working on some interface modifications, and I am currently learning how to create a dialog for selecting options from a tree. On Monday I heard a talk on constraint-based inference by Leif Chang.


June 13 - 17

I tracked down and solved a problem that was causing prompts to be popped up several times in a row. With that fixed, I tested a lot of probabilities in the network to see if they were changing appropriately, and made sure the prompts were being generated when they should be. Fortunately, some problems I had noticed earlier weren't there any more. I also converted a dialog from list format to tree format, although there is still one bug to be fixed with that. Alex Gray gave a very interesting talk on Thursday about the new algorithms he has been developing to solve problems, such as whether or not dark energy exists, that involve very large data sets (eg. maps of the universe).


June 20 - 24

I have now fixed a few more bugs in the program, and made some small improvements to the algorithm that decides when a user is not thinking enough about the function and should be prompted. I heard a great talk by Saleema Amershi about CIspace, a new software tool for teaching artificial intelligence.


June 27 - 30

This week I worked on lots of bits and pieces. I've improved a few cosmetic issues and tried some new colour schemes. I have also started on an overhaul of the hints provided by the model, including wording and the algorithms for choosing which hint to give.


July 3 - 7

I'm almost finished fixing up the hints now, there are just a few small bugs to work out. The hints are much less repetitive, and rotate through the concepts that the user has not explored well. I have also added to the program help files, and updated some of the screenshots and images in them. I worked Sunday to Thursday this week, so that I can have a long weekend to go to the Calgary Stampede!


July 11 - 15

I have found a few new problems that seem to have arisen during the last week, so I'm trying to track those down. I also had the opportunity to help out with a user study for another piece of educational software, Prime Climb. Prime Climb is a game designed to help grade 6 and 7 students learn about common factors. It makes use of a pedagogical agent that models the user's emotions and engagement. In this study, we used biometrics to measure arousal and facial expression during game play.


July 18 - 22

This week I worked out the last couple of bugs in the hint algorithm. I'm still working on one important problem involving the system timer being recorded when it has not been set, causing a crash. I also developed a not-very-elegant solution to the problem of not being able to put superscript (for exponents) into the heading of a dialog box; I'm using an image of the equation, created in MS Word, instead of a string. On Thursday I helped with the Prime Climb experiment again, and on Friday afternoon I had my wisdom teeth removed.


July 25 - 29

I spent a fair bit of time visiting the dentist this week, and helping with the Prime Climb study again on Thursday and Friday. In between all of that, I've been finishing up a few small jobs, and I am still in the process of sorting out the timer problem from last week. I'm working on figuring out how it is supposed to work as well as why it doesn't. With the long weekend coming up, I'm really looking forward to some sunshine and relaxation!


August 2 - 5

On Tuesday I finally discovered the tiny and seemingly irrelevant cause of the timer problem - I had taken out some animation when I made some improvements to the GUI, and it turns out this caused major problems! I spent Wednesday and Thursday with the Sensory Perception and Interaction (SPIN) lab, in preparation for my work with them in the fall. Projects were discussed, many ideas were brainstormed, and the research directions of the lab in general were explored. On Friday, I figured out how to get the text box I made a few weeks ago to work properly.


August 8 - 12

This week I made a lot of small changes to the program interface. My supervisor and I went through the program, checking for inconsistencies and details to be fixed. I also investigated and documented some of the behaviour of the model, in particular the parts responsible for generating prompts and hints for the user.


August 15-19

I re-wrote the algorithm that determines when the user should be asked to explain a concept. Now it queries nodes that represent the user's actions throughout all previous exploration, rather than just the most recent actions. I have also searched out and fixed a few difficult bugs in both the hinting and prompting processes.

 

Back