Abstract
Programming is a core skill that all computer science students should adopt, but mastering that skill is a demanding task. Educational institutions must find a way to alleviate problems associated with learning programming and to offer a service to an increased number of applicants. Part of these efforts is the use of Web tools in acquiring programming skills. The Web is a social platform and is designed to promote communication, collaboration, and sharing. Use of these tools in teaching programming prepares students for work in a distributed work environment but also opens up a possibility of improving learning process through new forms of interaction between students and lecturers. The aim of this paper is to provide an overview of Web programming tools with an emphasis on collaborative editors and discuss challenges they are addressing as well as possibilities of their application in the learning environment. As a follow up, a new taxonomy of programming learning tools is proposed to facilitate the comparison of these tools and selection of a suitable one for the particular learning activity.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Simon, B., Lister, R., Fincher, S.: Multi-institutional computer science education research: a review of recent studies of novice understanding. In: 36th Annual Frontiers in Education Conference, pp. 12–17. IEEE (2009)
Watson, C., Li, F.W.: Failure rates in introductory programming revisited. In: Proceedings of the 2014 Conference on Innovation & Technology in Computer Science Education, pp. 39–44. ACM (2014)
Lahtinen, E., Ala-Mutka, K., Järvinen, H.M.: A study of the difficulties of novice programmers. ACM SIGCSE Bull. 37(3), 14–18 (2005)
Gomes, A., Mendes, A.J.: Learning to program-difficulties and solutions. In: International Conference on Engineering Education–ICEE (2007)
Winslow, L.E.: Programming pedagogy—a psychological overview. ACM SIGCSE Bull. 28(3), 17–22 (1996)
Ben-Ari, M.: Constructivism in computer science education. ACM SIGCSE Bull. 30(1), 257–261 (1998)
Jenkins, T., Davy, J.: Diversity and motivation in introductory programming. Innov. Teach. Learn. Inf. Comput. Sci. 1(1), 1–9 (2002)
Sorva, J., Karavirta, V., Malmi, L.: A review of generic program visualization systems for introductory programming education. ACM Trans. Comput. Educ. (TOCE) 13(4), 15 (2013)
Valentine, D.W.: CS educational research: a meta-analysis of SIGCSE technical symposium proceedings. ACM SIGCSE Bull. 36(1), 255–259 (2004)
Sheard, J., Simon, S., Hamilton, M., Lönnberg, J.: Analysis of research into the teaching and learning of programming. In: Proceedings of the Fifth International Workshop on Computing Education Research Workshop, pp. 93–104. ACM (2009)
Kelleher, C., Pausch, R.: Lowering the barriers to programming: a taxonomy of programming environments and languages for novice programmers. ACM Comput. Surv. (CSUR) 37(2), 83–137 (2005)
Feurzeig, W., Papert, S.A., Lawler, B.: Programming-languages as a conceptual framework for teaching mathematics. Interact. Learn. Environ. 19(5), 487–501 (2011)
Guzdial, M.: Programming environments for novices. In: Computer Science Education Research, pp. 127–154 (2004)
Pattis, R.E.: Karel the Robot: A Gentle Introduction to the Art of Programming. Wiley, New York (1981)
Bergin, J., Stehlik, M., Roberts, J., Pattis, R.: Karel J. Robot: A Gentle Introduction to the Art of Object-Oriented Programming in Java. Dream Songs, Redwood City (2005)
Kasurinen, J., Purmonen, M., Nikula, U.: A study of visualization in introductory programming. In: 20th Annual Psychology of Programming Interest Group Conference, PPIG (2008)
Xinogalos, S., Satratzemi, M., Dagdilelis, V.: An introduction to object-oriented programming with a didactic microworld: objectKarel. Comput. Educ. 47(2), 148–171 (2006)
Kölling, M., Quig, B., Patterson, A., Rosenberg, J.: The BlueJ system and its pedagogy. Comput. Sci. Educ. 13(4), 249–268 (2003)
Cooper, S., Dann, W., Pausch, R.: Alice: a 3-D tool for introductory programming concepts. J. Comput. Sci. Coll. 15(5), 107–116 (2000). Alice: a 3-D tool for introductory programming concepts
Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Kafai, Y.: Scratch: programming for all. Commun. ACM 52(11), 60–67 (2009)
Radošević, D., Orehovački, T., Lovrenčić, A.: Verificator: educational tool for learning programming. Inform. Educ. 8(2), 261–280 (2009)
Deek, F.P., McHugh, J.A.: A survey and critical analysis of tools for learning programming. Comput. Sci. Educ. 8(2), 130–178 (1998)
Pears, A., Seidman, S., Malmi, L., Mannila, L., Adams, E., Bennedsen, J., Paterson, J.: A survey of literature on the teaching of introductory programming. ACM SIGCSE Bull. 39(4), 204–223 (2007)
Hundhausen, C.D., Douglas, S.A., Stasko, J.T.: A meta-study of algorithm visualization effectiveness. J. Vis. Lang. Comput. 13(3), 259–290 (2002)
Naps, T.L., Rößling, G., Almstrum, V., Dann, W., Fleischer, R., Hundhausen, C., Velázquez-Iturbide, J.Á.: Exploring the role of visualization and engagement in computer science education. ACM SIGCSE Bull. 35(2), 131–152 (2002)
Myller, N., Bednarik, R., Sutinen, E., Ben-Ari, M.: Extending the engagement taxonomy: software visualization and collaborative learning. ACM Trans. Comput. Educ. (TOCE) 9(1), 7 (2009)
Sorva, J., Karavirta, V., Malmi, L.: A review of generic program visualization systems for introductory programming education. ACM Trans. Comput. Educ. (TOCE) 13(4), 15 (2013)
Orehovački, T., Bubaš, G., Kovačić, A.: Taxonomy of Web 2.0 applications with educational potential. In: Transformation in Teaching: Social Media Strategies in Higher Education, pp. 43–72 (2012)
Porter, L., Guzdial, M., McDowell, C., Simon, B.: Success in introductory programming: what works? Commun. ACM 56(8), 34–36 (2013)
Vihavainen, A., Airaksinen, J., Watson, C.: A systematic review of approaches for teaching introductory programming and their influence on success. In: Proceedings of the Tenth Annual Conference on International Computing Education Research, pp. 19–26. ACM (2014)
Porter, L., Simon, B.: Retaining nearly one-third more majors with a trio of instructional best practices in CS1. In: Proceeding of the 44th ACM Technical Symposium on Computer Science Education, pp. 165–170. ACM (2013)
Kats, L.C., Vogelij, R.G., Kalleberg, K.T., Visser, E.: Software development environments on the web: a research agenda. In: Proceedings of the ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, pp. 99–116. ACM (2012)
Hew, K.F., Cheung, W.S.: Students’ and instructors’ use of massive open online courses (MOOCs): motivations and challenges. Educ. Res. Rev. 12, 45–58 (2014)
Cook, C.L.R.: Towards computer-supported collaborative software engineering (2007)
Booch, G., Brown, A.W.: Collaborative development environments. Adv. Comput. 59(1), 1–27 (2003)
Begel, A.: LogoBlocks: A Graphical Programming Language for Interacting with the World, pp. 62–64. Electrical Engineering and Computer Science Department, MIT, Boston (1996)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Škorić, I., Orehovački, T., Kos, M.I. (2019). Learning to Code and Collaborate in a Web Environment. In: Nazir, S., Teperi, AM., Polak-Sopińska, A. (eds) Advances in Human Factors in Training, Education, and Learning Sciences. AHFE 2018. Advances in Intelligent Systems and Computing, vol 785. Springer, Cham. https://doi.org/10.1007/978-3-319-93882-0_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-93882-0_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-93881-3
Online ISBN: 978-3-319-93882-0
eBook Packages: EngineeringEngineering (R0)