Affiliation:
1. Brightlightness, founder
Abstract
A strong ICT sector enables economic growth in almost every business sector. Therefore, the quality of education provided to software engineers is an extremely important factor in fostering innovation and having a positive impact on society. Industry applications present challenges of effectively implementing programs comprising interdependent tasks which compete for computational resources. The concepts of building optimal synchronization of program execution are challenging for many students studying software engineering. This paper provides an overview of projects and guidelines for improving the education of software engineers in respect to learning synchronization mechanisms, particularly focusing on usage of synchronization mechanisms from the Java package java.util.concurrent. The paper introduces the tool SynchEduca, which uses a visual interface to introduce students to synchronization concepts in the Java programming language in a more interactive and enjoyable way, without overshadowing the synchronization concepts with implementation details.
Reference20 articles.
1. Ben-Ari, M., Myller, N., Sutinen, E., & Tarhio, J. (2002). Perspectives on program animation with Jeliot. In S. Diehl (Eds.), Lecture Notes in Computer Science, vol 2269. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45875-1_3
2. Carr, S., Mayo, J., & Shene, C. (2003). ThreadMentor: a pedagogical tool for multithreaded programming. ACM J. Educ. Resour. Comput., 3, 1.
3. Cooper, S., Dann, W., & Pausch, R. (2000). Alice: A 3-D tool for introductory programming concepts. Journal of Computing Sciences in Colleges, 15(5), 107-116.
4. Gagne, G., Silberschatz, A., & Galvin, P. B., (2018). Operating System Concepts (10th ed.). Wiley
5. Halim, S. (2015). VisuAlgo - Visualising Data Structures and Algorithms Through Animation. Retrieved June 19, 2024 from https://visualgo.net/en