Embedded Hardware and Operating Systems (Coursera)

Offered by 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.

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

In addition, you can use Cooja simulation for designing and simulating wireless sensor network applications.
We have 4 modules, each with a graded quiz in the end and finally we have one peer reviewed programming assignment.
The course is actually quite fun at the end when you are playing around with Cooja simulation for IoTs applications. So you can create and simulate your own design for sensor network applications. A lot of features and examples of Contiki and Cooja can be explored via assignments. There are some optional assignments of wireless sensor network applications for students who want to explore more about embedded OS in IoTs applications.

  • Marco Ramirez /University of Turku
  • Igor Tcarenko/ University of Turku
  • Nguyen Gia Tuan /University of Turku

Course 1 of 4 in the Development of Secure Embedded Systems Specialization

Syllabus

WEEK 1
Introduction to Embedded Hardware
This week will start from the basic information about Embedded Systems. Specifically, you will learn (1) what are embedded systems and where they are applied as well as (2) the main characteristics and challenges of embedded systems. (3) You will discover how embedded systems communicate with the outer world.

WEEK 2
Processing Elements of an Embedded System
This week we will go into details of what embedded systems consist of. Specifically you learn about the main blocks of any processing element of embedded systems. We will show you what (1) embedded processors consists of and its main features. You will learn what (3) reconfigurable architectures and FPGAs are, and what kind of (4) ready-made platforms you can use to start working with processing elements.

WEEK 3
Overview of operating systems and embedded operating systems
In this week, we start with an overview of operating systems and embedded operating systems for IoT. Primary functionalities of embedded operating systems are discussed. We learn how operating systems work: how memory is managed, how tasks are scheduled, what interrupts are and how they are handled. After this, we deepen our learning with the popular kernels for general and embedded operating systems. Linux (monolithic) kernel, micro kernel and modular kernel are presented. In addition, several popular embedded operating systems for IoT are presented. Concretely, after attending this week, you will able to (1) explain why embedded systems often require an operating system (2) describe how an embedded operating system works such as how memory is managed, how tasks are scheduled and how interrupts are handled. (3) You will be able to differentiate between popular kernels for embedded operating systems. (4) Differentiate between popular embedded operating systems for IoT.

WEEK 4
Contiki OS and Cooja simulation
In this week, we start to explore the Contiki Os in detail. First we discuss about the Contiki system and its kernel architecture. Furthermore, we explore how loadable programs are actually implemented in Contiki. Second, we go through services and libraries in Contiki to see how they are built and when they can be invoked. Third, we discuss communication in Contiki via details of uIp and Rime communication stacks in Contiki. Next, prototheads are discussed to describe how application code is processed in Contiki. Furthermore, APIs of multi-threading is discussed. Last but not least, the Cooja simulator - a simulator for wireless sensor networks based on Contiki is introduced. All steps of installing and applying Cooja for a wireless sensor network applications are presented in detailed via an example application. Concretely, after attending this week, you will able to (1) describe how Contiki system and its kernel architecture are built. (2) Distinguish Contiki services and libraries in terms of how they are built, when they are invoked and why they are used. (3) Describe how communication is implemented and supported in Contiki and what protocols Contiki can support. (4) Explore how application's code is processed in Contiki and important functions of API for multithreading in Contiki (5) use Cooja for simulating wireless sensor networks applications.

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

Related Courses

Intro to Operating Systems 3: Concurrency (Coursera) Coursera
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.

Jun 22nd 2026
4 Weeks
Princípios básicos de apoio técnico (Coursera) Coursera
Google

Princípios básicos de apoio técnico (Coursera)

Este curso é o primeiro de uma série que visa a sua preparação para uma função de especialista de apoio técnico de TI de nível básico. Neste curso, ser-lhe-á apresentado o mundo das TI (Tecnologias de Informação). Vai descobrir as diferentes facetas das Tecnologias de Informação, como o hardware informático, a Internet, o software informático, a resolução de problemas e o serviço de apoio ao cliente. Vamos analisar como é que pode ser realizada uma entrevista técnica e fornecer sugestões sobre a melhor forma de se preparar para uma.

Jun 22nd 2026
5-12 Weeks
Introduction to Computer Security (Coursera) Coursera
University of London,Royal Holloway, University of London

