Effective coding questions for learning can be created using two main approaches: the top-down approach (selecting a feature and designing a question around it with constraints and flavor text) and the bottom-up approach (starting with a question and discovering the solution through exploration), with difficulty being adjustable across three dimensions: knowledge (what information is assumed), thinking (insights needed to solve), and application (implementation difficulty).
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
Lightning Talk: Learning C++ Through Writing Coding Questions - Christopher DeGuzman - CppCon 2025Added:
I'm a big fan of how they have it divided into like subcategories and you can kind of delve for uh depth in one of those categories like embedded for instance [music] or algorithmic or you can go for breadth and kind of get this really big cross-section. [music] There's a lot of representation of people in different skill sets within C++.
>> Hi, uh my name is Christopher. I'm a software engineer at Bloomberg and I also help co-lead a working group for which uh creates coding questions to try to learn and promote modern C++. So, first, why create coding questions? Um, whether you're writing the question or you're solving the question, it's really a great way to reinforce a concept and learn it better. Uh, when you're solving the question, you practice active recall. It helps you remember details for longer and to a better depth. And when you're writing the question, honestly, sometimes you get to play around with things that you don't get to do in your day-to-day type of job. Um but where do you actually practice learn and practice for something like uh data structures algos there are a lot of pre-established resources courses etc that you can learn the theory from and then there are a lot of online platforms to help you practice with uh practice questions but what about learning modern C++ it seems like there are still a lot of resources in textbooks videos blogs but it feels like there's disproportionately not as many places for uh like coding practice spaces. So as a working group, what we do is we try to populate an internal online judge with coding questions for the purpose of learning and promoting modern C++. Uh for this talk, I'd like to talk about uh the question writing process and maybe inspire some of you to write questions of your own.
So what's the first approach that we think about when writing questions? I like to think about it from a top down or the solution guiding the question.
The first idea is you pick a feature.
any feature that you're interested in or that you know your audience is interested in. Then you try to find a question or create a question around that feature to help showcase it. Uh optionally you can create some constraints to help reframe or refocus.
So you can take a existing problem and say oh you need to do this at compile time or you need to do this without using raw loops. Finally you pick flavor text. This brings a abstract problem down and makes it more grounded and you can really showcase how it's applicable to day-to-day life.
Um, actually sorry the the the benefits of this is it's really a step-by-step formulaic approach to writing a question. The downsides is it can feel very linear when you're writing this and you need to be really you need to really be careful about the constraints.
Otherwise, it can feel like you're shutting it off to creativity and you're fishing for a very exact single solution.
I contrast the early approach with a bottomup approach where you start with a question and you sort of fall into a solution. The big idea here is you're reading C++ resources and you're trying to and you're reading them with an open mind and you're trying to figure out a solution to a question that you haven't quite solved yet. You might end up with a solution that's very different from what you thought you'd uh end up with.
And that's okay. But once you have that solution question pairing, it's important to distill the problem. remove the distracting details that might have come up when you initially encountered the problem uh to help focus it for the people trying the question. Uh the benefits of this is the benefits of this approach is it tends to lead towards fun uh relatable problems. These are things that you've seen in your day-to-day life. The downside is this can be hard to force out especially if you're on a time crunch. Um yeah, it sort of happens naturally sometimes hard to force. So you created the question, but do you need to tweak it? What makes a a fun question? I like to think of different sliders that you can tune the level of difficulty and you can tune the dimension of difficulty. Some of the dimensions of difficulty that I like to think about are knowledge, that is what uh pieces of information do you assume the audience knows or knows about?
thinking, what types of insights are needed to connect the pieces of knowledge to uh derive a new relevation to be able to solve the problem and then finally application. Uh given that you have an idea of how to solve the problem, how hard is it to actually implement? If the sliders are too far into the green area, it gets too easy, kind of boring. Uh once you start to get to the orange area, that's when it starts to feel tedious, like this is a lot of work to have fun. And then when you get to the red, that's when it feels like, wow, this is maybe discouraging. I don't know if I want to start this. That being said, all these sliders, the difficulty, this is all subjective. Uh it's really important to keep your audience in mind. Uh a thinking problem for one person might be a knowledge problem for someone who's already seen the insight before. Uh but I still think it's a helpful framework to help you focus on the type of uh question that you want to create.
Uh thank you for listening. I hope some of you are inspired to write your own questions. [applause] [applause]
Related Videos
Agentforce NOW AMA: Build with React and Salesforce Multi-Framework
SalesforceDevs
490 viewsβ’2026-05-28
How agent o11y differs from traditional o11y β Phil Hetzel, Braintrust
aiDotEngineer
450 viewsβ’2026-05-28
WEB TECHNOLOGIES UNIT-2 | Degree 4th sem BCOM Computers web technologies unit-2 full explanationπ―β
LearnwithSahera
1K viewsβ’2026-05-29
More tests are always better? How to use AI to identify tests that bring little value
Alliance4Qualification
335 viewsβ’2026-05-29
Search Algorithms Explained in 60 Seconds! π€π¨
samarthtuliofficial
218 viewsβ’2026-06-01
People of Game of Thrones using JavaScript DOM
AltCampus
296 viewsβ’2026-05-30
Introduction to Problem Solving Part - 1 | Lecture 1 | Intermediate DSA
ascensionix
107 viewsβ’2026-05-29
So What's Odin Lang Even Good For
TechOverTea
131 viewsβ’2026-06-01











