Curriculum library
The lesson-level curriculum behind our courses: every track, module and lesson named in order. This is the syllabus map — what the ground actually consists of — and it is also what the all-access library gives you to work through at your own pace.
How to read this. A library curriculum is not a course we teach — it is the detailed map of a subject. Where we run a course on that ground, the curriculum page links straight to it, so you can see the syllabus in full and then decide whether to be taught it live or work through it yourself.
Tracks
Digital Design & Chip Foundations
Every FPGA project and every chip starts with HDL and digital-design discipline. This track runs from writing correct hardware, through verification and analog/physical design, to how a design becomes silicon.
FPGA High-Speed Interfaces & SoC
Zynq systems with real links: timing closure, high-speed converters, PS-PL co-design, gigabit transceivers, PCIe hosts and storage.
Linux Kernel & Device Drivers
The kernel and driver ladder, split by topic: modules, concurrency, the device model, interrupts and DMA, USB, PCIe, and production readiness.
Embedded Linux & Multimedia
Boot the platform, then build the media stack on top: the kernel boot path, an embedded Debian, GStreamer pipelines and camera drivers.
High-Performance Networking & Cloud-Native
The kernel stack through to cloud-native, operated as code: eBPF and XDP, DPDK, RDMA, offload and virtualisation, service mesh, telemetry and security gateways.
Heterogeneous Computing & Edge AI
GPU fundamentals to deployed edge vision: CUDA programming and computer-vision deployment on Jetson modules.
Autonomous-Systems Middleware
Robot and vehicle middleware: ROS 2 and Apollo Cyber RT, from nodes and QoS to a deployed autonomy stack.
Digital Design & Chip Foundations
Every FPGA project and every chip starts with HDL and digital-design discipline. This track runs from writing correct hardware, through verification and analog/physical design, to how a design becomes silicon.
A178 lessons
- IC Design from Beginner to Master 40 lessons · Intermediate · written lessons
- Verilog & VHDL from Beginner to Expert 38 lessons · Beginner · written lessons
A278 lessons
- IC Design from Beginner to Master 40 lessons · Intermediate · written lessons
- Verilog & VHDL from Beginner to Expert 38 lessons · Beginner · written lessons
A338 lessons
- Verilog & VHDL from Beginner to Expert 38 lessons · Beginner · written lessons
A478 lessons
- IC Design from Beginner to Master 40 lessons · Intermediate · written lessons
- Verilog & VHDL from Beginner to Expert 38 lessons · Beginner · written lessons
A580 lessons
- IC Design from Beginner to Master 40 lessons · Intermediate · written lessons
- Circuit Simulation & SPICE Analysis with LTspice 40 lessons · Beginner to Advanced · written lessons
A640 lessons
- IC Design from Beginner to Master 40 lessons · Intermediate · written lessons
A778 lessons
- IC Design from Beginner to Master 40 lessons · Intermediate · written lessons
- Verilog & VHDL from Beginner to Expert 38 lessons · Beginner · written lessons
A878 lessons
- IC Design from Beginner to Master 40 lessons · Intermediate · written lessons
- Verilog & VHDL from Beginner to Expert 38 lessons · Beginner · written lessons
FPGA High-Speed Interfaces & SoC
Zynq systems with real links: timing closure, high-speed converters, PS-PL co-design, gigabit transceivers, PCIe hosts and storage.
B1264 lessons
- Artix-7 FPGA Starter Labs (18 Projects) 18 lessons · Beginner · hands-on projects
- MIPI CSI-2 + DDR3 Video Pipeline on Artix-7 46 lessons · Intermediate · video
- FPGA Stage 2: ZYNQ, High-Speed Interfaces & Algorithms 200 lessons · Advanced · video
B10200 lessons
- FPGA Stage 2: ZYNQ, High-Speed Interfaces & Algorithms 200 lessons · Advanced · video
B110 lessons
- CXD720 FPGA DSP Board Kit 0 lessons · Intermediate · reference kit
B212 lessons
- Timing & Net-Delay Case Studies 12 lessons · Advanced · video
B3212 lessons
- Timing & Net-Delay Case Studies 12 lessons · Advanced · video
- FPGA Stage 2: ZYNQ, High-Speed Interfaces & Algorithms 200 lessons · Advanced · video
B4200 lessons
- FPGA Stage 2: ZYNQ, High-Speed Interfaces & Algorithms 200 lessons · Advanced · video
B546 lessons
- MIPI CSI-2 + DDR3 Video Pipeline on Artix-7 46 lessons · Intermediate · video
B6200 lessons
- FPGA Stage 2: ZYNQ, High-Speed Interfaces & Algorithms 200 lessons · Advanced · video
B7200 lessons
- FPGA Stage 2: ZYNQ, High-Speed Interfaces & Algorithms 200 lessons · Advanced · video
B8200 lessons
- FPGA Stage 2: ZYNQ, High-Speed Interfaces & Algorithms 200 lessons · Advanced · video
B9200 lessons
- FPGA Stage 2: ZYNQ, High-Speed Interfaces & Algorithms 200 lessons · Advanced · video
Linux Kernel & Device Drivers
The kernel and driver ladder, split by topic: modules, concurrency, the device model, interrupts and DMA, USB, PCIe, and production readiness.
C160 lessons
- Kernel Modules & Driver Development 30 lessons · Intermediate · written lessons
- Linux Device Driver Crash Course 30 lessons · Beginner · written lessons
C1030 lessons
- Advanced Embedded Driver Bootcamp: High-Speed Buses 30 lessons · Advanced · written lessons
C1140 lessons
- Linux Kernel Synchronisation in Depth 40 lessons · Advanced · written lessons
C1240 lessons
- Linux Kernel Synchronisation in Depth 40 lessons · Advanced · written lessons
C270 lessons
- Linux Kernel Synchronisation in Depth 40 lessons · Advanced · written lessons
- Build a Linux Driver from Zero: USB & NIC 30 lessons · Beginner · written lessons
C389 lessons
- Path to Senior Driver Engineer: Bus & Device Model 30 lessons · Intermediate · written lessons
- Linux Driver Framework: Buses, Devices & Drivers 29 lessons · Intermediate · written lessons
- Build a Linux Driver from Zero: USB & NIC 30 lessons · Beginner · written lessons
C489 lessons
- Path to Senior Driver Engineer: Bus & Device Model 30 lessons · Intermediate · written lessons
- Core Driver Skills: Interrupts, DMA & Bus Transfers 29 lessons · Intermediate · written lessons
- Advanced Embedded Driver Bootcamp: High-Speed Buses 30 lessons · Advanced · written lessons
C589 lessons
- Path to Senior Driver Engineer: Bus & Device Model 30 lessons · Intermediate · written lessons
- Linux Driver Framework: Buses, Devices & Drivers 29 lessons · Intermediate · written lessons
- Three Driver Bootcamps: USB, Network Card & PCIe 30 lessons · Intermediate · written lessons
C690 lessons
- Write a Linux USB Device Driver, Step by Step 30 lessons · Beginner · written lessons
- Three Driver Bootcamps: USB, Network Card & PCIe 30 lessons · Intermediate · written lessons
- Build a Linux Driver from Zero: USB & NIC 30 lessons · Beginner · written lessons
C760 lessons
- Deep Dive into the Linux PCIe Subsystem 30 lessons · Advanced · written lessons
- PCI/PCIe Bus Theory & Linux Driver Development 30 lessons · Intermediate · written lessons
C890 lessons
- Deep Dive into the Linux PCIe Subsystem 30 lessons · Advanced · written lessons
- PCI/PCIe Bus Theory & Linux Driver Development 30 lessons · Intermediate · written lessons
- Three Driver Bootcamps: USB, Network Card & PCIe 30 lessons · Intermediate · written lessons
C9149 lessons
- Linux Driver Framework: Buses, Devices & Drivers 29 lessons · Intermediate · written lessons
- Kernel Modules & Driver Development 30 lessons · Intermediate · written lessons
- Linux Device Driver Crash Course 30 lessons · Beginner · written lessons
- Three Driver Bootcamps: USB, Network Card & PCIe 30 lessons · Intermediate · written lessons
- Linux Hardware Interaction: USB, PCIe & Network Drivers 30 lessons · Intermediate · written lessons
Embedded Linux & Multimedia
Boot the platform, then build the media stack on top: the kernel boot path, an embedded Debian, GStreamer pipelines and camera drivers.
D140 lessons
- Linux Kernel Boot Process in Depth 40 lessons · Advanced · written lessons
D1069 lessons
- Embedded Debian in Practice 30 lessons · Intermediate · written lessons
- Embedded Multimedia with GStreamer 39 lessons · Intermediate · written lessons
D1139 lessons
- Embedded Multimedia with GStreamer 39 lessons · Intermediate · written lessons
D1239 lessons
- Embedded Multimedia with GStreamer 39 lessons · Intermediate · written lessons
D240 lessons
- Linux Kernel Boot Process in Depth 40 lessons · Advanced · written lessons
D330 lessons
- Embedded Debian in Practice 30 lessons · Intermediate · written lessons
D430 lessons
- Embedded Debian in Practice 30 lessons · Intermediate · written lessons
D530 lessons
- Embedded Debian in Practice 30 lessons · Intermediate · written lessons
D639 lessons
- Embedded Multimedia with GStreamer 39 lessons · Intermediate · written lessons
D770 lessons
- Advanced Embedded Driver Bootcamp: High-Speed Buses 30 lessons · Advanced · written lessons
- Linux Camera Driver Development (V4L2) 40 lessons · Advanced · written lessons
D840 lessons
- Linux Camera Driver Development (V4L2) 40 lessons · Advanced · written lessons
D940 lessons
- Linux Camera Driver Development (V4L2) 40 lessons · Advanced · written lessons
High-Performance Networking & Cloud-Native
The kernel stack through to cloud-native, operated as code: eBPF and XDP, DPDK, RDMA, offload and virtualisation, service mesh, telemetry and security gateways.
E130 lessons
- Linux Kernel Network Stack Internals 30 lessons · Advanced · written lessons
E1090 lessons
- Cloud-Native Network Performance & Monitoring 30 lessons · Advanced · written lessons
- Container Networking, CNI Plugins & Cilium/eBPF 30 lessons · Advanced · written lessons
- Kubernetes Networking: Service Mesh & Multi-Cluster 30 lessons · Advanced · written lessons
E1190 lessons
- TCP BBR Congestion Control & Custom Algorithms 30 lessons · Advanced · written lessons
- Low-Latency Networking for Edge Computing 30 lessons · Advanced · written lessons
- High-Performance Networks for Hyperconverged Infrastructure 30 lessons · Advanced · written lessons
E1260 lessons
- Network Test Automation & Benchmarking (TRex/Kitune) 30 lessons · Intermediate · written lessons
- Network Telemetry & AI-Driven Operations 30 lessons · Advanced · written lessons
E1359 lessons
- Firewall-as-a-Service Accelerated with DPDK 30 lessons · Advanced · written lessons
- Zero Trust Networks & High-Performance Security Gateways 29 lessons · Advanced · written lessons
E1460 lessons
- Network Programmability with P4 30 lessons · Intermediate · written lessons
- 5G Core UPF & Data-Plane Development 30 lessons · Advanced · written lessons
E2149 lessons
- Three Driver Bootcamps: USB, Network Card & PCIe 30 lessons · Intermediate · written lessons
- Linux Hardware Interaction: USB, PCIe & Network Drivers 30 lessons · Intermediate · written lessons
- Build a Linux Driver from Zero: USB & NIC 30 lessons · Beginner · written lessons
- Network Driver Internals & Performance Tuning 29 lessons · Advanced · written lessons
- NIC Driver Debugging & Optimisation Masterclass 30 lessons · Advanced · written lessons
E330 lessons
- eBPF & XDP: Programmable Kernel Networking 30 lessons · Advanced · written lessons
E459 lessons
- DPDK in Depth: High-Performance Networking 29 lessons · Advanced · written lessons
- Build a User-Space TCP/IP Stack on DPDK 30 lessons · Advanced · written lessons
E559 lessons
- DPDK in Depth: High-Performance Networking 29 lessons · Advanced · written lessons
- NFV & DPDK Performance Engineering 30 lessons · Advanced · written lessons
E660 lessons
- RDMA Programming: InfiniBand & RoCE 30 lessons · Advanced · written lessons
- RoCEv2 Converged Fabric Deployment 30 lessons · Advanced · written lessons
E760 lessons
- RDMA Programming: InfiniBand & RoCE 30 lessons · Advanced · written lessons
- RoCEv2 Converged Fabric Deployment 30 lessons · Advanced · written lessons
E890 lessons
- RDMA for Distributed Storage (Ceph) 30 lessons · Advanced · written lessons
- GPUDirect & SR-IOV for Supercomputing 30 lessons · Advanced · written lessons
- RDMA and MPI for High-Performance Computing 30 lessons · Advanced · written lessons
E9119 lessons
- Crypto NICs & TLS Offload in Practice 30 lessons · Advanced · written lessons
- PCIe Passthrough & Virtualised Network Performance 29 lessons · Advanced · written lessons
- SmartNIC & DPU Programming 30 lessons · Advanced · written lessons
- SR-IOV: Principles & Practice 30 lessons · Intermediate · written lessons
Heterogeneous Computing & Edge AI
GPU fundamentals to deployed edge vision: CUDA programming and computer-vision deployment on Jetson modules.
F140 lessons
- CUDA Core Programming & Parallel Optimisation 40 lessons · Intermediate · written lessons
F240 lessons
- CUDA Core Programming & Parallel Optimisation 40 lessons · Intermediate · written lessons
F340 lessons
- CUDA Core Programming & Parallel Optimisation 40 lessons · Intermediate · written lessons
F440 lessons
- CUDA Core Programming & Parallel Optimisation 40 lessons · Intermediate · written lessons
F540 lessons
- Computer Vision Deployment on NVIDIA Jetson AGX Xavier 40 lessons · Intermediate · written lessons
F640 lessons
- Computer Vision Deployment on NVIDIA Jetson AGX Xavier 40 lessons · Intermediate · written lessons
F740 lessons
- Computer Vision Deployment on NVIDIA Jetson AGX Xavier 40 lessons · Intermediate · written lessons
F840 lessons
- Computer Vision Deployment on NVIDIA Jetson AGX Xavier 40 lessons · Intermediate · written lessons
F940 lessons
- Computer Vision Deployment on NVIDIA Jetson AGX Xavier 40 lessons · Intermediate · written lessons
Autonomous-Systems Middleware
Robot and vehicle middleware: ROS 2 and Apollo Cyber RT, from nodes and QoS to a deployed autonomy stack.
G130 lessons
- Autonomous-Driving Middleware: ROS 2 & Cyber RT 30 lessons · Intermediate · written lessons
G230 lessons
- Autonomous-Driving Middleware: ROS 2 & Cyber RT 30 lessons · Intermediate · written lessons
G330 lessons
- Autonomous-Driving Middleware: ROS 2 & Cyber RT 30 lessons · Intermediate · written lessons
G430 lessons
- Autonomous-Driving Middleware: ROS 2 & Cyber RT 30 lessons · Intermediate · written lessons
Want this taught, not read?
Every one of our live courses is built on part of this map. Tell us which ground matters and we will tell you the shortest route through it.