Introduction to Computer Security (Coursera)

The purpose of this short four-week course is to introduce the topic of computer system security. We initially look at a short basic introduction to computer system core components and functions and then extend this to consider a variety of topics from hardware to applications. Throughout we provide pointers to openly available materials for background and further reading to explore the topics. We refer to the Cyber Security Body of Knowledge (CyBOK) as a reference for cyber security knowledge, alongside other sources that are widely available.

Jun 22nd 2026
4 Weeks
Introduction to Hardware and Operating Systems (Coursera) Coursera
IBM

Introduction to Hardware and Operating Systems (Coursera)

Organizations need workers who can help others with computer hardware, software, and connectivity issues. Healthcare organizations are still converting to digitized systems, requiring more IT support. Workers are retiring, and organizations are contracting workers through IT consultancies rather than in-house IT technicians. With remote and hybrid work here to stay, organizations must provide employees with the devices and support they need to remain connected and productive. Additionally, IT support roles are often a steppingstone that enables employees to grow into higher-paying IT careers.

Jun 22nd 2026
5-12 Weeks
Real-Time Project for Embedded Systems (Coursera) Coursera
University of Colorado Boulder

Real-Time Project for Embedded Systems (Coursera)

The final course emphasizes hands-on building of an application using real-time machine vision and multiple real-time services to synchronize the internal state of Linux with an external clock via observation. Compare actual performance to theoretical and analysis to determine scheduling jitter and to mitigate any accumulation of latency.

Jun 22nd 2026
5-12 Weeks
Introduction to Embedded Systems Software and Development Environments (Coursera) Coursera
University of Colorado Boulder

Introduction to Embedded Systems Software and Development Environments (Coursera)

Welcome to the Introduction to Embedded Systems Software and Development Environments. This course is focused on giving you real world coding experience and hands on project work with ARM based Microcontrollers. You will learn how to implement software configuration management and develop embedded software applications. Course assignments include creating a build system using the GNU Toolchain GCC, using Git version control, and developing software in Linux on a Virtual Machine.

Jun 22nd 2026
4 Weeks
Productivity and Systems Development (Coursera) Coursera
University of California, Irvine

Productivity and Systems Development (Coursera)

This course provides hands-on experience with technology-based productivity tools, as well as foundational knowledge and understanding of system design and development. The course is designed to integrate concepts of hardware, software, and the Internet. This course also provides an overview of data security, data privacy, and ways to increase productivity and efficiency. Students will also investigate technology career paths and some of the various certifications available in the industry.

Jun 22nd 2026
3 Weeks
Using Python to Interact with the Operating System (Coursera) Coursera
Google

Using Python to Interact with the Operating System (Coursera)

By the end of this course, you’ll be able to manipulate files and processes on your computer’s operating system. You’ll also have learned about regular expressions -- a very powerful tool for processing text files -- and you’ll get practice using the Linux command line on a virtual machine. And, this might feel like a stretch right now, but you’ll also write a program that processes a bunch of errors in an actual log file and then generates a summary file. That’s a super useful skill for IT Specialists to know.

Jun 23rd 2026
5-12 Weeks
Hardware Security (Coursera) Coursera
University of Maryland, College Park

Hardware Security (Coursera)

In this course, we will study security and trust from the hardware perspective. Upon completing the course, students will understand the vulnerabilities in current digital system design flow and the physical attacks to these systems. They will learn that security starts from hardware design and be familiar with the tools and skills to build secure and trusted hardware.

Jun 22nd 2026
5-12 Weeks
Web Connectivity and Security in Embedded Systems (Coursera) Coursera
EIT Digital

Web Connectivity and Security in Embedded Systems (Coursera)

In this course, we will explore several technologies that bring modern devices together, facilitating a network of connected things and making devices internet enabled. We will discuss rules, protocols, and standards for these devices to communicate with each other in the network. We will also go through security and privacy issues and challenges in cyber physical systems (CPS). We will explore measures and techniques for securing systems from different perspectives. Possible attack models are introduced and solutions to tackle such attacks are discussed. Moreover, some basic concepts related to privacy in cyber physical systems are presented.

Jun 22nd 2026
5-12 Weeks