{ } NDC Conferences
About us
Dark
Light
Course Calendar
Sort after topic
Dec 1
NDC Manchester 2025
1 - 4 December 2025
40
Speakers
50
Sessions
8
Workshops
20
Technologies
Jan 26
NDC London 2026
26 - 30 January 2026
100
Speakers
50
Technologies
12
Workshops
110
Talks
Mar 2
NDC Security Oslo 2026
2 - 5 March 2026
50
Speakers
Technologies
8
Workshops
60
Talks
Apr 22
NDC Sydney 2026
22 - 24 April 2026
60
Speakers
8
Workshops
40
Technologies
70
Talks
May 5
C++ Best Practices
Jason Turner
2 days
The Westin Harbour Castle
1 600 CAD
Register
Sept 14
NDC Oslo 2026
14 - 18 September 2026
150
Speakers
45
Technologies
12
Workshops
160
Talks
Sept 21
NDC TechTown 2026
21 - 24 September 2026
50
Speakers
15
Technologies
10
Workshops
60
Talks
On demand courses
Leaving Template Meta-Programming Behind
Hana Dusíková
-
Contact us
Improving our safety with a quantities and units library
Mateusz Pusz
-
Contact us
Keynote: Abstraction Patterns
Kate Gregory
-
Contact us
C++: what comes next?
Chandler Carruth
-
Contact us
Hardware Interfacing with Embedded Linux
Chris Simmonds
-
Contact us
How C++23 changes the way we write code
Timur Doumler
-
Contact us
Demonstrating binary exploitation with a recent vulnerability
Christian Resell, Marit Iren Rognli Tokle
-
Contact us
Introducing a matrix class to the C++ standard library
Guy Davidson
-
Contact us
What has writing about the Core Guidelines shown me?
Guy Davidson
-
Contact us
Inside a static analyser: type system
Yuri Minaev
-
Contact us
Designing a modern build system and dependency manager, how hard can it be?
Jussi Pakkanen
-
Contact us
Asynchronous I/O and coroutines for smooth data streaming
Björn Fahller
-
Contact us
How I Taught Modern C++ - One Pixel at a Time
Mike Shah
-
Contact us
Real Programming
Sjur Julin
-
Contact us
Program with GUTs
Kevlin Henney
-
Contact us
Agile embedded development under regulatory constraints
Espen Albrektsen
-
Contact us
C++ Concepts: Constraining C++ Templates in C++20 and Before
Mateusz Pusz
-
Contact us
Modern C++ Idioms
Mateusz Pusz
-
Contact us
Software Engineering Is About Tradeoffs
Mateusz Pusz
-
Contact us
A Physical Units Library For C++
Mateusz Pusz
-
Contact us
How to start using coroutines
Mikhail Svetkin
-
Contact us
Catching up with Catch2: Changes recent and future
Martin Hořeňovský
-
Contact us
Implementing C++ Semantics in Python
Tamir Bahar
-
Contact us
Value Oriented Programming: Part 1 - Functions
Tony Van Eerd
-
Contact us
Mod(C++) Fundamentals: Introduction to C++
Patricia Aas
-
Contact us
TypeScript for C++ programmers
Ólafur Waage
-
Contact us
A (short) Tour of C++ Modules
Daniela Engert
-
Contact us
From Program to Process - What Happens After the Compiler
Anders Schau Knatten
-
Contact us
Little Red Riding Hood & the k-d tree forest
Jørgen Kvalsvik
-
Contact us
Dependency Management in C++
Patricia Aas
-
Contact us
Volatility Ahead
Robert Seacord
-
Contact us
Leaving Template Meta-Programming Behind
Hana Dusíková
-
Contact us
Virtual Reality with Qt Quick 3D
Andy Nichols
-
Contact us
Instrumenting machine code over WebRTC
Ole André Vadla Ravnås
-
Contact us
Modern C++ Design Patterns
Klaus Iglberger
-
Contact us
Identifying Common Code Smells (In C++)
Arne Mertz
-
Contact us
Typical C++, but why?
Björn Fahller
-
Contact us
How to start a program
Anders Schau Knatten
-
Contact us
Theory makes beautiful programs; or MC/DC in gcc
Jørgen Kvalsvik
-
Contact us
Signed Integers Considered Harmful
Robert Seacord
-
Contact us
Surviving a chip shortage
Inge Fredriksen
-
Contact us
Making sense of "volatile"
Inge Fredriksen
-
Contact us
A Preview of C++23
Daniela Engert
-
Contact us
Contemporary C++ in Action
Daniela Engert
-
Contact us
Package management in C++
Mikhail Svetkin
-
Contact us
Zephyr RTOS: Software power tools for constraint devices
Eirik Midttun, Balaji Srinivasan
-
Contact us
An Introduction To Floating Point Math
Martin Hořeňovský
-
Contact us
5 Years Of Teaching C++: A Retrospective
Martin Hořeňovský
-
Contact us
Reprogramming Binary Programs
Ole André Vadla Ravnås
-
Contact us
Analysis of Real World Apps with Frida
Kyle Ossinger
-
Contact us
Error handling in C++: as easy as "use exceptions"?
Vitaly Fanaskov
-
Contact us
42 Silly Ways to say Hello in C
Olve Maudal
-
Contact us
The Floor is Lava, trying to teach C++
Patricia Aas
-
Contact us
Wearable Live Captions (making mask wearing more accessible for those who are hard of hearing)
Jo Franchetti
-
Contact us
Debugging and Profiling C++ applications on Linux
Milian Wolff
-
Contact us
Return Oriented Programming, an introduction
Patricia Aas
-
Contact us
Tour of C - a proper (re)introduction to C
Olve Maudal
-
Contact us
Secure Coding in C and C++
Robert Seacord
-
Contact us
DAPR in Action, Migrating your Application to Microservices
Stas Lebedenko
-
Contact us
Modern C++ Concurrent and Asynchronous Programming
Mateusz Pusz
-
Contact us
C++ Coroutines from scratch
Andreas Fertig
-
Contact us
A C++ journey from old to modern - Modernising ObjectiveFrame
Jonas Lindemann
-
Contact us
Concurrency Improvements in C++20: A Deep Dive
Rainer Grimm
-
Contact us
Understanding And Mastering Flat Containers
Vitaly Fanaskov
-
Contact us
How to start a modern C++ project?
Mikhail Svetkin
-
Contact us
An engineer's guide to Linux Kernel upgrades
Ignat Korchagin
-
Contact us
What is Linux kernel keystore and why you should use it in your next application
Ignat Korchagin
-
Contact us
(In)Secure C++: Sec Edition
Patricia Aas
-
Contact us
C++ Features You Might Not Know
Jonathan Müller
-
Contact us
So, you want to use C++ Modules ... cross-platform?
Daniela Engert
-
Contact us
What we’ve been awaiting for?
Hana Dusíková
-
Contact us
C++ MythBusters Strike 2
Victor Ciura
-
Contact us
Plugging holes in template meta programming
Corentin Jabot
-
Contact us
Template Meta-State Machines, Madness and Shannon.
Jason McGuiness
-
Contact us
Lightning Talks
Hila Fish, Praveen Kottarathil, Dilek Akçay
-
Contact us
Safer C++ with MISRA-C++ 2023
Peter Sommerlad
-
Contact us
Secure development with C++ - Lessons and techniques
Helge Penne
-
Contact us
Leveraging the power of C++ for efficient machine learning on embedded devices
Adrian Stanciu
-
Contact us
Unleashing the Power of C++ Templates with `mp-units`: Lessons learned and a new library design
Mateusz Pusz
-
Contact us
Using Python and Behave to test C++ applications
Arne Mertz
-
Contact us
Tips and Tricks for Becoming a CMake Master
Hans Vredeveld
-
Contact us
Playing Video Games One Frame at a Time
Ólafur Waage
-
Contact us
How symbols work and why we need them
Anders Schau Knatten
-
Contact us
Reintroduction to C
Olve Maudal
-
Contact us
Out-of-order execution - what can it do for me?
Patrick Schittekat
-
Contact us
Standard C++ Toolset
Anastasia Kazakova
-
Contact us
What's new with C in 2023?
Aaron Ballman
-
Contact us
Keynote: Safety and Security: The Future of C and C++
Robert Seacord
-
Contact us
Most Malleable Memory Management Method
Björn Fahller
-
Contact us
Safety & Security: the future of C and C++
Robert Seacord
-
Contact us
C is So Back: Unbreaking the Charter
Björkus Dorkus
-
Contact us
C++hatGPT: How AI Tools Impact Your Life as a Systems Programmer
Andrei Alexandrescu
-
Contact us
C++20 in Practice - A Complete Introduction
Nicolai Josuttis
-
Contact us
C++ Software Design
Klaus Iglberger
-
Contact us
(In)Secure C++: Sec Edition
Patricia Aas
-
Contact us
Metal-In Test-Driven Development: A Dual-Target TDD approach
Fran Climent
-
Contact us
Speedrun through Splicing Sockets with Sockmap
Jakub Sitnicki
-
Contact us
Cache friendly data + functional + ranges = ❤️
Björn Fahller
-
Contact us
Not your GrandParent’s C++
Phil Nash
-
Contact us
How To Use `constexpr` In C++23
Jason Turner
-
Contact us
Core and other guidelines. The good, the bad, the... questionable?
Arne Mertz
-
Contact us
Monadic Operations in Modern C++: A Practical Approach
Vitaly Fanaskov
-
Contact us
Path coverage in gcc
Jørgen Kvalsvik
-
Contact us
C++ Horizons
Bryce Adelstein Lelbach
-
Contact us
Cracking the Furby code: The path to evolve an icon
Luke McNeice
-
Contact us
Why Iterators Got It All Wrong — and what we should use instead
Arno Schoedl
-
Contact us
Passive ARM Assembly Skills for Debugging, Optimization (and Hacking)
Sebastian Theophil
-
Contact us
An (In-)Complete Guide to C++ Object Lifetimes
Jonathan Müller
-
Contact us
Memory Model: Get your shared data under control
Jana Machutová
-
Contact us
Exploring Dependency Injection and Reflection in Modern C++
Mikhail Svetkin
-
Contact us
My favorite (constexpr) data structures
Hana Dusíková
-
Contact us
Green Programming
Tina Ulbrich, Hendrik Niemeyer
-
Contact us
Demystifying Process Address Space: Heap, Stack, and Beyond
Piotr Wierciński
-
Contact us
The existential threat against C++ and where to go from here
Helge Penne
-
Contact us
Unlocking Performance Through Reverse Engineering
Patrick Schittekat
-
Contact us
The Two Memory Models
Anders Schau Knatten
-
Contact us
The Magic of a Trace
Theodor Thornhill
-
Contact us
Using vcpkg in anger
Martin Hořeňovský
-
Contact us
Unleashing 🦀 The Ferris Within
Victor Ciura
-
Contact us
Not getting lost in translations
Daniela Engert
-
Contact us
Correct Use of Integers in Safety-critical Systems
Robert Seacord
-
Contact us
What if binary size matters?
Paulo Martinez
-
Contact us
The Carbon Language: Road to 0.1
Chandler Carruth
-
Contact us
Design Patterns - The Most Common Misconceptions (2 of N)
Klaus Iglberger
-
Contact us
Keynote: How To Address 7 Major C++ Pain Points with Tools
Anastasia Kazakova
-
Contact us
Bootable applications - an introduction
Michael Odden
-
Contact us
Locknote: Local Reasoning in C++
Sean Parent
-
Contact us
Deep dive with Blueye underwater drones
Jonas Follesø
-
Contact us
Hello Operator: Making The Call for C
Björkus Dorkus
-
Contact us
Effective C (and C++)
Robert Seacord
-
Contact us
Lightning Updates
Hana Dusíková
-
Contact us
Faster programs with your compilers autovectorization feature
Ivica Bogosavljevic
-
Contact us
The Code is Documentation Enough
Tina Ulbrich
-
Contact us
Implicit Conversions Considered Harmful
Jason Turner
-
Contact us
The Real Problem of C++
Klaus Iglberger
-
Contact us
Five Issues with std::expected and How to Fix Them
Vitaly Fanaskov
-
Contact us
Practical TSN; using NetChan for distributed PoC
Henrik Austad
-
Contact us
Condition coverage in gcc: introduction and intuition
Jørgen Kvalsvik
-
Contact us
Using C++ Modules with Confidence
Daniela Engert
-
Contact us
Adventures in Serialization: A Flexible Approach for Embedded Systems in C++
Jørn Bersvendsen
-
Contact us
"Just switch the compiler", they said.
Arne Mertz
-
Contact us
Towards Correctness, Safety and Security in C++26
Daniela Engert
-
Contact us
Introduction to Bazel
Xavier Bonaventura
-
Contact us
How to declare a constant in C++
Mikhail Matrosov
-
Contact us
Block-Based Parallel Programming
Bryce Adelstein Lelbach
-
Contact us
War story from the build system trenches: Integrating Bazel and Testwell CTC++ code coverage
Johan Herland
-
Contact us
C++20 Modules, 5 Years Later
Mikhail Svetkin
-
Contact us
The role of new languages in the Future of the Qt Ecosystem
Cristián Maureira-Fredes
-
Contact us
Knockin' on Header's Door: An Overview of C++ Modules
Alexsandro Thomas
-
Contact us
Dynamic memory allocation challenges in safety critical systems
Xavier Bonaventura
-
Contact us
Locknote: The Past, Present and Future of Programming Languages
Kevlin Henney
-
Contact us
More Speed & Simplicity: Practical Data-Oriented Design in C++
Vittorio Romeo
-
Contact us
How Debuggers Work
Sy Brand
-
Contact us
Real-time Safety — Guaranteed by the Compiler!
Anders Schau Knatten
-
Contact us
Threads vs. Coroutines: Understanding C++’s Concurrency Models
Conor Spilsbury
-
Contact us
Part 1/2: Workshop: How to execute an object file
Ignat Korchagin
-
Contact us
Rust/C++ Interop: Carcinization or Intelligent Design?
Victor Ciura
-
Contact us
Composite Array Types in C
Robert Seacord
-
Contact us
Mod(C++) Intermediate
Patricia Aas
-
Contact us
Migrating an embedded C application to Rust
Eivind Bergem
-
Contact us
MISRA C++202x: It ain't your grandpa's MISRA any more
Loïc Joly
-
Contact us
C++ Under the Hood: (Internal Class Mechanisms)
Chris Ryan
-
Contact us
Part 2/2: Workshop: How to execute an object file
Ignat Korchagin
-
Contact us
CUDA Python Fundamentals and Best Practices
Bryce Adelstein Lelbach, Conor Hoekstra, Ashwin Srinath
-
Contact us
Memory Safety: Rust vs. C
Robert Seacord
-
Contact us
Virtual Reality with Qt Quick 3D
Andy Nichols
-
Contact us
CUDA C++ Fundamentals and Best Practices
Bryce Adelstein Lelbach, Conor Hoekstra, Ashwin Srinath
-
Contact us
Code Analysis++
Anastasia Kazakova
-
Contact us
The Rust Programming Language in a day
Stefan Baumgartner
-
Contact us
NEON Vectorization Workshop
Ivica Bogosavljevic
-
Contact us
Naming is Hard: Let's Do Better
Kate Gregory
-
Contact us
NDC Conferences uses cookies to see how you use our website. We also have embeds from YouTube and Vimeo. How do you feel about that?
All good!
Don't want it