“Classic STL” at CppCon 2020

It’s almost time for CppCon 2020! The conference is happening entirely online this year. I’ve been quite impressed with the amount of polish that’s gone into it. If you’re still on the fence about whether CppCon is right for you, I think 2020 would be a great year to try it out: You can “attend” from home, for a vastly reduced conference ticket price of only $300 for the whole five-day conference. (I have been informed that $50 student-price tickets, also, are still available as of this writing.)

The conference program officially starts on Sunday, September 13th — that’s tomorrow! — with an “Open House” and welcome reception hosted in Remo’s virtual conference center. You can take the tour, then wander around the Remo conference rooms and join “tables” to video-chat with other attendees in groups of 2 to 8.

Main-program sessions happen from Monday to Friday next week. I myself am giving two talks, both in the Back to Basics track:

For more on the Back to Basics track, see “Back to Basics at CppCon 2020” (2020-08-11).


The professional training classes that normally happen on weekends pre- and post-conference are now happening Wednesday–Friday pre-conference (you missed those, sorry) and Monday–Wednesday post-conference. You still have time to sign up for a post-conference training class!

CppCon 2020 offers post-conference training classes taught by Mateusz Pusz (C++20 Concepts), Michael Voss and Pablo Reble (Intel TBB), Vittorio Romeo (C++17), Gordon Brown and Michael Wong (GPU programming), and Steve Dewhurst (templates). The one you really won’t want to miss is, of course, “Classic STL: Algorithms, Containers, Iterators” with Arthur O’Dwyer. :) “Classic STL” is a brand-new course that focuses on how to use STL idioms like — well, algorithms, containers, and iterators! It is completely different from my previous years’ class “The STL from Scratch,” which ironically focused more on the C++11 standard library (concurrency primitives, type-erasure, etc.) and not on the STL per se.

Here’s a copy of the informational email that goes out to each of the students who registers for “Classic STL.” If it piques your interest, registration is still open right up until September 20th!


Dear students,

Welcome to “Classic STL: Algorithms, Containers, Iterators”! Thank you for registering! Below you’ll find information about the course, including the links to connect to the online meeting. If you still have any questions, please send me an email, or reach out to me on Slack.

We have a Slack channel

By now you all should have received invitations to the CppCon Slack workspace, https://cppcon.slack.com. We have a private channel dedicated to our class [REDACTED]. I’ll use that private channel for any announcements or last-minute changes (such as if I’ve screwed up the Google Meet and have to create a new one). Feel free to use it for questions or discussion related to the class, as well.

If you can’t log in to the CppCon Slack, or if you’re not yet able to see the private channel, please tell me or the CppCon Academy organizers and we’ll sort it out.

Course materials and lab requirements

During the class, the course materials — slides and exercises — will be available at [REDACTED].

The course will include 8 lab exercises, for which you’ll be expected to use your own machine. The exercises should work fine on any operating system and compiler as long as it supports at least C++14. The exercises do use simple Makefiles, so they’ll probably work more easily on Mac, Linux, or Cygwin; but I don’t expect them to be difficult to compile on Windows either, and I’m happy to work with you if technical difficulties do arise. You’ll download a .zip file of all the lab exercises from [REDACTED] on the first day of class.

Getting to class

The class runs from 09:00 to 15:00 Colorado time, Monday through Wednesday, September 21–23. (In my timezone, New York, that’s 11:00 to 17:00.)

CppCon itself uses the Remo platform, but for the pre- and post-conference classes, they’ve asked us instructors to pick our own platform. (Remo draws a sharp distinction between the “presenter” and the “audience,” which makes it hard to do back-and-forth discussions unless you have fewer than 8 people total.)

So, for this class, we’re going to be using Google Meet. Here is the link: [REDACTED] Assuming I’ve set it up correctly, when you click on that link, you’ll get to a page that asks you to “Request to join,” and I’ll be the only one who can let you in. I’m assuming that Google Meet isn’t a problematic platform for anyone. If it’ll be a problem for you and you have a counterproposal to offer, please tell me and we’ll see what we can do.

I’ll try to show up a little early every day to let people in. I’ll put a timer on screen showing a countdown to the start of class. I’ll also show the timer during labs and stretch breaks.

What will we learn?

The course description is available at https://cppcon.org/class-2020-classic-stl/.

As this will be a small class, I’d very much like to hear from you about your level of experience with C++ and with the STL! What areas do you feel like you have trouble with, or wish you understood better? What parts of the existing course description appealed to you? Is there anything you would specifically like to see covered in our three days together? Send me an email or a Slack, and let me know!

Arthur O’Dwyer
arthur.j.odwyer@gmail.com
arthur-odwyer on the cppcon Slack
arthur-odwyer on the cpplang Slack
I have a blog mostly about C++: https://quuxplusone.github.io/blog/.
I’m available to train your new hires! Inquire about my two-day intro course for C++ engineers.

Posted 2020-09-12