ADA: Concurrent Programming
Concurrent programming in Ada
Understanding concurrency in Ada
Understanding concurrency in Ada
Concurrent programming in an upper level operating systems course
SIGCSE '89 Proceedings of the twentieth SIGCSE technical symposium on Computer science education
Principles of concurrent and distributed programming
Principles of concurrent and distributed programming
How to write parallel programs: a first course
How to write parallel programs: a first course
A system for teaching concurrent programming
SIGCSE '91 Proceedings of the twenty-second SIGCSE technical symposium on Computer science education
Utilizing a transputer laboratory and Occam2 in an undergraduate operating systems course
SIGCSE '91 Proceedings of the twenty-second SIGCSE technical symposium on Computer science education
Teaching concurrent programming with Pascal-FC
ACM SIGCSE Bulletin
An introduction to parallel programming
An introduction to parallel programming
Teaching concurrency with Joyce and Linda
SIGCSE '92 Proceedings of the twenty-third SIGCSE technical symposium on Computer science education
The portable dining philosophers: a movable feast of concurrency and software engineering
SIGCSE '92 Proceedings of the twenty-third SIGCSE technical symposium on Computer science education
SIGCSE '93 Proceedings of the twenty-fourth SIGCSE technical symposium on Computer science education
Programming in Ada95
Getting started with parallel programming
SIGCSE '90 Proceedings of the twenty-first SIGCSE technical symposium on Computer science education
The analysis and comparison of scheduling controls in concurrent languages through classification
SIGCSE '90 Proceedings of the twenty-first SIGCSE technical symposium on Computer science education
Concurrent distributed Pascal: a hands-on introduction to parallelism
SIGCSE '90 Proceedings of the twenty-first SIGCSE technical symposium on Computer science education
After you, Alfonse: a mutual exclusion toolkit
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
BACI debugger: a GUI debugger for the BACI system
Journal of Computing Sciences in Colleges
Hi-index | 0.00 |
This paper describes a senior level course in concurrent programming using Ada. Unlike other similar courses in the subject area, it is not part of an operating systems course, nor is it tied to a particular hardware architecture. The course is software oriented and it discusses in depth a concurrent programming language, Ada, so that students are able to actually develop effective concurrent programs to solve problems in a wide range of applications. Ada is selected because of its popularity, superb portability, numerous hardware platforms, and rich concurrent constructs. Classical issues in concurrent programming are presented in the context of Ada. General issues in designing concurrent programming languages are elaborated using Ada, together with other concurrent programming languages such as CSP, Occam, and Linda. Finally, general principles of designing parallel programs are also discussed. Therefore, the course provides both the depth in a concurrent programming language for program development and the breadth in concurrent programming theory for insight. Using Ada throughout the course strengthens student's expertise in Ada and provides an useful reference point for understanding concurrent programming theory. The course is heavily based on handouts, examples, homework and programming assignments. A rich set of instructional materials are available from the author.