About this Course
4.5
225 ratings
61 reviews
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Hours to complete

Approx. 22 hours to complete

Suggested: 5 weeks of study, 2-3 hours/week...
Available languages

English

Subtitles: English...

Skills you will gain

FreertosReal-Time Operating System (RTOS)Scheduling AlgorithmsScheduling (Computing)
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Intermediate Level

Intermediate Level

Hours to complete

Approx. 22 hours to complete

Suggested: 5 weeks of study, 2-3 hours/week...
Available languages

English

Subtitles: English...

Syllabus - What you will learn from this course

Week
1
Hours to complete
3 hours to complete

Introduction to Real-Time Systems

Here is where it all starts! We will make a brave attempt to start your future career in real-time systems! This week starts by learning the basic building stones in real-time systems and the system parameters required to successfully construct a real-time system. We introduce you to the corner stone of real-time systems, namely the scheduler – and its task in real-time schedules. You learn also what kind of real-time guarantees are needed in which systems. Concretely, you will learn (1) What is needed to create a real-time system (2) Where real-time requirements are needed. (3) The task and job structure and the parameters needed to schedule a task. (4) Difference between pre-emptive and non-pre-emptive tasks. This course is also part of a Blended Master Programme in Embedded Systems. ...
Reading
6 videos (Total 42 min), 1 reading, 3 quizzes
Video6 videos
The Concepts of Real-Time Systems6m
The Concept of Real-TimeTasks10m
The Principles of Scheduling7m
Real-Time Pre-emption10m
FreeRTOS "Hello World" Tutorial4m
Reading1 reading
FreeRTOS API10m
Quiz1 practice exercise
Quiz 116m
Week
2
Hours to complete
3 hours to complete

Static Scheduling

In this week we start to actually do some scheduling. We firstly have a look at the simplest type of scheduler – the clock driven scheduler. After this we deepen our learning with the fixed priority scheduler and the monotonic schedulers. We learn how the priorities are determined using these schedulers and we learn when/when not to use these schedulers. Secondly we learn how to determine if a system is overloaded in order to validate schedules without complete system simulation.Concretely, after attending this week you will be able to: (1) Schedule a set of tasks with the clock driven scheduler, with the fixed priority scheduler, with the monotonic schedulers. (2) Determine if a system is overloaded using the total-utilization method and the Urm method. (3) Program FreeRTOS to schedule a set of tasks using the fixed priority scheduler ...
Reading
7 videos (Total 44 min), 2 quizzes
Video7 videos
Clock Driven Scheduling - Implementation4m
Cyclic Structured Scheduling - The Concept6m
Cyclic Structured Scheduling - Example5m
Fixed Priority Scheduling7m
Monotonic Scheduling - The Concept7m
Monotonic Scheduling - Example6m
Quiz1 practice exercise
Quiz 216m
Week
3
Hours to complete
3 hours to complete

Dynamic Scheduling

In the previous week we learned the limitations of the total-utilization method and the Urm method. We start this week off by extending these tests to tasks with short response times. The new method is also, as usual, used in practice! We then focus on improving the optimality of real-time schedules. This is done by learning the principles behind dynamic scheduling methods. Two new schedulers using the dynamic scheduling principle is learned and used in practice with a few examples; the LST scheduler and the EDF scheduler.Concretely, you will learn: (1) How to determine feasibility of a set of tasks using the time demand analysis method. (2) How to schedule a set of tasks using LST and EDF. (3) To determine when a dynamic scheduler is appropriate and when it is not appropriate....
Reading
5 videos (Total 35 min), 2 quizzes
Video5 videos
Tasks with Short Response Time - Example8m
Dynamic Priority Scheduling7m
Earliest Deadline First Theory5m
Earliest Deadline First Example7m
Quiz1 practice exercise
Quiz 316m
Week
4
Hours to complete
3 hours to complete

Non-Periodic Jobs

