IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Thinking parallel: the process of learning concurrency
ITiCSE '99 Proceedings of the 4th annual SIGCSE/SIGCUE ITiCSE conference on Innovation and technology in computer science education
Automated Software Engineering
Novice Java programmers' conceptions of "object" and "class", and variation theory
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
Principles of Concurrent and Distributed Programming (2nd Edition) (Prentice-Hall International Series in Computer Science)
Is Bloom's taxonomy appropriate for computer science?
Proceedings of the 6th Baltic Sea conference on Computing education research: Koli Calling 2006
Helping students debug concurrent programs
Koli '08 Proceedings of the 8th International Conference on Computing Education Research
How students develop concurrent programs
ACE '09 Proceedings of the Eleventh Australasian Conference on Computing Education - Volume 95
Java replay for dependence-based debugging
Proceedings of the Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
Evaluating a visualisation of the execution of a concurrent program
Proceedings of the 11th Koli Calling International Conference on Computing Education Research
Proceedings of the 12th Koli Calling International Conference on Computing Education Research
Exploring misconceptions of operating systems in an online course
Proceedings of the 13th Koli Calling International Conference on Computing Education Research
Hi-index | 0.00 |
This paper describes a qualitative, explorative study of how students understand some concepts in concurrent programming. The study is based on interviews with students regarding the final programming assignment in a concurrent programming course. We use phenomenography to analyse the students' statements about tuple spaces, the concurrent data structures on which the assignments are based, and to find the different ways in which they understand writing and debugging a concurrent program. We then discuss the effects of these understandings on how students construct concurrent programs, how teaching can be improved to form more useful understandings and how software tools can be designed to support the development of concurrent programs.