subject

Coursera: Embedded Hardware and Operating Systems

 with  Nguyen Gia Tuan
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. 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
In case you have no experience with C programming, please check you a practical course like:
https://www.coursera.org/learn/arduino-platform.

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

Check out our whole curriculum: http://iot4health.utu.fi/

Syllabus

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.

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 Embedded System Processing Elements. We will show you what (1)Embedded Processor consists of, its main features. You will learn what (3)reconfigurable architectures and FPGAs are what kind of (4) ready made platforms you can use to start working with Processing Elements.

Overview of operating systems and embedded operating systems
In this week, we start to have an overview of operating systems and embedded operating systems for IoTs. Primary functionalities of embedded operating systems are discussed. We learn how operating systems works such as how memory is managed, how tasks are scheduled, what is interrupt and how it is 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 IoTs are presented. Concretely, after attending this week, you will able to (1) explain why systems especially embedded systems 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) differentiate popular kernels for embedded operating systems. (4) Differentiate popular embedded operating systems for IoTs. Lecture: Introduction to Embedded Operating Systems Lecture: Linux kernel functions and advantages Lecture: Micro kernel Lecture: Modular kernel Lecture: Introduction to Contiki Lecture: Introduction to TinyOS Lecture: Introduction to RiotOS

Contiki OS and Cooja simulation
In this week, we start to explore Contiki Os in detailed. First we discuss about Contiki system and its kernel architecture. Furthermore, we explore how loadable programs are actually implemented in Contiki system. Second, we go thourgh 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 commnunication stacks in Contiki. Next, prototheads is discussed to describe how application's code is processed in Contiki. Furtheremore, API of multithreading is discussed. Last b ut not least, 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 application 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. Lecture: Contiki - a hybrid operating system Lecture: Contiki system Lecture: Contiki's kernel architecture Lecture: Contiki services and libraries Lecture: Contiki communication Lecture: Contiki communication (con't) Lecture: Protothreads and multithreading Lecture: Cooja simulator

1 Student
review
Cost Free Online Course (Audit)
Pace Upcoming
Institution EIT Digital
Provider Coursera
Language English
Certificates Paid Certificate Available
Calendar 4 weeks long
Sign up for free? Learn how

Disclosure: To support our site, Class Central may be compensated by some course providers.

+ Add to My Courses
FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

1 review for Coursera's Embedded Hardware and Operating Systems

Write a review
5 months ago
profile picture
Alex audited this course and found the course difficulty to be very easy.
Waste of time watching the videos, because it's just a guy reading (very slowly) bullet-points from some powerpoint slides. There are no graphs, charts, drawings, pictures, or other explanations to supplement the slides. An audiobook would have been better. The content is also extremely basic even for beginners, and th Read More
Waste of time watching the videos, because it's just a guy reading (very slowly) bullet-points from some powerpoint slides. There are no graphs, charts, drawings, pictures, or other explanations to supplement the slides. An audiobook would have been better. The content is also extremely basic even for beginners, and the graded questions at the end of each lecture require no thought, just rote memorization of the content of the video/slides.
Was this review helpful to you? YES | NO

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free