I am a Computer Science Ph.D. student at George Mason University.
My research investigates how human computer interaction would be effective in designing programming tool and how to blend machine and human intelligence.
Exploring ways to describe programming skills more explicitly through programming strategies, which describe a specific sequence of steps a developer can follow to successfully finish a programming task.
What I have done so far
I presented a novel notation for designing a programming language and a novel tool that explicitly represent
programming strategies and frame executing strategies as a collaborative effort between human abilities to
make decisions and computer abilities to structure process and persist information. I tested this tool with 28
users with 2 expert strategies. The evaluation showed potential benefits in terms of being more successful,
organized, systematic, better performing in finishing the assigned development task.
Next, I evaluated how we can help expert developers share their expertise by writing down their strategies and
what difficulties they faced.
Extracting and keeping expert strategies brings up the hope of the possibility of extracting the accumulated
strategic knowledge and rules of experts and then using this knowledge to train future experts. It might bring
up a whole set of explicit programming strategies that can be used in schools or on personal training and will
reduce the decade of experience and training required for people to become elite programmers.