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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Netlogo user manual version 6.0. https://ccl.northwestern.edu/netlogo/docs/
Abelson, H.: App inventor for android. Google Research Blog (2009)
ACM/IEEE-CS Joint Task Force on Computing Curricula: Computer Science Curricula 2013. Technical report, ACM Press and IEEE Computer Society Press (2013)
Aho, A.V., Ullman, J.D.: Foundations of Computer Science, C Edition. Computer Science Press/W. H. Freeman, New York (1992)
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)
Amrutha, S., Idicula, S.M.: Agent based simulation of street robbery. Department of Computer Science, Royal College of Engineering and Technology Thrissur, India (2014)
Armstrong, J.: Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf, Dallas, Texas - Raleigh, North Carolina (2007)
Balanskat, A., Engelhardt, K.: Computing Our Future: Computer Programming and Coding-Priorities, School Curricula and Initiatives Across Europe (2014)
Bonér, J., Klang, V., Kuhn, R., et al.: Akka library. http://akka.io
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
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)
Carro, M., Herranz, A., Mariño, J.: A model-driven approach to teaching concurrency. Trans. Comput. Educ. 13(1), 5:1–5:19 (2013)
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)
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)
Chmiel, R., Loui, M.C.: Debugging: from novice to expert. ACM SIGCSE Bull. 36(1), 17–21 (2004)
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)
Feldman, M.B., Bachus, B.D.: Concurrent programming can be introduced into the lower-level undergraduate curriculum. SIGCSE Bull. 29(3), 77–79 (1997)
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)
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)
Gestwicki, P., Ahmad, K.: App inventor for android with studio-based learning. J. Comput. Sci. Coll. 27(1), 55–63 (2011)
Goldin, D., Wegner, P.: The interactive nature of computing: refuting the strong church-turing thesis. Mind. Mach. 18(1), 17–38 (2008)
Grover, S., Pea, R.: Computational thinking in K-12: a review of the state of the field. Educ. Res. 42(1), 38–43 (2013)
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)
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)
ISTE, CSTA: NSF. Computational thinking teacher resources (2011)
Kahn, K.: Toontalk TM-an animated programming environment for children. J. Vis. Lang. Comput. 7(2), 197–217 (1996)
Kahn, K.M.: From prolog and Zelta to ToonTalk. In: ICLP, pp. 67–78 (1999)
Kiper, J.D., Howard, E., Ames, C.: Criteria for evaluation of visual programming languages. J. Vis. Lang. Comput. 8(2), 175–192 (1997)
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)
Lister, R.: Objectives and objective assessment in CS1. In: ACM SIGCSE Bulletin, vol. 33, pp. 292–296. ACM (2001)
Lutz, M.J.: The Erlang approach to concurrent system development. In: 2013 IEEE Frontiers in Education Conference, pp. 12–13. IEEE (2013)
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)
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)
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)
Moström, J.E., Carr, D.: Programming paradigms and program comprehension by novices. Luleå tekniska universitet (1997)
Mullins, P., Whitfield, D., Conlon, M.: Using Alice 2.0 as a first language. J. Comput. Small Coll. 24(3), 136–143 (2009)
Myers, B.A.: Taxonomies of visual programming and program visualization. J. Vis. Lang. Comput. 1(1), 97–123 (1990)
Naps, T.L.: Jhavé: supporting algorithm visualization. IEEE Comput. Graph. Appl. 25(5), 49–55 (2005)
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)
Pant, L., Pant, V., Pant, N.: Kojo homepage. http://www.kogics.net/kojo
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)
Regnell, B., Pant, L., Kogics, D.: Teaching programming to young learners using scala and kojo. In: LTHs Pedagogiska Inspirationskonferens, vol. 8, p. 4 (2014)
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)
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)
Smith, D.C.: Pygmalion: a creative programming environment. Technical report, DTIC Document (1975)
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)
Stein, L.A.: Challenging the computational metaphor: implications for how we think. Cybern. Syst. 30(6), 473–507 (1999)
Sutter, H.: The free lunch is over: a fundamental turn toward concurrency in software. Dr. Dobb’s J. 30(3), 202–210 (2005)
Tisue, S., Wilensky, U.: NetLogo: design and implementation of a multi-agent modeling environment. In: Proceedings of the Agent 2004 Conference (2004)
Unuakhalu, M.F.: Enhancing problem-solving capabilities using object-oriented programming language. J. Educ. Technol. Syst. 37(2), 121–137 (2008)
VanLengen, C., Maddux, C.: Does instruction in computer programming improve problem solving ability? J. IS Educ. 12, 30–33 (1990)
White, G., Sivitanides, M.: Cognitive differences between procedural programming and object oriented programming. Inf. Technol. Manag. 6(4), 333–350 (2005)
Wilensky, U.: Modeling nature’s emergent patterns with multi-agent languages. In: Proceedings of EuroLogo, pp. 1–6. Citeseer
Wing, J.M.: Computational thinking. Commun. ACM 49(3), 33–35 (2006)
Xinogalos, S.: An evaluation of knowledge transfer from microworld programming to conventional programming. J. Educ. Comput. Res. 47(3), 251–277 (2012)
Zhang, K., Hintz, T., Ma, X.: The role of graphics in parallel program development. J. Vis. Lang. Comput. 10(3), 215–243 (1999)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)