Advanced Introduction to Concurrent and Parallel Programming

This chapter will provide an overview of what concurrent programming is (in contrast to sequential programming). We will briefly discuss the differences between a program that can be made concurrent and one that cannot. We will go over the history of concurrent engineering and programming, and we will provide a number of examples of how concurrent programming is used in the present day. Finally, we will give a brief introduction to the approach that will be taken in this book, including an outline of the chapter structure and detailed instructions for how to download the code and create a working Python environment.

The following topics will be covered in this chapter:

  • The concept of concurrency
  • Why some programs cannot be made concurrent, and how to differentiate them from programs that can
  • The history of concurrency in computer science: how it is used in the industry today, and what can be expected in the future
  • The specific topics that will be covered in each section/chapter of the book
  • How to set up a Python environment, and how to check out/download code from GitHub