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
Java: An Eventful Approach
Software and the Concurrency Revolution
Queue - Multiprocessors
Concurrent CS: preparing students for a multicore world
Proceedings of the 13th annual conference on Innovation and technology in computer science education
Practical parallel and concurrent programming
Proceedings of the 42nd ACM technical symposium on Computer science education
Breadth in depth: a 1st year introduction to parallel programming
Proceedings of the 42nd ACM technical symposium on Computer science education
Modules in community: injecting more parallelism into computer science curricula
Proceedings of the 42nd ACM technical symposium on Computer science education
Strategies for preparing computer science students for the multicore world
Proceedings of the 2010 ITiCSE working group reports
California speedway: a concurrent programming project for beginners
Proceedings of the 49th Annual Southeast Regional Conference
MDAT: a multithreading debugging and testing tool
Proceeding of the 44th ACM technical symposium on Computer science education
Hi-index | 0.00 |
Because of the growing importance of concurrent programming, many people are trying to figure out where in the curriculum to introduce students to concurrency. In this paper we discuss the use of concurrency in an introductory computer science course. This course, which has been taught for ten years, introduces concurrency in the context of event-driven programming. It also makes use of graphics and animations with the support of a library that reduces the syntactic overhead of using these constructs. Students learn to use separate threads in a way that enables them to write programs that match their intuitions of the world. While the separate threads do interact, programs are selected so that race conditions are generally not an issue.