Intro to Operating Systems 3: Concurrency (Coursera)

Offered by Codio,
Intro to Operating Systems 3: Concurrency (Coursera)

Learn the inner workings of operating systems without installing anything! This course is designed for learners who are looking to maximize performance by understanding how operating systems work at a fundamental level. The modules in this course cover concurrency, threads, locks, locking data structures and multi-CPU scheduling.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

To allow for a truly hands-on, self-paced learning experience, this course is video-free. Assignments contain short explanations with images and runnable code examples with suggested edits to explore code examples further, building a deeper understanding by doing. You’ll benefit from instant feedback from a variety of assessment items along the way, gently progressing from quick understanding checks (multiple choice, fill in the blank, and un-scrambling code blocks) to slowly building features, resulting in large coding projects at the end of the course.

Course 3 of 4 in the Introduction to Operating Systems Specialization.

Syllabus

WEEK 1: Introduction
WEEK 2: Concurrency & Threads
WEEK 3: Data Structures & Variables
WEEK 4: Advanced Concurrency

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Algorithms, Part I (Coursera) Coursera
Princeton University

Algorithms, Part I (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Sep 21st 2026
5-12 Weeks
Estructuras de datos en Python (Coursera) Coursera
Universidad Austral

Estructuras de datos en Python (Coursera)

Este curso te dará ágil acceso a las estructuras de datos principales del lenguaje de programación Python en su versión 3.0. Una vez que termines este curso tendrás un conocimiento general de Python, que te permitirá realizar programas que trabajen con muchos datos tomados desde archivos de la computadora. Aquí podrás conocer cómo utilizar las estructuras de datos integradas en Python, como las listas, los diccionarios y las tuplas. Además entenderás cómo trabajar con archivos y el manejo de excepciones.

Sep 7th 2026
4 Weeks
Embedded Hardware and Operating Systems (Coursera) Coursera
EIT Digital

Embedded Hardware and Operating Systems (Coursera)

This course is intended for the Bachelor and Master's students, who like practical programming and making IoTs applications! In this course we will talk about two components of a cyber physical system, namely hardware and operating systems. After completing this course, you will have the knowledge of both hardware components and operating systems. You are able to plan and use embedded operating systems in resource-constraint devices for Internet-of-Things (cyber physical system) applications.

Sep 21st 2026
4 Weeks
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Sep 14th 2026
5-12 Weeks
Linux Fundamentals (Coursera) Coursera
LearnQuest

Linux Fundamentals (Coursera)

This course is the first of a series that aims to prepare you for a role working as an information technology professional. In this course, you will be introduced to the Linux operating system. You will learn about the licensing model and several Linux distributions. We will go through some services delivered in the Linux operating system. We will conclude this course by looking at how to search and analyze text using command line tools in the operating system.

Sep 14th 2026
4 Weeks
Fundamentos do Suporte Técnico (Coursera) Coursera
Google

Fundamentos do Suporte Técnico (Coursera)

Ele é o primeiro de uma série que visa prepará-lo para entrar no mercado de TI como especialista de suporte técnico. Neste curso, apresentaremos o mundo da Tecnologia da Informação, ou TI. Você aprenderá sobre diversas facetas da Tecnologia da Informação, como hardware, software, internet, resolução de problemas e atendimento ao cliente. Mostraremos como uma entrevista técnica costuma transcorrer e daremos dicas de como se preparar melhor para esse tipo de ocasião.

Sep 7th 2026
5-12 Weeks
Linux Cloud and DevOps (Coursera) Coursera
LearnQuest

Linux Cloud and DevOps (Coursera)

In this course, we look at Cloud, DevOps and the Linux operating system. The course material is a good for anyone preparing for the Linux Foundation Certified IT Associate (LFCA) exam or just interested in learning more about Linux. This course is the fourth course in a series that aims to prepare you for working as an information technology professional.

Sep 7th 2026
4 Weeks
Estruturas de dados Python (Coursera) Coursera
University of Michigan

Estruturas de dados Python (Coursera)

Este curso apresentará as estruturas de dados centrais da linguagem de programação Python. Vamos superar os fundamentos da programação de procedimentos e explorar como podemos usar as estruturas de dados integradas do Python, como listas, dicionários e tuplas, para realizar análises de dados cada vez mais complexas. Este curso cobrirá os capítulos 6 a 10 do livro “Python para Todos”. Este curso aborda o Python 3.

Sep 7th 2026
5-12 Weeks
Unix System Basics (Coursera) Coursera
Codio

Unix System Basics (Coursera)

Explore Unix system basics without installing anything! This course is designed for learners with no technical experience, providing a solid foundation of Unix basics. Learners will gain hands-on practice on an Ubuntu system that can be easily transferred to other Unix-based operating systems. The modules in this course cover what characterizes Unix-based operating systems, navigating, searching, and editing files and directories using the command line.

Sep 7th 2026
3 Weeks
Object Oriented Programming in Java (Coursera) Coursera
University of California, San Diego

Object Oriented Programming in Java (Coursera)

Welcome to our course on Object Oriented Programming in Java using data visualization. People come to this course with many different goals -- and we are really excited to work with all of you! Some of you want to be professional software developers, others want to improve your programming skills to implement that cool personal project that you’ve been thinking about, while others of you might not yet know why you’re here and are trying to figure out what this course is all about.

Sep 7th 2026
5-12 Weeks
Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Sep 7th 2026
4 Weeks
Java Programming: Arrays, Lists, and Structured Data (Coursera) Coursera
Duke University

Java Programming: Arrays, Lists, and Structured Data (Coursera)

Build on the software engineering skills you learned in “Java Programming: Solving Problems with Software” by learning new data structures. Use these data structures to build more complex programs that use Java’s object-oriented features. At the end of the course you will write an encryption program and a program to break your encryption algorithm.

Sep 7th 2026
4 Weeks