Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1595356.1595369acmotherconferencesArticle/Chapter ViewAbstractPublication Pageskoli-callingConference Proceedingsconference-collections
research-article

Helping students debug concurrent programs

Published: 13 November 2008 Publication History

Abstract

We use empirical studies of how students understand concurrent programming and write concurrent programs to determine problem areas in students' understandings and approaches. We then suggest ways to deal with these problems to help students understand what is wrong with their concurrent programs. These include testing and visual debugging tools to help students find and understand their errors as well as feedback from teachers that makes use of these tools and knowledge of the students' understandings to clearly explain to students where they have gone wrong.

References

[1]
M. Ben-Ari and Y. Ben-David Kolikant. Thinking parallel: The process of learning concurrency. In Fourth SIGCSE Conference on Innovation and Technology in Computer Science Education, pages 13--16, Cracow, Poland, 1999.
[2]
Y. Ben-David Kolikant. Learning concurrency as an entry point to the community of computer science practitioners. Journal of Computers in Mathematics and Science Teaching, 23(1):21--46, 2004.
[3]
Y. Ben-David Kolikant. Students' alternative standards for correctness. In The Proceedings of the First International Computing Education Research Workshop, pages 37--46, 2005.
[4]
C. Brabrand. Constructive alignment for teaching model-based design for concurrency. In Proc. 2nd Workshop on Teaching Concurrency (TeaConc '07), Siedlce, Poland, June 2007.
[5]
J. Callaway. Visualization of threads in a running Java program. Master's thesis, University of California, June 2002.
[6]
M. Eisenstadt. My hairiest bug war stories. Communications of the ACM, 40(4):30--37, 1997.
[7]
A. J. Ko and B. A. Myers. Designing the Whyline: a debugging interface for asking questions about program behavior. In CHI '04: Proceedings of the 2004 conference on Human factors in computing systems, pages 151--158. ACM Press, 2004.
[8]
E. Kraemer. Visualizing concurrent programs. In Software Visualization: Programming as a Multimedia Experience, chapter 17, pages 237--256. MIT Press, Cambridge, MA, 1998.
[9]
J. Lönnberg. Student errors in concurrent programming assignments. In A. Berglund and M. Wiggberg, editors, Proceedings of the 6th Baltic Sea Conference on Computing Education Research, Koli Calling 2006, pages 145--146, Uppsala, Sweden, 2007. Uppsala University.
[10]
J. Lönnberg and A. Berglund. Students' understandings of concurrent programming. In R. Lister and Simon, editors, Proceedings of the Seventh Baltic Sea Conference on Computing Education Research (Koli Calling 2007), volume 88 of Conferences in Research and Practice in Information Technology, pages 77--86, Koli, Finland, 2008. Australian Computer Society.
[11]
J. Lönnberg, A. Berglund, and L. Malmi. How students develop concurrent programs. In M. Hamilton and T. Clear, editors, Proceedings of the Eleventh Australasian Computing Education Conference (ACE2009), volume 95 of Conferences in Research and Practice in Information Technology, Wellington, New Zealand, 2009. Australian Computer Society. To appear.
[12]
K. Mehner. JaVis: A UML-based visualization and debugging environment for concurrent Java programs. In S. Diehl, editor, Software Visualization, pages 163--175, Dagstuhl Castle, Germany, 2002. Springer-Verlag.
[13]
B. A. Price, R. M. Baecker, and I. S. Small. A principled taxonomy of software visualization. Journal of Visual Languages and Computing, 4(3):211--266, 1993.
[14]
Robby, M. B. Dwyer, and J. Hatcliff. Bogor: A flexible framework for creating software model checkers. In Proceedings of Testing: Academic & Industrial Conference --- Practice And Research Techniques, June 2006.
[15]
S. D. Stoller. Testing concurrent Java programs using randomized scheduling. In Proc. Second Workshop on Runtime Verification (RV), volume 70(4) of Electronic Notes in Theoretical Computer Science. Elsevier, July 2002.
[16]
W. Visser, K. Havelund, G. Brat, S. Park, and F. Lerda. Model checking programs. Automated Software Engineering Journal, 10(2):203--232, Apr. 2003.
[17]
A. von Mayrhauser and A. M. Vans. Program understanding behavior during debugging of large scale software. In ESP '97: Papers presented at the seventh workshop on Empirical studies of programmers, pages 157--179, New York, NY, USA, 1997. ACM Press.
[18]
A. Zeller. Animating data structures in DDD. In The proceedings of the First Program Visualization Workshop -- PVW 2000, pages 69--78, Porvoo, Finland, 2001. University of Joensuu.

Cited By

View all
  • (2022)A Weak Memory Model in Progvis: Verification and Improved Accuracy of Visualizations of Concurrent Programs to Aid Student LearningProceedings of the 22nd Koli Calling International Conference on Computing Education Research10.1145/3564721.3565947(1-12)Online publication date: 17-Nov-2022
  • (2021)Refactoring‐based learning for fine‐grained lock in concurrent programming courseComputer Applications in Engineering Education10.1002/cae.2246930:2(505-516)Online publication date: 18-Oct-2021
  • (2015)Exploring concurrency on computational thinking toolsProceedings of the 14th Brazilian Symposium on Human Factors in Computing Systems10.1145/3148456.3148484(1-10)Online publication date: 3-Nov-2015
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
Koli '08: Proceedings of the 8th International Conference on Computing Education Research
November 2008
127 pages
ISBN:9781605583853
DOI:10.1145/1595356
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 November 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. programming education
  2. software visualisation

Qualifiers

  • Research-article

Conference

Koli '08

Acceptance Rates

Overall Acceptance Rate 80 of 182 submissions, 44%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2022)A Weak Memory Model in Progvis: Verification and Improved Accuracy of Visualizations of Concurrent Programs to Aid Student LearningProceedings of the 22nd Koli Calling International Conference on Computing Education Research10.1145/3564721.3565947(1-12)Online publication date: 17-Nov-2022
  • (2021)Refactoring‐based learning for fine‐grained lock in concurrent programming courseComputer Applications in Engineering Education10.1002/cae.2246930:2(505-516)Online publication date: 18-Oct-2021
  • (2015)Exploring concurrency on computational thinking toolsProceedings of the 14th Brazilian Symposium on Human Factors in Computing Systems10.1145/3148456.3148484(1-10)Online publication date: 3-Nov-2015
  • (2011)Java replay for dependence-based debuggingProceedings of the Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging10.1145/2002962.2002967(15-25)Online publication date: 17-Jul-2011

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media