In 2025 the event was hosted in Kongsberg, from Monday September 22 through Thursday September 25. A record ~450 people participated.
Here is the full agenda for 2025:
Pre-conf workshops (Monday and Tuesday):
- (2 days) C++ Software Design, Klaus Iglberger
- (2 days) NEON Vectorization Workshop, Ivica Bogosavljevic
- (2 days) Secure Coding in C and C++, Robert Seacord
- (2 days) C++ Best Practices, Jason Turner
- (2 days) Debugging and Profiling C++ applications on Linux, Milian Wolff
- (1 day) Program with GUTs, Kevlin Henney
- (1 day) Package management with Guix, Jørgen Kvalsvik
- (1 day) CUDA C++ Fundamentals and Best Practices, Bryce Adelstein Lelbach, Conor Hoekstra, Ashwin Srinath
- (1 day) CUDA Python Fundamentals and Best Practices, Bryce Adelstein Lelbach, Conor Hoekstra, Ashwin Srinath
Pre-conf meetup (Tuesday evening 1800-2000)
- Pre-NDC-TechTown Meetup with Klaus Iglberger: There Is No Silver Bullet (event)
Wednesday 0900-1000: (Plenary)
- Keynote: Rust is not about memory safety, Helge Penne
Wednesday 1020-1120: (Parallel sessions)
- Real-time Safety - Guaranteed by the Compiler!, Anders Schau Knatten
- More Speed & Simplicity: Practical Data-Oriented Design in C++, Vittorio Romeo
- Performance engineering - being friendly to your hardware, Ignas Bagdonas
- How to declare a constant in C++, Mikhail Matrosov
- Comprehensive testing of embedded software, Eivind Bergem
Wednesday 1140-1240: (Parallel sessions)
- Rust at Volvo Cars, Julius Gustavsson
- Five Issues with std::expected and How to Fix Them, Vitaly Fanaskov
- Adventures in Serialization: A Flexible Approach for Embedded Systems in C++, Jørn Bersvendsen
- OTA Updates in the Wild: Lessons from the Field, Jana Perić
- Unlocking Performance Through Reverse Engineering, Patrick Schittekat
Wednesday 1340-1440: (Parallel sessions)
- Dynamic memory allocation challenges in safety critical systems, Xavier Bonaventura
- How Debuggers Work, Sy Brand
- Faster programs with your compilers autovectorization feature, Ivica Bogosavljevic
- The Real Problem of C++, Klaus Iglberger
- Test automation with Python Behave without BDD, James Westfall
Wednesday 1500-1600: (Parallel sessions)
- Block-Based Parallel Programming, Bryce Adelstein Lelbach
- Threads vs. Coroutines: Understanding C++’s Concurrency Models, Conor Spilsbury
- Embedded Rust in Production, Ulf Lilleengen
- A bird’s eye view of a parser, Joakim Lier
- Profiling with Heaptrack and Hotspot on Embedded Linux, Milian Wolff
- Part 1/2: Workshop: How to execute an object file, Ignat Korchagin
Wednesday 1620-1720: (Parallel sessions)
- Parallel Algorithms: Work Smarter, Not Harder, Jana Machutová
- When to give up, and how?, Björn Fahller
- Extending MicroPython with Rust: Two Worlds Collide, Jan Matějek
- C++20 Modules, 5 Years Later, Mikhail Svetkin
- Swarmfare - When the shit hits a thousand fans, Jan Dyre Bjerknes
- Part 2/2: Workshop: How to execute an object file, Ignat Korchagin
Wednesday 1720-2100: (Party, Keynote, Quiz)
- NDC Party, with Sy Brand and Anders Schau Knatten
Thursday 0900-1000: (Parallel sessions)
- “Just switch the compiler”, they said., Arne Mertz
- Dream Machines and Walled Gardens, Anders Norås
- The Code is Documentation Enough, Tina Ulbrich
- Knockin’ on Header’s Door: An Overview of C++ Modules, Alexsandro Thomas
- Cryptographic Side-Channels on Embedded Devices, Tjerand Silde
Thursday 1020-1120: (Parallel sessions)
- Much ado about noping, JF Bastien
- Introduction to Bazel, Xavier Bonaventura
- “Practical TSN; using NetChan for distributed PoC”, Henrik Austad
- Towards Correctness, Safety and Security in C++26, Daniela Engert
Thursday 1140-1240: (Parallel sessions)
- Composite Array Types in C, Robert Seacord
- Coverage, quality, and Goodhart’s Law, Jørgen Kvalsvik
- War story from the build system trenches: Integrating Bazel and Testwell CTC++ code coverage, Johan Herland
- Good Bye Electron, Hello Rust + Tauri!, Andreas Lillebø Holm
- Will your program still be correct next year?, Björn Fahller
Thursday 1340-1440: (Parallel sessions)
- How to Change the World, Kate Gregory
- The role of new languages in the Future of the Qt Ecosystem, Cristián Maureira-Fredes
- Eliminating bugs: testing is not enough, Giles Chamberlin
- CMake — From Basics to Building, Petr Kmoch
- Rust/C++ Interop: Carcinization or Intelligent Design?, Victor Ciura
Thursday 1500-1600: (Parallel sessions)
- Implicit Conversions Considered Harmful, Jason Turner
- “Rustly typed APIs; Strongly typed and authorized JSON RPC with Rust, Procedural macros and a DSL”, Mathias Myrland
- The joys and sorrows of portable, cross-platform 3D graphics in Qt 6, Laszlo Agocs
- Building C++: It Doesn’t Have to be Painful!, Nicole Patricia Mazzuca
- Thinking Outside the Box – Social Sustainability in Tech Education & Recruitment, Eskil Domben
Thursday 1620-1720: (Plenary)
- Locknote: The Past, Present and Future of Programming Languages, Kevlin Henney