Parallel and Distributed Computing Education: A Software Engineering Approach

This paper discusses an approach, based on software engineering principles, to introduce parallel and distributed computing into the CS curriculum. The basic assumptions are outlined, followed by a discussion of topics and their implementation in core courses. Innovations in the teaching method are also presented. Several examples of exercises and assignments are given.