Sunday, August 26, 2012

August 20th - 26th

Week's Plan:
Do a literature review on modelling problem solving.
Do a literature review on sequence mining.
Do some writing for graph-layouts, proposing the idea, edit the chapter on sequence mining, based on my findings for this week.

Week's Accomplishments:
I read a number of works on sequence mining and became more familiar with their goals, focus, and nomenclature. I also read up on modelling problem solving, which went much further away from logging tutors and states of problems and much more towards the state of the mind and ACT-R. It seems there is a significant gap between the states we can generate from tutors and data and the states modeled in psychology research. 

In the case of sequence mining that challenge is the very act of identifying the sequences. The problems have long target strings and really long data-strings, in the thousands of characters. In our case the challenge isn't discovering the sequences, though the algorithms developed from that field would be useful in our tool. Our challenge is to identify which sequences are most meaningful. For this, we need to look at the community structure and discoveries we can make from the networking field. By investigating the graph-invariants of the problem-solution space we can gain insight to which states are important.

I also wrote up my arguments and proposed ideas for investigating these aspects mentioned above.

Problems:
No problems these week.

Next Week's Plan:
Meet with Tiffany on Monday and discuss my proposed arguments. Continue writing up my proposal in a more concrete manner. I need to organize the text I have into a single consistent document. Where all the related works from each of the papers appear in the same related work section, combine the introductions, etc. and remove redundancy in the text. Specifically I will focus on the proposed research section and provide the necessary related works for those sections. I will have some text for proof-reading at the end of the week.

Other Pieces of Work: (I just don't want to forget these ideas, not sure how necessary / important they are)
We should export the frequency data for the stoichiometry data and load that into yEd and see what see.

We should write some type of data loader that lets load in "hint-actions" so we can see where students request hints.

I should develop a Data-Properties class to more appropriately manage the different functions we have available depending on what type of data is read in. Basically the object just stores a dozen or so flags that are set based on what columns are read in, in the data-import stage of the program.

Monday, August 20, 2012

August 12th - 19th


Week's Plan:
Finish step-based sequence work for presenting to Dr. Barnes. Discuss what to do next.

Week's Accomplishments:
Finished the step-based sequence work.

Problems:
The trivial case of calculating all sequences did not provide useful feedback. Naturally we need a more intelligent way of identifying important sequences, much like identifying important states.

Next Week's Plan:

Do a literature review on modelling problem solving.
Do a literature review on sequence mining.
Write a chapter for for graph-layouts, proposing the idea.
Edit the chapter on sequence mining, based on my findings for this week.


Other Pieces of Work: (I just don't want to forget these ideas, not sure how necessary / important they are)
We should export the frequency data for the stoichiometry data and load that into yEd and see what see.

We should write some type of data loader that lets load in "hint-actions" so we can see where students request hints.

I should develop a Data-Properties class to more appropriately manage the different functions we have available depending on what type of data is read in. Basically the object just stores a dozen or so flags that are set based on what columns are read in, in the data-import stage of the program.

Hours Worked:
Unrecorded, a bunch.

Tuesday, August 7, 2012

July 29th - August 4th


Week's Plan:
Write a bunch of code so that our Step-Based graph can be generated correctly. There is a lot of work to be done in order to get our Step-Based states to be generated correctly. In addition to that I need to hook it up to the plumbing of the project, with the visual editor so we can apply layouts to the new graph, and the Network-viewer module so we can have access to the corresponding Nodes-API infrastructure.

Week's Accomplishments:
Monday/Tuesday - Read up on Entropy and information gain to see if this could be used for determining which states are worth collapsing and which should be focused. This seem promising and I believe we will use it as our metric for collapsing nodes, at the very least it should be useful to directing the attention of our users to important states. I also made a handful of improvements to how the tool works as I've become more familiar with the NB-Platform.

Wed/Thurs/Fri - Designed and implemented the Step-Based graph which was a substantial amount of work and a lot of code. Wrote between 1000 to 1500 lines of code, made a number of new classes and connected the step-based graph to Nodes-API.

Problems:
No real problems, just a bit slow going, building the Step-Based graph was not very straight-forward when I started. I had to spend some design time to figure out how to get all of the pieces to go together and work smoothly with one another. After I discovered an assumption I could make about the action parameters, the pieces went in place nicely.

Next Week's Plan:
Finish off the step-based graph work. Hook up the edges of the step-based graph to the underlying pipe-works of the program. Build sequences out of the step-based graph data.

Other Pieces of Work: (I just don't want to forget these ideas, not sure how necessary / important they are)
We should export the frequency data for the stoichiometry data and load that into yEd and see what see.

We should write some type of data loader that lets load in "hint-actions" so we can see where students request hints.


I should develop a Data-Properties class to more appropriately manage the different functions we have available depending on what type of data is read in. Basically the object just stores a dozen or so flags that are set based on what columns are read in, in the data-import stage of the program.



Hours Worked:
Sun - 0
Mon - 8
Tues - 10
Wed - 8
Thurs - 14
Fri - 9
Sat - 0
Total: 49