Skip to main content

Survey of Software Visualization Systems to Teach Message-Passing Concurrency in Secondary School

  • Conference paper
  • First Online:

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 722))

Abstract

In this paper, we compare 27 software visualization systems according to 8 criteria that are important to create an introduction to programming course based upon message passing concurrency.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Netlogo user manual version 6.0. https://ccl.northwestern.edu/netlogo/docs/

  2. Abelson, H.: App inventor for android. Google Research Blog (2009)

    Google Scholar 

  3. ACM/IEEE-CS Joint Task Force on Computing Curricula: Computer Science Curricula 2013. Technical report, ACM Press and IEEE Computer Society Press (2013)

    Google Scholar 

  4. Aho, A.V., Ullman, J.D.: Foundations of Computer Science, C Edition. Computer Science Press/W. H. Freeman, New York (1992)

    MATH  Google Scholar 

  5. Aivaloglou, E., Hermans, F.: How kids code and how we know: an exploratory study on the scratch repository. In: Proceedings of the 2016 ACM Conference on International Computing Education Research, ICER 2016, pp. 53–61. ACM (2016)

    Google Scholar 

  6. Amrutha, S., Idicula, S.M.: Agent based simulation of street robbery. Department of Computer Science, Royal College of Engineering and Technology Thrissur, India (2014)

    Google Scholar 

  7. Armstrong, J.: Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf, Dallas, Texas - Raleigh, North Carolina (2007)

    Google Scholar 

  8. Balanskat, A., Engelhardt, K.: Computing Our Future: Computer Programming and Coding-Priorities, School Curricula and Initiatives Across Europe (2014)

    Google Scholar 

  9. Bonér, J., Klang, V., Kuhn, R., et al.: Akka library. http://akka.io

  10. Brabrand, C.: Constructive alignment for teaching model-based design for concurrency. In: Jensen, K., Aalst, W.M.P., Billington, J. (eds.) Transactions on Petri Nets and Other Models of Concurrency I. LNCS, vol. 5100, pp. 1–18. Springer, Heidelberg (2008). doi:10.1007/978-3-540-89287-8_1

    Chapter  Google Scholar 

  11. Brennan, K., Resnick, M.: New frameworks for studying and assessing the development of computational thinking. In: Proceedings of the 2012 Annual Meeting of the American Educational Research Association, Vancouver, Canada, pp. 1–25 (2012)

    Google Scholar 

  12. Carro, M., Herranz, A., Mariño, J.: A model-driven approach to teaching concurrency. Trans. Comput. Educ. 13(1), 5:1–5:19 (2013)

    Article  Google Scholar 

  13. Castillo-Barrera, F.E., Arjona-Villicana, P.D., Ramirez-Gamez, C.A., Hernandez-Castro, F.E., Sadjadi, S.M.: Turtles, robots, sheep, cats, languages what is next to teach programming? A future developer’s crisis? In: Proceedings of the International Conference on Frontiers in Education: Computer Science and Computer EngineeringMTDL, p. 1. The Steering Committee of The World Congress in Computer Science, Computer Engineering and Applied Computing (2013)

    Google Scholar 

  14. Chechina, N., Hernandez, M.M., Trinder, P.: A scalable reliable instant messenger using the SD Erlang libraries. In: Proceedings of the 15th International Workshop on Erlang 2016, pp. 33–41. ACM (2016)

    Google Scholar 

  15. Chmiel, R., Loui, M.C.: Debugging: from novice to expert. ACM SIGCSE Bull. 36(1), 17–21 (2004)

    Article  Google Scholar 

  16. Cross, J., Hendrix, T.D., Barowski, L.A.: Using the debugger as an integral part of teaching CS1. In: Frontiers in Education, vol. 2, p. F1G. IEEE (2002)

    Google Scholar 

  17. Feldman, M.B., Bachus, B.D.: Concurrent programming can be introduced into the lower-level undergraduate curriculum. SIGCSE Bull. 29(3), 77–79 (1997)

    Article  Google Scholar 

  18. Fox, R.W., Farmer, M.E.: The effect of computer programming education on the reasoning skills of high school students. In: Frontiers in Education: Computer Science and Computer Engineering (FECS 2011) (2011)

    Google Scholar 

  19. Franklin, D., Conrad, P., Boe, B., Nilsen, K., Hill, C., Len, M., Dreschler, G., Aldana, G., Almeida-Tanaka, P., Kiefer, B., Laird, C., Lopez, F., Pham, C., Suarez, J., Waite, R.: Assessment of computer science learning in a scratch-based outreach program. In: Proceeding of the 44th ACM Technical Symposium on Computer Science Education, SIGCSE 2013, pp. 371–376. ACM (2013)

    Google Scholar 

  20. Gestwicki, P., Ahmad, K.: App inventor for android with studio-based learning. J. Comput. Sci. Coll. 27(1), 55–63 (2011)

    Google Scholar 

  21. Goldin, D., Wegner, P.: The interactive nature of computing: refuting the strong church-turing thesis. Mind. Mach. 18(1), 17–38 (2008)

    Article  Google Scholar 

  22. Grover, S., Pea, R.: Computational thinking in K-12: a review of the state of the field. Educ. Res. 42(1), 38–43 (2013)

    Article  Google Scholar 

  23. Gülbahar, Y., Kalelioğlu, F., et al.: The effects of teaching programming via scratch on problem solving skills: a discussion from learners’ perspective. Inf. Educ. Int. J. 13(1), 33–50 (2014)

    Google Scholar 

  24. Honig, W.L.: Teaching and assessing programming fundamentals for non majors with visual programming. In: Proceedings of the 18th ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE 2013, pp. 40–45. ACM (2013)

    Google Scholar 

  25. ISTE, CSTA: NSF. Computational thinking teacher resources (2011)

    Google Scholar 

  26. Kahn, K.: Toontalk TM-an animated programming environment for children. J. Vis. Lang. Comput. 7(2), 197–217 (1996)

    Article  Google Scholar 

  27. Kahn, K.M.: From prolog and Zelta to ToonTalk. In: ICLP, pp. 67–78 (1999)

    Google Scholar 

  28. Kiper, J.D., Howard, E., Ames, C.: Criteria for evaluation of visual programming languages. J. Vis. Lang. Comput. 8(2), 175–192 (1997)

    Article  Google Scholar 

  29. Li, F.W., Watson, C.: Game-based concept visualization for learning programming. In: Proceedings of the Third International ACM Workshop on Multimedia Technologies for Distance Learning, MTDL 2011, pp. 37–42. ACM (2011)

    Google Scholar 

  30. Lister, R.: Objectives and objective assessment in CS1. In: ACM SIGCSE Bulletin, vol. 33, pp. 292–296. ACM (2001)

    Google Scholar 

  31. Lutz, M.J.: The Erlang approach to concurrent system development. In: 2013 IEEE Frontiers in Education Conference, pp. 12–13. IEEE (2013)

    Google Scholar 

  32. Maloney, J.H., Peppler, K., Kafai, Y., Resnick, M., Rusk, N.: Programming by choice: urban youth learning programming with scratch. SIGCSE Bull. 40(1), 367–371 (2008)

    Article  Google Scholar 

  33. McIver, L.: The effect of programming language on error rates of novice programmers. In: 12th Annual Workshop of Psychology of Programmers Interest Group (PPIG), pp. 181–192 (2000)

    Google Scholar 

  34. Morgado, L., Cruz, M.G.B., Kahn, K.: Working in ToonTalk with 4- and 5-year olds. In: International Association for Development of the Information Society-IADIS International Conference e-Society 2003, p. 988 (2003)

    Google Scholar 

  35. Moström, J.E., Carr, D.: Programming paradigms and program comprehension by novices. Luleå tekniska universitet (1997)

    Google Scholar 

  36. Mullins, P., Whitfield, D., Conlon, M.: Using Alice 2.0 as a first language. J. Comput. Small Coll. 24(3), 136–143 (2009)

    Google Scholar 

  37. Myers, B.A.: Taxonomies of visual programming and program visualization. J. Vis. Lang. Comput. 1(1), 97–123 (1990)

    Article  Google Scholar 

  38. Naps, T.L.: Jhavé: supporting algorithm visualization. IEEE Comput. Graph. Appl. 25(5), 49–55 (2005)

    Article  Google Scholar 

  39. Ortiz, A.: Teaching concurrency-oriented programming with Erlang. In: Proceedings of the 42nd ACM Technical Symposium on Computer Science Education. pp. 195–200. ACM (2011)

    Google Scholar 

  40. Pant, L., Pant, V., Pant, N.: Kojo homepage. http://www.kogics.net/kojo

  41. Papert, S.: Computer-based microworlds as incubators for powerful ideas. In: The Computer in the School: Tutor, Tool, Tutee, pp. 203–210. Teachers College Press (1980)

    Google Scholar 

  42. Regnell, B., Pant, L., Kogics, D.: Teaching programming to young learners using scala and kojo. In: LTHs Pedagogiska Inspirationskonferens, vol. 8, p. 4 (2014)

    Google Scholar 

  43. Resnick, M.: StarLogo: an environment for decentralized modeling and decentralized thinking. In: Conference Companion on Human Factors in Computing Systems, pp. 11–12. ACM (1996)

    Google Scholar 

  44. Roy, K.: App inventor for android: report from a summer camp. In: Proceedings of the 43rd ACM Technical Symposium on Computer Science Education, SIGCSE 2012, pp. 283–288. ACM (2012)

    Google Scholar 

  45. Smith, D.C.: Pygmalion: a creative programming environment. Technical report, DTIC Document (1975)

    Google Scholar 

  46. Sorva, J., Karavirta, V., Malmi, L.: A review of generic program visualization systems for introductory programming education. Trans. Comput. Educ. 13(4), 15:1–15:64 (2013)

    Article  Google Scholar 

  47. Stein, L.A.: Challenging the computational metaphor: implications for how we think. Cybern. Syst. 30(6), 473–507 (1999)

    Article  MATH  Google Scholar 

  48. Sutter, H.: The free lunch is over: a fundamental turn toward concurrency in software. Dr. Dobb’s J. 30(3), 202–210 (2005)

    Google Scholar 

  49. Tisue, S., Wilensky, U.: NetLogo: design and implementation of a multi-agent modeling environment. In: Proceedings of the Agent 2004 Conference (2004)

    Google Scholar 

  50. Unuakhalu, M.F.: Enhancing problem-solving capabilities using object-oriented programming language. J. Educ. Technol. Syst. 37(2), 121–137 (2008)

    Article  Google Scholar 

  51. VanLengen, C., Maddux, C.: Does instruction in computer programming improve problem solving ability? J. IS Educ. 12, 30–33 (1990)

    Google Scholar 

  52. White, G., Sivitanides, M.: Cognitive differences between procedural programming and object oriented programming. Inf. Technol. Manag. 6(4), 333–350 (2005)

    Article  Google Scholar 

  53. Wilensky, U.: Modeling nature’s emergent patterns with multi-agent languages. In: Proceedings of EuroLogo, pp. 1–6. Citeseer

    Google Scholar 

  54. Wing, J.M.: Computational thinking. Commun. ACM 49(3), 33–35 (2006)

    Article  Google Scholar 

  55. Xinogalos, S.: An evaluation of knowledge transfer from microworld programming to conventional programming. J. Educ. Comput. Res. 47(3), 251–277 (2012)

    Article  Google Scholar 

  56. Zhang, K., Hintz, T., Ma, X.: The role of graphics in parallel program development. J. Vis. Lang. Comput. 10(3), 215–243 (1999)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cédric Libert .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Libert, C., Vanhoof, W. (2017). Survey of Software Visualization Systems to Teach Message-Passing Concurrency in Secondary School. In: Bajo, J., et al. Highlights of Practical Applications of Cyber-Physical Multi-Agent Systems. PAAMS 2017. Communications in Computer and Information Science, vol 722. Springer, Cham. https://doi.org/10.1007/978-3-319-60285-1_33

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-60285-1_33

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-60284-4

  • Online ISBN: 978-3-319-60285-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics