I was offered the opportunity to co-author a book chapter with my academic advisor, which I gratefully accepted. The title is “Connectionist Models of Bilingual Word Recognition,” https://link.springer.com/chapter/10.1007/978-1-4939-2993-1_9. It is an overview of theories surrounding the way people who speak more than one language process the two in the brain. Proposed models include having two isolated systems for each language, needing the brain to functionally switch from one to another as needed, a model where all words regardless of language are mapped to concepts, functionally acting as a larger vocabulary, and so on. In order to determine which model is more likely, tests are given to bilingual speakers to see how long it takes them to recognize words in each language, how quickly they can switch from one to the next and back, delays related to priming, etc. Computer models have been built upon different suggested methods, and are tested to compare for similarities of delay in order to lend support to each model.

1/f Tapping

I worked with Lily Rigoli, Michael Spivey and Chris Kello on a paper published in Frontiers of Human Neuroscience https://doi.org/10.3389/fnhum.2014.00713 exploring spectral convergence on finger tapping. The experiment asked participants to watch a flashing spot on a computer screen while listening to a metronome and tapping a button along with the rhythm, either on the beat, or between beats. We measured heart rate, breathing rate, eye saccades and the finger taps to look for patterns of synchrony. My specific role in the project was construction of the program for flashing, beeping, and collecting finger taps using the ‘Cycling 74 visual programming language.

Mystery Room

My first major research project, unofficially dubbed the “Mystery Room,” was an effort to understand how learning can happen without explicit intent or expectation on the part of the learner. Rather than simply trying to solve a problem, the task for this experiment was to discover that there is a problem, and what that problem is. This is predicated on the notion that the major component lacking from problem solving research is how problems are first found and formulated. This was a very challenging experiment to develop for a number of reasons, and remains a promising source of valuable data. In what has been described as a Skinner Box approach, I asked subjects to go into a small room, and remain there for ten minutes. They were given no further instructions or indication of what they should or should not do in the room (if anything), other than to stay on one side of the room marked off with blue tape on the floor.

Within the room, I placed a shelf at about waist height, upon which were a number of items intended to elicit hand movement. These included silly putty, a bending wire figure, a mirage, a flexible, clicking toy, some prisms and a pair of diffraction gratings. In addition, some small mirrors were affixed to the walls, and a some other items were placed out of reach as decorative/distractor pieces. Hidden behind a large opaque plastic sheet was a Kinect, and a bluetooth speaker. I used the Kinect to record subjects’ position and movements while in the room, and to drive reactions. There were a few renditions of the experiment, but in all cases there were musical sounds that played when a subject’s hands were placed over parts of the shelf, or moved in particular ways. I had hoped that without being explicitly told to do anything, subjects would idly pick things up or try to touch the mirage, and when they heard sounds, would try to figure out what, if any, meaning the sounds might have. They would have to explore and experiment on their own to figure out what actions the sounds corresponded to, and what they should be doing in response to those sounds. In one version of the experiment, a triumphant “Ta-Da!” would play upon successfully performing an action. A later version rewarded participants with chocolate from a dispenser placed in the room.

Results were mixed, with many subjects opting to stand still and not touch anything at all. Others ignored the sounds, or assumed that they were random and meaningless. The Kinect ultimately proved to be a very noisy source of data, making analysis difficult, but the overall structure of the experiment remains very promising for future research.

Problem Game

For my dissertation,  https://escholarship.org/uc/item/0046590p, I delved deeper into the question of problem finding, and reviewed existing literature on different types of problem and how they relate to problem solving. I proposed my own “Problem Cycle” to describe the cognitive function of continually finding potential problems, classifying or clarifying them, solving them (or determining not to), and returning to normal cognition. I constructed a table of problem types, denoted by degree and kind of information available to the solver, and proceeded to design and run an experiment in which users would encounter the same general problem, but be given different information about it, functionally controlling which type of problem they perceive they have.

I conceived of, created and deployed a game in JavaScript (complete with pixel art graphics) using the Phaser engine. Players are asked to drive a small robot around a world map looking for buttons to press. Depending on the experimental condition, the number of buttons to press, how many have been pressed, and other details of map are either given or withheld. This, too, yielded a wealth of data and remains a strong candidate for further study with some modification to the game.

Eterna Strategy Guide

I am presently assisting with a study utilizing the citizen-science game Eterna, looking to test the degree of influence that reference tools and strategy guides can have when learning how to play a new game. I have worked to make the guide available in the same page as the game, to provide information in pop-up windows, and to record click data to the server for analysis. This project is currently at the pilot stage, and will be run this summer.

Resistor Problem

One of my ongoing pet projects is a combinatorial problem that I originated during my master’s program at DePaul. We were tasked with finding a problem that humans are able to handle, but doesn’t work well in traditional programming languages but would be more appropriate for an expert system. The problem that I settled on is the use of substituting resistors in electronic circuits. When building (or repairing) a circuit, one is often limited to the components on hand. Since resistors can be combined in two ways, functionally yielding a resistor with higher or lower values that could be use to substitute for one that isn’t available, (i.e., the schematic calls for a 10 ohm resistor but there aren’t any available, two 5 ohm resistors in series can be used). A seasoned technician can generally survey the parts available and quickly determine if a desired value can be approximated with what is present, but I wanted to write a program that would take as input the values of resistors on hand, and return whether or not it was possible to get a particular desired value by combining them in some way. In typical programming, this would necessitate recursive loops to cycle through every possible arrangement of resistors and then search the resulting list. Using JESS, a rule-based language for expert systems, I defined the relationship for resistors and wrote the entire program in about six lines. While it was far simpler to write the program this way, it was not computationally effective, and took hours to run through possibilities with only a handful of resistors as input. I am still curious to find a more efficient way to address this particular problem that doesn’t require an exhaustive search, but I have not found one yet.