I'm not 100% sure whether this belongs here, but since I am a PhD student (teaching) in the TCS/Algorithms department, I'd like to know what fellow, maybe more experienced, teachers think.

The question at hand is whether we should offer sample solutions to all our exercises for, e.g., a Data Structures & Algorithms lecture. I am convinced that this would be a highly beneficial service for our students whereas my advisor is against it. Here are the pros and cons that we came up with:


  • Students have access to high-quality answers when they don't understand something.

  • Our expectations on verboseness, conciseness, depth of proofs, etc. can be communicated more clearly.

  • A student can individually study using the solutions and is not forced to attend the tutorials if this is not his preferred style of learning

  • We (the professor/tutor) have a clearer idea of what solutions to expect since we have to work the problems ourselves.

  • The tutor (me) is more free in the design of the tutorial. Without sample solutions, the tutorial basically boils down to writing the sample solutions on the blackboard. Otherwise I can't be sure that everyone has at least seen the correct way how to solve it. Little interaction is involved.


  • It costs time and/or money.

  • Students may stop being engaged in the exercises since they know they can always look at the sample solutions.

  • Students may stop coming to the tutorials.

  • We can't reuse exercises from past years since students might have access to (and use) past sample solutions.

  • If we do it once, the students might expect we do it for every lecture.

To be clear, in both cases the students are expected to solve the exercise sheets on their own, and they will be graded. I'm merely interested in what to offer after this has happened.

I think that's all. Optimally, I would like to find some kind of empirical study that proves that sample solutions increase the "productivity" of students. Data always wins. However, so far I couldn't find anything like this.

To discuss the points mentioned above, my general opinion on these matters is that if we can offer more services using little work, we should always do it. If someone really misuses it (as stated in the cons), he or she will notice that this is the wrong approach the latest in the exams. My advisor, however, wants to minimize the time spent on lectures and have me rather do the research relevant to my PhD. Since I have to do the solutions anyway, the overhead for providing a sample solution is maybe 2-3 hours/week.

What do you think?

  • Tutorials? Tutors? We don't have them where I teach. This sounds like a U.K.-specific question. Commented Nov 6, 2013 at 9:47
  • I live in Germany, actually. Who runs tutorials/exercise groups in the US?
    – HdM
    Commented Nov 6, 2013 at 9:58
  • We have teaching assistants, who run recitations. But in the U.S., you generally can't give the solutions out before the recitation because the exercises count towards the grade. This (and the terminology) is why I thought you were in the U.K. Giving out solutions after the exercises are due is extremely common. Commented Nov 6, 2013 at 10:30
  • 2
    To clarify: Our exercises count towards exam qualification. If it was not clear, my intention is to give out the sample solutions after the grading and discussion in the tutorial. I guess our "Tutor" is the american "TA". And thanks, David. Could a mod move my question to the academia SE?
    – HdM
    Commented Nov 6, 2013 at 11:42
  • 1
    With regards to some of your cons, once you get into college, my observation is that if students stop caring (jsut look up the solutions) they're either going to quickly learn how bad of an idea that is by bombing a test, or will otherwise get weeded out. Most students who don't make an honest attempt at their work don't graduate, and I don't feel bad giving them the decision to pass or fail.
    – corsiKa
    Commented Mar 7, 2014 at 20:40

3 Answers 3


I have three types of exercises in my algorithms classes: homework problems, exam problems, and discussion problems. I'm not entirely sure which you're asking about.

I release detailed solutions and grading rubrics for all homework and exam problems, in part for the advantages you list, in part to speed up grading, and in part to better calibrate my own expectations for the students. (If it takes too long for me to write up the solution, the problem is probably too hard for them.) I take them all down again at the end of each semester. I don't actually mind if students have access to my old solutions—as long as they write in their own words and cite their sources—because homeworks are only a small part of the course grade. (Students who are stupid enough to submit my old solutions verbatim, typos and all, are not quite publicly fed to the wolves.)

On the other hand, I deliberately do not release solutions for discussion problems (which we discuss in, you guessed it, discussion sections) because the solutions are not the point. The point is to practice finding the solution. I know students are adults, but it takes a lot more discipline to practice hunting when someone just regularly hands you the meat. Also, some discussion problems reappear later on my exams.

But this is really an individual choice. I know plenty of algorithms instructors who don't give students solutions, and others who hand out solutions on paper but don't distribute them on the web, and others who distribute them on the web but behind a firewall, and others who beg people like me to please for the love of god stop giving away homework solutions because coming up with good algorithms homework problems is really really HARD.

Update: Starting in 2017, I now regularly release solutions for my discussion problems, typically a few days after each discussion meeting. (Just like homework solutions, I take these down at the end of every semester.) Perhaps as a result, these discussion problems are now effectively fixed from one semester to the next -- in a typical semester I replace 5%-10% of them -- and discussion problems almost never appear on exams. (I should also clarify that discussion problems do not contribute to the final grade.)

