Collecting and analyzing on-line protocols from novice programmers