About this Course

In the 21st century, embedded systems are the systems of future with cellular phones, smart-phones, tablets becoming the dominant platforms for computing and communication. The ubiquity of information and the associated need for the computation that accompanies it is driving this revolution only to be accelerated by the new paradigms such as the Internet-of-Things (IoT). These platforms are clearly very different in terms of their processing requirements which are very unique: real-time needs, high performance but at low energy, compact-code and data segments, and most importantly ever changing software stack. Such unique requirements have led to a complete redesign and reinvention of the both hardware and the software stack from ground up, for example, brand new processors such as ARM, DSPs, network processors were invented all the way up to new virtual machines such as Dalvik, new operating systems such as Android and new programming models and compiler optimizations.

Course Cost
Free
Timeline
Approx. 16 weeks
Skill Level
Intermediate
Included in Course
  • Rich Learning Content

  • Interactive Quizzes

  • Taught by Industry Pros

  • Self-Paced Learning

  • Student Support Community

Join the Path to Greatness

This free course is your first step towards a new career with the Android Basics Nanodegree Program.

Free Course

Embedded Systems

by Georgia Institute of Technology

Enhance your skill set and boost your hirability through innovative, independent learning.

Icon steps

Course Leads

  • Santosh Pande
    Santosh Pande

    Instructor

  • Catherine Gamboa
    Catherine Gamboa

    Instructor

What You Will Learn

Lesson 1

Embedded Processor Architectures

  • Instruction-Level Parallelism
  • Design of Instruction Set Architectures
  • Embedded Micro-architectures
Lesson 1

Embedded Processor Architectures

  • Instruction-Level Parallelism
  • Design of Instruction Set Architectures
  • Embedded Micro-architectures
Lesson 2

Software Optimizations

  • Compiler Phases
  • Register Allocation Foundation
  • Register Allocation for Embedded Processors
Lesson 2

Software Optimizations

  • Compiler Phases
  • Register Allocation Foundation
  • Register Allocation for Embedded Processors
Lesson 3

Advanced Optimizations

  • Data Layouts for Embedded Processors
  • Data and Code Compaction
  • Network Processors
Lesson 3

Advanced Optimizations

  • Data Layouts for Embedded Processors
  • Data and Code Compaction
  • Network Processors

Prerequisites and Requirements

It is recommended that students who take this course have previously taken at least an undergraduate-level course in computer architecture. In addition, the students must have a strong background in C and/or C++.

See the Technology Requirements for using Udacity.

Why Take This Course

The goal of this course is to take a holistic view of the embedded system stack with a focus on processor architectures, instruction sets and the associated advanced compiler optimizations that take advantage of the same.

What do I get?
  • Instructor videos
  • Learn by doing exercises
  • Taught by industry professionals
Icon globe

Udacity 现已提供中文版本! A Udacity tem uma página em português para você! There's a local version of Udacity for you! Sprechen Sie Deutsch?

Besuchen Sie de.udacity.com und entdecken Sie lokale Angebote, unsere Partnerunternehmen und Udacitys deutschsprachigen Blog.

前往优达学城中文网站 Ir para a página brasileira Go to Indian Site Icon flag de Zu de.udacity.com continue in English