

Our Courses

Introduction to FPGA Design for Embedded Systems
This course can also be taken for academic credit as ECEA 5360, part of CU Boulder’s Master of Science in Electrical Engineering degree. Programmable Logic has become more and more common as a core technology used to build electronic systems. By integrating soft-core or hardcore processors, these devices have become complete systems on a chip, steadily displacing general purpose processors and ASICs. In particular, high performance systems are now almost always implemented with FPGAs.
-
Course by
-
Self Paced
-
18 hours
-
English

Introduction to Embedded Systems Software and Development Environments
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.
-
Course by
-
Self Paced
-
9 hours
-
English

Introduction to Self-Driving Cars
Welcome to Introduction to Self-Driving Cars, the first course in University of Toronto’s Self-Driving Cars Specialization. This course will introduce you to the terminology, design considerations and safety assessment of self-driving cars.
-
Course by
-
Self Paced
-
35 hours
-
English

Real-Time Project for Embedded Systems
This course can also be taken for academic credit as ECEA 5318, part of CU Boulder’s Master of Science in Electrical Engineering degree. 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.
-
Course by
-
Self Paced
-
49 hours
-
English

Fundamentals of Red Hat Enterprise Linux
This course will provide you with a basic introduction to Linux® skills using Red Hat® Enterprise Linux 8. It will show you how a Linux system is organized, and will demonstrate introductory system administration tasks, which you will be able to practice on your own. You will be introduced to reasons why Linux and the open source development model are so important in today's computing environment. Linux systems are used everywhere—the internet, point-of-sale systems, and the world's stock markets.
-
Course by
-
Self Paced
-
21 hours
-
English

Linux Server Management and Security
Whether you are accessing a bank website, Netflix or your home router, chances are that your computer is interacting with a Linux system. The world runs on Linux. In this course, we will dive into how Linux works from an enterprise perspective. In week 1 we will look at what Linux is used for in the enterprise. By the end of week 1, you will be able to differentiate between different versions of Linux and understand how they are used in an enterprise environment. In week 2, we will explore how Linux systems are configured.
-
Course by
-
Self Paced
-
13 hours
-
English

The Raspberry Pi Platform and Python Programming for the Raspberry Pi
The Raspberry Pi is a small, affordable single-board computer that you will use to design and develop fun and practical IoT devices while learning programming and computer hardware. In addition, you will learn how to set up up the Raspberry Pi environment, get a Linux operating system running, and write and execute some basic Python code on the Raspberry Pi. You will also learn how to use Python-based IDE (integrated development environments) for the Raspberry Pi and how to trace and debug Python code on the device. Please note that this course does not include discussion forums.
-
Course by
-
Self Paced
-
11 hours
-
English

Using Python to Interact with the Operating System
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.
-
Course by
-
Self Paced
-
26 hours
-
English

The Unix Workbench
Unix forms a foundation that is often very helpful for accomplishing other goals you might have for you and your computer, whether that goal is running a business, writing a book, curing disease, or creating the next great app. The means to these goals are sometimes carried out by writing software. Software can’t be mined out of the ground, nor can software seeds be planted in spring to harvest by autumn. Software isn’t produced in factories on an assembly line. Software is a hand-made, often bespoke good. If a software developer is an artisan, then Unix is their workbench.
-
Course by
-
Self Paced
-
19 hours
-
English

Introduction to Hardware and Operating Systems
Get ready to enter the thriving field of Information Technology (IT), with job ready skills! This beginner friendly course provides the core hardware and operating system knowledge needed by anyone new to IT and computer hardware who wants to start a new career in technology, including IT Support, Networking, Cybersecurity, and Software Development. You will first be introduced to computing fundamentals, the four functions of computing, and the benefits of computing.
-
Course by
-
Self Paced
-
17 hours
-
English

Operating Systems and You: Becoming a Power User
In this course -- through a combination of video lectures, demonstrations, and hands-on practice -- you’ll learn about the main components of an operating system and how to perform critical tasks like managing software and users, and configuring hardware.
-
Course by
-
Self Paced
-
34 hours
-
English

