Learning to Code and Collaborate in a Web Environment

  • Igor ŠkorićEmail author
  • Tihomir Orehovački
  • Marina Ivašić Kos
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 785)


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.


Learning programming Collaborative learning Web collaborative tools 


  1. 1.
    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)Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    Gomes, A., Mendes, A.J.: Learning to program-difficulties and solutions. In: International Conference on Engineering Education–ICEE (2007)Google Scholar
  5. 5.
    Winslow, L.E.: Programming pedagogy—a psychological overview. ACM SIGCSE Bull. 28(3), 17–22 (1996)CrossRefGoogle Scholar
  6. 6.
    Ben-Ari, M.: Constructivism in computer science education. ACM SIGCSE Bull. 30(1), 257–261 (1998)CrossRefGoogle Scholar
  7. 7.
    Jenkins, T., Davy, J.: Diversity and motivation in introductory programming. Innov. Teach. Learn. Inf. Comput. Sci. 1(1), 1–9 (2002)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    Valentine, D.W.: CS educational research: a meta-analysis of SIGCSE technical symposium proceedings. ACM SIGCSE Bull. 36(1), 255–259 (2004)CrossRefGoogle Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    Feurzeig, W., Papert, S.A., Lawler, B.: Programming-languages as a conceptual framework for teaching mathematics. Interact. Learn. Environ. 19(5), 487–501 (2011)CrossRefGoogle Scholar
  13. 13.
    Guzdial, M.: Programming environments for novices. In: Computer Science Education Research, pp. 127–154 (2004)Google Scholar
  14. 14.
    Pattis, R.E.: Karel the Robot: A Gentle Introduction to the Art of Programming. Wiley, New York (1981)Google Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    Kasurinen, J., Purmonen, M., Nikula, U.: A study of visualization in introductory programming. In: 20th Annual Psychology of Programming Interest Group Conference, PPIG (2008)Google Scholar
  17. 17.
    Xinogalos, S., Satratzemi, M., Dagdilelis, V.: An introduction to object-oriented programming with a didactic microworld: objectKarel. Comput. Educ. 47(2), 148–171 (2006)CrossRefGoogle Scholar
  18. 18.
    Kölling, M., Quig, B., Patterson, A., Rosenberg, J.: The BlueJ system and its pedagogy. Comput. Sci. Educ. 13(4), 249–268 (2003)CrossRefGoogle Scholar
  19. 19.
    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 conceptsGoogle Scholar
  20. 20.
    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)CrossRefGoogle Scholar
  21. 21.
    Radošević, D., Orehovački, T., Lovrenčić, A.: Verificator: educational tool for learning programming. Inform. Educ. 8(2), 261–280 (2009)Google Scholar
  22. 22.
    Deek, F.P., McHugh, J.A.: A survey and critical analysis of tools for learning programming. Comput. Sci. Educ. 8(2), 130–178 (1998)CrossRefGoogle Scholar
  23. 23.
    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)CrossRefGoogle Scholar
  24. 24.
    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)CrossRefGoogle Scholar
  25. 25.
    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)CrossRefGoogle Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    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)Google Scholar
  28. 28.
    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)Google Scholar
  29. 29.
    Porter, L., Guzdial, M., McDowell, C., Simon, B.: Success in introductory programming: what works? Commun. ACM 56(8), 34–36 (2013)CrossRefGoogle Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    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)Google Scholar
  32. 32.
    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)Google Scholar
  33. 33.
    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)CrossRefGoogle Scholar
  34. 34.
    Cook, C.L.R.: Towards computer-supported collaborative software engineering (2007)Google Scholar
  35. 35.
    Booch, G., Brown, A.W.: Collaborative development environments. Adv. Comput. 59(1), 1–27 (2003)Google Scholar
  36. 36.
    Begel, A.: LogoBlocks: A Graphical Programming Language for Interacting with the World, pp. 62–64. Electrical Engineering and Computer Science Department, MIT, Boston (1996)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2019

Authors and Affiliations

  • Igor Škorić
    • 1
    Email author
  • Tihomir Orehovački
    • 1
  • Marina Ivašić Kos
    • 2
  1. 1.Faculty of InformaticsJuraj Dobrila University of PulaPulaCroatia
  2. 2.Department of InformaticsUniversity of RijekaRijekaCroatia

Personalised recommendations