Java how to program
“Alfonse, wait here for my signal!”
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
“Alfonse, you have a message!”
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
A study of common pitfalls in simple multi-threaded programs
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Concurrency: state models & Java programs
Concurrency: state models & Java programs
Concurrency, objects and visualisation
ACSE '00 Proceedings of the Australasian conference on Computing education
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Starving philosophers: experimentation with monitor synchronization
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Using counter-examples in the data structures course
ACE '03 Proceedings of the fifth Australasian conference on Computing education - Volume 20
ThreadMentor: a pedagogical tool for multithreaded programming
Journal on Educational Resources in Computing (JERIC)
Scaffolding with object diagrams in first year programming classes: some unexpected results
Proceedings of the 35th SIGCSE technical symposium on Computer science education
A suite of tools for teaching concurrency
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Java Concurrency in Practice
Java Threads
Big Java
Checking automatically the output of concurrent threads
Proceedings of the 12th annual SIGCSE conference on Innovation and technology in computer science education
Teaching about threading: where and what?
ACM SIGACT News
Practical parallel and concurrent programming
Proceedings of the 42nd ACM technical symposium on Computer science education
Hi-index | 0.00 |
Concurrent programming was once the preserve of experts writing systems internals; but recently the growing importance of application servers, and the excellent support in Java and C# for thread handling, has brought threads and locking as topics that every software developer might experience, and therefore every computer science graduate ought to know. In this paper we report on several years of experience teaching this material in the early years of the curriculum. We focus on one aspect of multi-threaded code, namely how to write sensible thread-safe classes. We identify the learning outcomes we aim to deliver, and we discuss the main pedagogic difficulties students find. We present some examples that can help students avoid common erroneous views.