Hands-on Introduction to Linux Commands and Shell Scripting
This course provides a practical understanding of common Linux / UNIX shell commands. In this beginner friendly course, you will learn about the Linux basics, Shell commands, and Bash shell scripting. You will begin this course with an introduction to Linux and explore the Linux architecture. You will interact with the Linux Terminal, execute commands, navigate directories, edit files, as well as install and update software. Next, you’ll become familiar with commonly used Linux commands.
-
Course by
-
Self Paced
-
27 hours
-
English

Version Control
Learn how modern software developers collaborate across the world without messing up each other's code. You will look at the different version control systems and how to create an effective software development workflow. You will be introduced to some of the most commonly used Linux commands that you can use to work with files on your hard drive and create powerful workflows that will automate your work, saving you time and effort. Finally, you will see how Git can be used in software development projects to manage team files. And you will create a repository that can manage code revisions.
-
Course by
-
Self Paced
-
13 hours
-
English

Cybersecurity Roles, Processes & Operating System Security
This course gives you the background needed to understand basic Cybersecurity around people. process and technology. You will learn:
● Understand the key cybersecurity roles within an Organization. ● List key cybersecurity processes and an example of each process.● Describe the architecture, file systems, and basic commands for multiple operating systems including Windows, Mac/OS, Linux and Mobile.● Understand the concept of Virtualization as it relates to cybersecurity
-
Course by
-
Self Paced
-
12 hours
-
English

Linux for Developers
In course 1 we talked about open source software and the motivation and methods of using it.
-
Course by
-
Self Paced
-
19 hours
-
English

Version Control with Git
The Version Control with Git course provides you with a solid, hands-on foundation for understanding the Git version control system. Git is open source software originally created by Linus Torvalds. Git manages team files for large and small projects. This allows the team to continuously improve its product. It is used by most major technology companies, and is assumed knowledge for many modern programming and IT jobs. It is a core component of DevOps, continuous delivery pipelines and cloud-native computing.
-
Course by
-
Self Paced
-
13 hours
-
English

Troubleshooting and Debugging Techniques
In this course, we'll give you the tools to quickly identify and solve real-world problems that you might come across in your IT role. We'll look at a bunch of different strategies and approaches for tackling the most common pitfalls of your code and IT infrastructure. You'll learn strategies for approaching almost any technical problem and then see how those apply to solving different real-world scenarios. We picked examples that include general system issues, issues with software that someone else wrote, and issues with programs that we wrote.
-
Course by
-
Self Paced
-
16 hours
-
English

Git for Distributed Software Development
Get a thorough introduction to Git, the source control system that arose out of the Linux kernel community, that enables widely distributed software development to operate efficiently.
-
Course by
-
11
-
English

Linux Basics: The Command Line Interface
Learn the Linux Command Line interface and become a skilled user of this powerful operating system.
-
Course by
-
English

C Programming: Using Linux Tools and Libraries
Learn how to use professional tools and libraries to write and build C programs within the Linux operating system. Receive instant feedback on your code right within your browser.
-
Course by
-
Self Paced
-
English

Open Source Software Development: Linux for Developers
Start your open source software (OSS) adventure today by learning the key concepts of developing open source software and how to work productively in a Linux environment.
-
Course by
-
Self Paced
-
11
-
English

Linux Tools for Software Development
Learn the tools you need to confidently work in Linux development environments and beyond.
-
Course by
-
11
-
English

Initiation à Wireshark pour l'analyse de paquets sous linux
Ce projet guidé “Initiation à Wireshark pour l'analyse de paquets sous linux” est destiné principalement aux Administrateurs réseaux et Administrateurs Systèmes.
-
Course by
-
Self Paced
-
3 hours
-
French

Data and AI Fundamentals
Learn the fundamentals of Artificial Intelligence with a combination of AI fundamentals and an overview of the rich Linux Foundation AI & Data projects ecosystem. It is well-suited for any kind of AI adopter, regardless of the professional background and level of technical knowledge.
-
Course by
-
11
-
English

Linux Commands & Shell Scripting
This mini-course describes shell commands and how to use the advanced features of the Bash shell to automate complicated database tasks. For those not familiar with shell scripting, this course provides an overview of common Linux Shell Commands and shell scripting basics.
-
Course by
-
Self Paced
-
English