10.1145/3502718.3524796acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article
Open Access
Best Paper

Semaphore or Metaphor?: Exploring Concurrent Students' Conceptions of and with Analogy

Authors Info & Claims
Published:07 July 2022Publication History

ABSTRACT

Concurrent programming can be a rewarding but challenging topic for computing students. Comprehending concurrency can help students gain a better understanding of the computer as a machine, and how processes within modern machines execute and interact. Knowledge of concurrency is important to develop secure and robust multithreaded programs. However, understanding this topic at a machine and syntactic level can be difficult for students due to its novelty and complexity. Several topics in concurrent computing can initially be explored at a high-level using real-world examples and analogies to facilitate comprehension. This paper explores perspectives provided by university students in a concurrent programming course on the use of analogy to facilitate learning about concurrent topics. Through this paper, we draw attention to analogies used in course examples and assignment prompts, while turning attention to how students interpret and reason about and with these. We also explore new analogies these students crafted while reasoning about the problem space. This exploration suggests that while these students may draw attention to different aspects (in different ways) of an analogy's design, they generally approach similar conclusions in their reasoning process provided the core relational design remains intact. Students also applied prior analogies from lecture and past assignments, actively reasoning during problem solving with these known examples. There is also some evidence of analogy mixing and swapping, suggesting malleability in analogy use while problem solving. Together, this exploration contributes to understanding student problem solving, reasoning behaviors, and perspectives while using analogy within concurrent computing courses.

