This course, part of CU Boulder’s Master of Science in Electrical Engineering, serves as the capstone in a three-course sequence. Building on Linux System Programming and Introduction to Buildroot and Linux Kernel Programming, it emphasizes Agile Scrum methodologies and the deployment of Buildroot or Yocto projects on embedded hardware.
Throughout the course, you will explore relevant Embedded System development topics, including Linux networking, final project proposal and peer reviews, Linux device updates, MQTT and IoT platforms, read-only root filesystems, application containers and Docker for embedded systems, Git workflows, C++ templates and STL, C dependency generation, software testing, and more.
By the end of the course, you will have developed a final project targeting Linux devices, applying Agile Scrum concepts and incorporating recent Embedded System development topics.
Certificate Available ✔
Get Started / More InfoThis course consists of four modules covering Agile Scrum overview, final project sprints, device updates, embedded system topics, development tips and strategies, software testing, and more.
This module provides an overview of Agile Scrum concepts and the final project, including hints for Buildroot, device trees, and Linux networking. It culminates in a final project proposal and peer review.
Module 2 focuses on final project sprints, Linux device updates, MQTT and IoT platforms, read-only root filesystems, application containers, and Docker for embedded systems.
Module 3 delves into Git workflows, C++ templates and STL, C dependency generation using GNU Make, Automake, and CMake. It also includes development tips, strategies, and final project sprints.
The final module covers embedded software testing concepts, including automated testing, CI-CD, TDD, and BDD. It concludes with the final project sprint and demo, including a demo video and outline updates.
Data Structures and Algorithms is a specialized course that delves into the principles and methods of designing and implementing various data structures, equipping...
An Introduction to Interactive Programming in Python (Part 2) is a hands-on course that teaches the fundamentals of building interactive applications using Python....
Dive into Distributed Programming in Java and master the use of multiple nodes in a data center to enhance application performance and reduce latency.
Introduction to Object-Oriented Programming in C++ is a comprehensive course that equips learners with the fundamentals of C++ and object-oriented programming, culminating...