The synthesizer generator: a system for constructing language-based editors
The synthesizer generator: a system for constructing language-based editors
Principles of concurrent and distributed programming
Principles of concurrent and distributed programming
The SR programming language: concurrency in practice
The SR programming language: concurrency in practice
Parallel programming: an introduction
Parallel programming: an introduction
Parallel computing in the undergraduate curriculum
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach
Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach
Parallel computing in the undergraduate curriculum
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
DPLab: an environment for distributed programming
ITiCSE '99 Proceedings of the 4th annual SIGCSE/SIGCUE ITiCSE conference on Innovation and technology in computer science education
Experimentation with bounded buffer synchronization
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
ThreadMentor: a pedagogical tool for multithreaded programming
Journal on Educational Resources in Computing (JERIC)
Towards concrete concurrency: occam-pi on the LEGO mindstorms
Proceedings of the 36th SIGCSE technical symposium on Computer science education
A short unit to introduce multi-threaded programming
Journal of Computing Sciences in Colleges
Exploring concurrency using the parallel analysis tool
Proceedings of the 43rd ACM technical symposium on Computer Science Education
Hi-index | 0.00 |
The Concurrency Simulator is used in a sophomore-level course to introduce students to parallel computing. This simulator is unique since it integrates a graphical topology into the programming environment. This makes algorithms much easier to express and, combined with a context-sensitive editor, makes it easy for students to enter their algorithms without becoming bogged down in the details of language syntax. We provide detailed examples for the semaphore, rendezvous and monitor paradigms. We briefly describe the development process for this Java 1.1 program and then describe our classroom experiences with students at this level.