Unit 1. Concurrent programming

In this first unit we will learn about topic keys related to concurrent programming together with most of the vocabulary that we are going to use in this course.

Digital technology has transformed nearly every aspect of modern life. Travel, work, shopping, entertainment, and communications are just some of the areas that have been revolutionized in recent decades. It's now rare to find an electronic device or piece of machinery that doesn't incorporate digital technology in some way.

Digital technology means that devices can be more compact, faster, lighter, and more versatile. Huge amounts of information can be stored locally or remotely and moved around virtually instantaneously. Even the term "information" has expanded to include media such as photos, audio, and video, and no longer refers to just words and numbers.

As programmers we should be capable of getting the maximum from software and hardware in our applications.

There are a lot of tasks that need higher processing power to consume a huge amount of data. Two examples of this are Big Data and AI applications. These computing fields are rising in importance and require all the power the concurrent programming and the underlying hardware can offer.

What dou you think concurrency is?

We are gonna discuss it at class. We will define the concept bit by bit throughout this course

Goals

The goals for this unit are:

  • To differentiate process and program
  • To understand what concurrency is
  • To know about relationship and differences between the two basic execution units: processes and threads.
  • To know the basics about concurrent programming
  • To know how concurrency performs on OS and hardware.
Last updated:
Contributors: Vicente Martínez