All things are easy and nice when not caring about non-periodic jobs. When including non-periodic jobs, the schedulers must take these into account to make a feasible schedule, which we learn this week. The problem is that a non-periodic job can arrive at any time, even if a periodic job is already scheduled. We learn both how to optimize a schedule for non-periodic jobs and how to validate a schedule when non-periodic jobs arrive to the schedule. Concretely, we will learn: (1) How to use the slack stealing method to optimize a schedule with non-periodic jobs (2) How to use the LRT scheduler to optimize a schedule with non-periodic jobs (3) How to use the deferrable server to optimize a schedule with non-periodic jobs (4) Formally verify a schedule with non-periodic jobs ...
Reading
6 videos (Total 40 min), 2 quizzes
Video6 videos
Aperiodic Jobs - Example4m
Sporadic Jobs - The Concept7m
Sporadic Jobs - Example7m
The Deferrable Server Theory5m
The Deferrable Server Example8m
Quiz1 practice exercise
Quiz 412m
4.5
Career direction

50%

started a new career after completing these courses
Career Benefit

83%

got a tangible career benefit from this course

Top Reviews

By LPJul 12th 2017

Real-Time systems are very demanded nowadays. Excellent course to review some aspects in this field or to learn everything from the beginning.

By GTApr 23rd 2018

I feel having in depth analysis on various scheduling algorithms would be helpful. I have learnt many things from this course.

Instructor

Avatar

Simon Holmbacka

Dr
Åbo Akademi University, Faculty of Science and Engineering

About EIT Digital

EIT Digital is a pan-European education and research-based open innovation organization founded on excellence. Its mission is to foster digital technology innovation and entrepreneurial talent for economic growth and quality of life. By linking education, research and business, EIT Digital empowers digital top talents for the future. EIT Digital provides online "blended" Innovation and Entrepreneurship education to raise quality, increase diversity and availability of the top-level content provided by 20 reputable universities of technology around Europe. The universities all together deliver a unique blend of the best of technical excellence and entrepreneurial skills and mindset to digital engineers and entrepreneurs at all stages of their careers. The academic partners support Coursera’s bold vision to enable anyone, anywhere, to transform their lives by accessing the world’s best learning experience. This means that EIT Digital gradually shares parts of its entrepreneurial and academic education programmes to demonstrate its excellence and make it accessible to a much wider audience. EIT Digital’s online education portfolio can be used as part of blended education settings, in both Master and Doctorate programmes, and for professionals as a way to update their knowledge. EIT Digital offers an online programme in 'Internet of Things through Embedded Systems'. Achieving all certificates of the online courses and the specialization provides an opportunity to enroll in the on campus program and get a double degree. These are the courses in the online programme: ...

About the Development of Secure Embedded Systems Specialization

Three people died after the crash landing of an Asiana Airlines aircraft from Seoul, Korea, at San Fransisco International Airport (SFO) on July 6, 2013. The American National Transportation Safety Board (NTSB) established that the crash most probably was caused by the flight crew's (in)actions. Three teenage girls lost their lives; two in the airplane and another was accidentally run over by a firetruck. The human factor is often cause for accidents. NTSB and others report that more than 50 percent of plane crashes is caused by pilot error (and for road accidents it is even 90 perc.) Correctly designed safety and security critical systems can prevent these errors. After following this course successfully, you are able to develop secure embedded systems that are at the core of these safety and security critical systems. You are even challenged to program your own landing guiding system in our capstone project. If you are interested in building secure embedded systems for the benefit of humanity, this specialization is for you! EIT Digital has chosen 3 MOOC topics of industrial interest, namely: 1) Embedded design and hardware, 2) Security in embedded connectivity and 3) Real-Time systems. These MOOCs show what it takes to program Internet-of-Things systems. We focus on tools used in the modern IoT industry, and we push for a practical learn-by-programming approach in which you are exposed to the actual development in an early stage. We hope to see you soon!...
Development of Secure Embedded Systems

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

  • We like to keep the exercise a bit more like in the industrial life: there is no "correct" answer but your task is to make the customer (peer reviewer) satisfied. Therefore we have other student review your solution and if that "customer" finds it acceptable, you will get a good score. Like in many engineering projects, there is no "correct solution" but there are many correct ways of implementing your solution.

More questions? Visit the Learner Help Center.