Supporting Social Interactions and Awareness in Educational Programming Environments

Empirical evaluations of programming environments have traditionally focused on human performance measures such as task efficiency, error rates, and learnability. In addition to these effectiveness measures, we believe there is good reason to consider the ability of programming environments to promote social interactions and awareness during programming tasks. Indeed, especially in educational contexts, programming success and persistence in the computing discipline have been positively correlated with programmers' sense of community and ability to communicate with others. We introduce social programming environments as a new breed of educational programming environment designed to promote social interaction and awareness, and we propose a way to evaluate such environments relative to social learning theory.