Affiliation:
1. Universidad Complutense de Madrid, Spain
2. Universidad Rey Juan Carlos, Spain
Abstract
Probably, the most common use of the Web for programming courses is as a communication medium, facilitating submission and administration of assignments and grades (Burd, 2000). Another common use of the Web for programming education is as a public repository of high quality problems, such as the Lab Repository (Knox, 2006) and the ACM International Collegiate Programming Contest (Skiena & Revilla, 2003). Web sites may also host other resources, such as slides and audio lectures (Skiena & Revilla, 2003), algorithm animations (Brummond, 2001), or programming tools (English, 2001). These collections have no structure or, at best, are lineally or hierarchically structured, but more advanced repositories are possible. In this case, a management system must be delivered that, using (semi)structured mark-up languages, allows retrieving, maintaining, and publishing. A good representative is the eXercita system (Gregorio-Rodríguez et al., 2000, 2002). Finally, programming tools have been ported to be executed on the Web (Pareja-Flores & Velázquez-Iturbide, 2002). This article describes a different class of Web-based tools for programming education, namely tools for algorithm and program visualization. After the Background section, we describe the evolution of these systems, educational uses, and lessons learned. Finally, we outline future trends in the use of the Web for programming education and our personal conclusions.
Reference43 articles.
1. Baecker, R. (1998). Sorting out sorting: A case study of software visualization for teaching computer science. In J. T. Stasko, J. Domingue, M. H. Brown, & B. A. Price (Eds.), Software visualization (pp. 369-381). Cambridge, MA: MIT Press.
2. Baker, J. E., Cruz, I. F., Liotta, G., & Tamassia, R. (1996). Algorithm animation over the World Wide Web. In T. Catarci, M. F. Costabile, S. Levialdi, & G. Santucci (Eds.), Proceedings of the International Workshop on Advanced Visual Interfaces (pp. 203-212). New York: ACM Press.
3. Testers and visualizers for teaching data structures
4. Bazik, J., Tamassia, R., Reiss, S. P., & van Dam, A. (1998). Software visualization in teaching at Brown University. In J. T. Stasko, J. Domingue, M. H. Brown, & B. A. Price (Eds.), Software visualization (pp. 383-398). Cambridge, MA: MIT Press.
5. Ben-Ari, M., Myller, N., Sutinen, E., & Tarhio, J. (2002). Perspectives in program animation with Jeliot. In S. Diehl (Ed.), Software visualization (pp. 31-45). Berlin-Heidelberg, Germany: Springer-Verlag.