Re-Writing
- Jan 31, 2013
- 0 Comments
With the HCC paper deadline coming up soon already, I've started to look once again at the paper for my mentoring formative study. Among other things, I think the two main problems in version one were the related work section and the results section.
The CHI reviewers were very concerned that the paper did not at all mention code smells. Code smells are parts of the code that might indicate something that will become hard to maintain or possibly cause errors or problems in the future. One example of this is a very large class. While not inherently incorrect, it is possible that a large class may eventually lead to issues. Code smells are mainly relevant in large software projects, where it is important to be able to maintain the code. Because it is time and cost intensive to look for these types of issues manually, there is a body of research on how to automatically identify code smells, using defined sets of smells and metrics to find them. There is also work that allows developers to write the code that looks for code smells, which is similar to the proposed meta-program authoring interface for mentors. We would like mentors to find places in student code where an improvement can be made. While the idea of a generalized way to look for an issue in a program is similar to the code smell, we believe mentors can also provide a generalized solution to the problem that can be shown to any student with the same issue, which would be impossible for a code smell. Additionally, the issues in novice programs are very different than those found in large software projects. Novice programs will likely have code that can be improved with the introduction of a new programming concept or style, while code smells are an issue caused by many experienced programmers working on a large project without refactoring when necessary.
I think one of the challenges of writing about a formative study is that the results can't really be quantified- I can't say something like, a significant number of participants' results agreed with the hypothesis. Instead, I need to focus on the purpose of the formative study and relate the findings to each of the goals. Overall, the eventual goal is to create a system where a programming domain expert can mentor a child by providing suggestions for how to improve their programs. However, we would like all Looking Glass users to be able to receive these suggestions even if they do not know a domain expert. To do this, we would like mentors to write a program that finds all of the Looking Glass worlds that might benefit from their suggestion to their mentee. Since the domain experts cannot write these programs to directly act on Looking Glass worlds, we need to create an interface and API that makes it easy for them to make the suggestions and write the meta-programs. At the high level, the formative study was performed to find out how to create this interface and whether expert programmers are capable of fulfilling the role of a mentor. However, I am still working on more specific questions that get at the answers to these questions and that I can answer with the data.
Comments
Log In or Sign Up to leave a comment.