I also include an extra solved problem in each homework, with a complete grading rubric. Again, these solved problems rarely change (as opposed to the problems the students need to solve, which change every semester).

In both cases, the idea is to provide concrete examples of the structure, precision/formality, and level of detail expected from their own work. Realistically, once the discussion sections are over, unsolved discussion problems are not as valuable as the solutions; students are busy! And I have lots of other unsolved exercises in my lecture notes for students who want unsullied practice.

Writing all those lab solutions (just over 100 pages of text) was a lot of work, but now it's done. The net effect of releasing all these solutions seems to be positive—more clearly for teaching evaluations, but also for student performance.


In addition to other good points made, let me say that (in mathematics, at all levels) I myself make many "model solutions" and put them on-line.

Obviously the availability of model solutions has positive potential... The issues are the genuine downsides.

One reason for my decision to take this approach was that, especially in upper-division and graduate-level mathematics, enthusiastic students acting in good faith often put either flawed or misguided solutions on-line, and other students look at those, ... thus "learning" low-quality versions.

Another reason is according to an over-simplified reasoning: important examples should not be left to students to mess up, and unimportant examples should not be used to waste students' time. I realize this is over-simplified and has implicit hypotheses, but after 40 years of watching people diligently spend time on exercises _without_thinking_critically_ about any sort of larger picture, I am ever more fond of this pseudo-principle.

Yes, a fundamental objection is that on-line solutions allows laziness/cheating/whatever. And, yes, as JeffE noted, in some venues it's hard come up with good "training exercises". Thus, I can certainly envision scenarios in which a cyclic putting-them-up, taking-them-down could be justified. However, dedicated lazy/cheating people can maintain copies ... And so on. Thus, in effect, it is impossible to prevent laziness/cheating in the face of even modestly motivated lazies/cheats. Thus, I reason that elaborate strategies aimed at foiling laziness/cheating, at the expense of making people acting in good faith have to jump through hoops, etc., are bad.

In mathematics at least, I'd claim that many traditional contexts for "exercises" are somewhat missing the point, anyway, so that moving away from the weekly problem sets wouldn't be so bad! That is, to make a large number of "exercises" feasibly do-able by nearly everyone in every class, and in a short period of time, the issues must be contrived, not natural. Students understand this, even if only subliminally, and many of the "successful" ones have managed to squelch their critical faculties ("why are we doing this?") to be more economical in their approach to these fairly-random exercises.

Or, at the opposite end, there are the occasional much-admired slim texts where 2/3 or more of the things one needs to know relegated to exercises! Crazy! In this case, the student's disadvantage is even worse in some ways, because the issues are more real, and there're even fewer "model solutions available", and they may come away with deeply flawed or misguided pseudo-understandings.

At least in modern mathematics, I think that the inarguable "engage with the material" is too often denatured, to something like "try to prove all the theorems yourself". Supposedly, the side information of knowing assertions of true theorems is enough of an advantage. But this is a strange presumption... proof mechanisms, concepts created to enable proof mechanisms that are humanly comprehensible, are as significant as the bald assertions themselves, I think.

So, to advance collective human understanding, putting "models" on-line is good. Yes, there are downsides, and hazards, but this is just the new reality.

  • "Training exercises"?
    – JeffE
    Commented Nov 7, 2013 at 13:04
  • 1
    I learnt English (as a required subject) in a non-English-speaking country for nearly 11 years. We were asked to solve millions of artificial multiple-choice exercises instead of to learn how to use English in real contexts. (Perhaps mainly because those English teachers don't have practical English skills either...) With hindsight, this kind of teaching/learning is extremely inefficient. Maybe the same idea applies to mathematics, which also has a language component.
    – tqw
    Commented Nov 8, 2013 at 23:07
  • 4
    @ZhouFang, indeed, despite math-culture tradition to pretend that mathematics is independent of ambient natural languages, while one could write denatured formal-logic mathematics, this would be very inefficient... and unreadable, too. Especially, such writing would stupidly fail to take advantage of all the information compressible into natural language effects: suggestion, insinuation, contraposition, etc. Commented Nov 8, 2013 at 23:23

As a CS major who had to take 2 theory classes, I really appreciated the prof who handed took class time to explain and solve each question after the assignment (he didn't hand out the answers so he could reuse them). The prof would usually hand out 3 or 4 questions Monday and solve them Friday (after you turned in your answer).

He would basically act like he was doing the assignment, and was very good about not skipping steps. He'd also explain why he wanted to see the answer in the format, which help several non-theory students (like me) learn how to appropriately write proofs.

At least in America, CS Theory is generally a difficult subject because the rest of CS education is very applied and students are generally unprepared for it. Especially in this course, going the extra mile for students is noticed and appropriated, and will provide a counter-point to the theory prof. who calls students idiots and gets in yelling matches whenever a student ask a question (which also happened to me).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .