MolSSI Launches New Udemy Course: C++ Project Management with CMake, CPack, and Beyond

The Molecular Sciences Software Institute (MolSSI) is proud to announce the release of a new Udemy course: C++ Project Management: CMake, CPack, and Beyond, created by MolSSI Software Scientist Taylor Barnes.

Becoming an expert C++ software engineer requires much more than writing code. Successful developers also need to navigate the complex world of compilers, build systems, package managers, containerization tools, and debuggers that power serious scientific software. This course provides a natural next step for students and researchers who know the basics of C++ and are ready to tackle real-world project management.

Enroll before October 4, 2025 to receive the discount:

What You’ll Learn

This hands-on course dives into the practical aspects of building, distributing, and maintaining C++ software:

  • CMake: Configure builds, compile executables and libraries, and manage dependencies.
  • CPack: Create distribution-ready packages for your projects.
  • Debian packaging: Understand package structures and run your own test APT server.
  • Debugging tools: Use sanitizers and language servers to improve project reliability.
  • Container-native development: Explore Docker-based workflows that can streamline and modernize your development environment.

The course also addresses advanced CMake concepts such as variable substitution, scope handling, and creating packages that are easy for others to consume.

Course Format

All lessons are recorded inside a Docker development environment, with support for both Neovim and VSCode. This setup ensures participants can follow along step by step while experiencing the benefits of container-native development.

Who Should Enroll?

  • Students with a basic foundation in C++ who want to take the next step.
  • Developers interested in contributing to real-world scientific projects.
  • Coders looking to create and distribute libraries for others to use.

Prerequisites: Basic familiarity with C++ (conditions, loops, simple classes) and some experience with Git are recommended.