Tech Report
Has anyone seen this program? Synchronous and asynchronous help for novice programmers
This paper describes recent developments in our approach to teaching computer programming in the context of a part-time Masters course taught at a distance. Within our course, students are sent a pack which contains integrated text, software and video course material, using a uniform graphical representation to tell a consistent story of how the programming language works. The students communicate with their tutors over the phone and email. The main problem with relying on the telephone and email for communication is that it is very difficult to establish the context for a discussion. The student wishes to talk about their program and it's behaviour. The tutor cannot see their program work. Secondly, tutors will often find themselves giving the same explanation to a number of students on the same day. Current facilities do not allow for the effective reuse of explanations. We hope to alleviate these problems through our Internet Software Visualization Laboratory (ISVL), which supports both synchronous and asynchronous communication. ISVL can be used as a synchronous communication medium whereby one of the users (generally the tutor) can provide an annotated demonstration of a program and its execution. Also, ISVL can be used to support asynchronous communication, helping students who work at unsociable hours by allowing the tutor to prepare short educational movies for them to view when convenient. The ISVL environment runs on a conventional web browser and is therefore platform independent, has modest hardware and bandwidth requirements, and is easy to distribute and maintain. Future work will consider how search agents and ontological classification can be used to support the student in accessing useful resources.