References

  1. Thomas Anderson and Michael Dahlin. 2014. Operating Systems: Principles and Practice (2nd ed.). Vol. Volume II: Concurrency. Recursive books.Google ScholarGoogle Scholar
  2. Briana Bettin. 2020. The Stained Glass of Knowledge: On Understanding Novice Mental Models of Computing. , 307 pages. https://digitalcommons.mtu.edu/etdr/ 1086/ Open Access Dissertation.Google ScholarGoogle Scholar
  3. Briana Bettin and Linda Ott. 2021. Frozen in the Past: When It Comes to Analogy Fears, It's Time For Us to "Let It Go". In Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education V. 1 (ITiCSE '21). Association for Computing Machinery, New York, NY, USA, 359--365. https: //doi.org/10.1145/3430665.3456381Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Steve Carr, Jean Mayo, and Ching-Kuang Shene. 2003. ThreadMentor: A Pedagogical Tool for Multithreaded Programming. ACM Journal on Educational Resources in Computing 3, 1 (2003), 1--30. https://doi.org/10.1145/958795.958796Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Kathy Charmaz. 2014. Constructing Grounded Theory. SAGE Publications.Google ScholarGoogle Scholar
  6. Yam San Chee. 1993. Applying Gentner's Theory of Analogy to the Teaching of Computer Programming. Int. J. Man-Mach. Stud. 38, 3 (March 1993), 347--368. https://doi.org/10.1006/imms.1993.1016Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Thiago de Jesus Oliveira Duraes, Paulo Sergio Lopes de Souza, Guilherme Martins, Davi Jose Conte, Naylor Garcia Bachiega, and Sarita Mazzini Bruschi. 2020. Research on Parallel Computing Teaching: state of the art and future directions. In 2020 IEEE Frontiers in Education Conference (FIE) (FIE '21). 1--9. https://doi.org/ 10.1109/FIE44824.2020.9273914Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Barbara Di Eugenio, Nick Green, Omar AlZoubi, Mehrdad Alizadeh, Rachel Harsley, and Davide Fossati. 2015. Worked-out Examples in a Computer Science Intelligent Tutoring System. In Proceedings of the 16th Annual Conference on Information Technology Education (SIGITE '15). Association for Computing Machinery, New York, NY, USA, 121. https://doi.org/10.1145/2808006.2808011Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Edsger W. Dijkstra. 1988. On the cruelty of really teaching computing science. (Dec. 1988). http://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1036.PDF Circulated privately.Google ScholarGoogle Scholar
  10. Michal Foriek and Monika Steinová. 2012. Metaphors and Analogies for Teaching Algorithms. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (SIGCSE '12). ACM, New York, NY, USA, 15--20. https://doi. org/10.1145/2157136.2157147Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Klaus-Tycho Förster, Michael König, and Roger Wattenhofer. 2016. A Concept for an Introduction to Parallelization in Java: Multithreading with Programmable Robots in Minecraft. In Proceedings of the 17th Annual Conference on Information Technology Education (SIGITE '16). 169. https://doi.org/10.1145/2978192.2978243Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Dedre Gentner. 1983. Structure-mapping: A theoretical framework for analogy. Cognitive Science 7, 2 (1983), 155 -- 170. https://doi.org/10.1016/S0364-0213(83) 80009--3Google ScholarGoogle ScholarCross RefCross Ref
  13. Nasser Giacaman. 2012. Teaching by Example: Using Analogies and Live Coding Demonstrations to Teach Parallel Computing Concepts to Undergraduate Students. In Proceedings of the 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW '12). 1295--1298. https://doi.org/10.1109/IPDPSW.2012.158Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Mark Guzdial. 2020. Dijkstra Was Wrong About 'Radical Novelty': Metaphors in CS Education. https://cacm.acm.org/blogs/blog-cacm/248985-dijkstra-waswrong-about-radical-novelty-metaphors-in-cs-education/fulltextGoogle ScholarGoogle Scholar
  15. Jesper Haglund. 2013. Collaborative and self-generated analogies in science education. Studies in Science Education 49 (03 2013), 1--34. https://doi.org/10.1080/ 03057267.2013.801119Google ScholarGoogle Scholar
  16. Rachel Harsley, Nick Green, Mehrdad Alizadeh, Sabita Acharya, Davide Fossati, Barbara Di Eugenio, and Omar AlZoubi. 2016. Incorporating Analogies and Worked Out Examples As Pedagogical Strategies in a Computer Science Tutoring System. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (SIGCSE '16). ACM, New York, NY, USA, 675--680. https://doi. org/10.1145/2839509.2844637Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. David James. 2020. The Use of DJing Tasks as a Pedagogical Bridge to Learning Data Structures. In Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE '20). Association for Computing Machinery, New York, NY, USA, 193--197. https://doi.org/10.1145/3341525.3387427Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Yifat Ben-David Kolikant, Mordechai Ben-Ari, and Sarah Pollack. 2000. The Anthropology Semaphores. In Proceedings of the 5th Annual SIGCSE/SIGCUE ITiCSE conference on Innovation and Technology in Computer Science Education (ITiCSE '00). 21--24. https://doi.org/10.1145/343048.343061Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Elizabeth R. Koning, Joel C. Adams, and Christiaan D. Hazlett. 2019. Visualizing Classic Synchronization Problems. Proceedings of the 50th ACM Technical Symposium on Computer Science Education (2019). https://doi.org/10.1145/3287324. 3293708Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Joseph P. Sanford, Aaron Tietz, Saad Farooq, Samuel Guyer, and R. Benjamin Shapiro. 2014. Metaphors We Teach by. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE '14). ACM, New York, NY, USA, 585--590. https://doi.org/10.1145/2538862.2538945Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Ching-Kuang Shene and Steve Carr. 1998. The Design of a Multithreaded Programming Course and its Accompanying Software Tools. Journal of Computing in Small Colleges 14, 1 (1998), 12--24.Google ScholarGoogle Scholar
  22. Klaas-Jan Stol, Paul Ralph, and Brian Fitzgerald. 2016. Grounded Theory in Software Engineering Research: A Critical Review and Guidelines. https://doi. org/10.1145/2884781.2884833Google ScholarGoogle Scholar

Index Terms

  1. Semaphore or Metaphor?: Exploring Concurrent Students' Conceptions of and with Analogy

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!