Algorithms Sequential and Parallel: A Unified Approach by Russ Miller, For a one-semester, junior/senior-level course in Algorithms. Attuned to the rapidly changing landscape in computer technology, this unique and very progressive text helps students understand the application and analysis of algorithmic paradigms to both the traditional sequential model of computing and to a variety of parallel models-offering a unified, fully integrated coverage of both model types so that students can learn to recognize how solution strategies may be shared among computer paradigms and architectures.
About the Author
Ph.D., 1985, Department of Mathematical Sciences, State University of New York at Binghamton. Thesis: Pyramid Computer Algorithms; Advisor: Quentin F. Stout M.A., 1982, Department of Mathematical Sciences, State University of New York at Binghamton. B.S, 1980, Department of Mathematical Sciences, State University of New York at Binghamton.
Book Plot
A major thrust of computer science is the design, analysis, implementation, and scientific evaluation of algorithms to solve critical problems. In addition, new challenges are being offered to computer scientists in the field of computational science and engineering, which includes challenging problems in computational biology, computational fluid dynamics, and computational chemistry, to name a few. As parallel computing continues to merge into the mainstream of computing, it becomes more and more important for students and scientists to understand the application and analysis of algorithmic paradigms to both the (traditional) sequential model of computing and to a variety of parallel models.
Many computer science departments offer courses in "Analysis of Algorithms," "Algorithms," "An Introduction to Algorithms," or "Data Structures and their Algorithms" at the junior or senior level. In addition, a course in "Analysis of Algorithms" is required of most graduate students pursuing a degree in computer science. Throughout the 1980s, the vast majority of these course offerings focused on algorithms for sequential (von Neumann) computers. In fact, not until the late-1980's did courses covering an introduction to parallel algorithms begin to appear in research-oriented departments. Furthermore, these courses in parallel algorithms were typically presented to advanced graduate students. However, by the early 1990s, courses in parallel computing began to emerge at the undergraduate level, especially at progressive 4-year colleges.
It is interesting to note that throughout much of the 1990's, traditional algorithms-based courses changed very little. Gradually, such courses began to incorporate a component of parallel algorithms, typically one to three weeks near the end of the semester. During the later part of the 1990s, however, it was not uncommon to find algorithms courses that contained as much as 1/3 of the material devoted to parallel algorithms.
In this book, we take a very different approach to a traditional algorithms-based course. Parallel computing has become more mainstream, with small multiprocessor machines (which can be ordered by mail from your favorite catalog vendor) flooding the marketplace and with distributed computing systems being ef