I'm thinking of studying, "What makes a good explanation?" in the context of introductory computer science problems.

I'm wondering if there's any pre-existing dataset containing introductory computer science problems (e.g. for loops), as well as multiple different explanations to each of such questions? Ideally, the explanations would be rated, but I can use a crowdwork service such as Amazon MTurk to generate ratings if they are not.

One example of such a dataset in the language learning area could be Duolingo's comments section, where users can rate comments (which are very often explanations) left by other users in response to questions.

  • 1
    $\begingroup$ Could you clarify and expand a little bit on the first paragraph? What are you trying to do, exactly? $\endgroup$ – Ben I. Nov 28 '18 at 22:42
  • 1
    $\begingroup$ I'm having trouble understanding the question as well. Are you looking for good explanations on standard problems in CS? Or do you want to teach how a good explanation differs from a worse explanation? $\endgroup$ – OBu Nov 29 '18 at 8:08

I don't think you're going to find a good data set that contains what you're looking for.

The reason is, teaching and learning are very subjective. I don't think there's any one definition of what makes a "good" explanation. An explanation that I think is helpful might not be very useful for you, and vice-versa.

For example, maybe one person just wants to get something working and doesn't care about what it's doing behind the scenes. For them, a simple "copy this line of code" would be most useful. Compare that to somebody else who is much more interested in the background of why things work. For them, a more in-depth analysis including history and lower-level details would be more useful.

I can use a crowdwork service such as Amazon MTurk to generate ratings

I don't think you can. The only way you can do this is by having people read the descriptions and then rate them: but based on what? How easy they were to read? How much detail they went into? Whether the person learned something?

Comparing curricula is a bit of an apples and oranges comparison. What would you compare? Student grades?

You might be able to get something vaguely similar to what you're describing if you use Stack Overflow's data. Stack Overflow releases all of its question and answer data, and you can query that. Start here or google "Stack Overflow data" for a ton of results. Maybe take all of the answers to every question tagged with and compare them based on how many votes they got?

But in the end, learning is subjective, so you aren't going to find an objective data set.


Not the answer you're looking for? Browse other questions tagged or ask your own question.