My Computer Science department uses a three-course sequence (A, B, C) in which A is optional. Because both A and B are on-ramps, their contents overlap a good deal, and students who take the slower, gentler approach see several of same topics twice.

My colleagues and I have diverse views on the value of this approach. While we appreciate the subject review that students get in this model, some of us would like the courses to be more complementary. A theoretical basis for our planning would help. Are there established best practices for sequences of courses with overlapping content?

  • 7
    I have students who say “we have done this” so I cut directly to the exercises and before long they say “Oh, can we go over that again...”
    – Solar Mike
    Commented May 21, 2020 at 5:44

2 Answers 2


Actually, there may be an entirely valid pedagogical reason for this. If some of your students come with little background, say in programming, then they need to get experience with it to be successful later. I assume these early courses are heavy, at least, in programming.

It turns out that people learn, primarily from reinforcement and feedback. That means repeating things, to some extent, so that lessons are deeply learned and insight arises from both practice and the feedback that ensues.

Many students come to a CS degree already having learned quite a lot about programming, though they may also have misconceptions. But the A course is likely intended to take the other, relatively inexperienced, students up to the level of those with a programming background earlier. Thus, students start B at more or less the same level of skill and insight, making that course easier to deliver and making more students successful.

But taking out the overlap would probably be a mistake and give worse results, as students would, then, get less reinforcement of those topics. You don't learn something by seeing it only once. And it is harder to learn a lot of topics if the first time you experience it, it is in a sophisticated context. Introducing important topics gently and then reinforcing them later is a learning technique that many people use. It is called a Spiral Approach, where each turn of the spiral takes you deeper into the topic.

  • Thanks for mentioning the Spiral Approach. You state, with reason, that repetition is valuable; but isn't that only true within some bounds, such that courses don't repeat "too much"? Commented May 21, 2020 at 22:43
  • Yes, of course, but it is often valuable to be "reminded" of things you learned earlier. The brain actually works by physically rearranging neuron connections. That takes reinforcement and explains the difference between long and short term memory. I can provide a reference if you like.
    – Buffy
    Commented May 21, 2020 at 22:45
  • I agree with everything you wrote, and I am still hoping to find guidelines or principles on how much the curriculum should repeat (or "remind"). Commented May 22, 2020 at 18:47
  • I think the question can't be answered in the abstract. 30% v 60% has little meaning outside specific knowledge of the program and its students. It is something that the faculty has to work out from experience and expertise. If you think it is too much, try reducing it a bit (but not radically). Then see how the students fare in the next course(s). If you think it is too little, what topics would you put in the first course that aren't there now. But it depends, fundamentally, on knowing the topics that are critical to be understood.
    – Buffy
    Commented May 22, 2020 at 18:52
  • Sure, the answer is not a number. I can't run the experiment you suggest on my own, and to get my colleagues' buy-in, ideally we'd be building on recognized principles.... Commented May 22, 2020 at 22:41

It would by and large depend on what the courses B & C require/offer.

If B is mandatory, you can consider removing repeated content from A for simplification.

However, I personally prefer a refresher on previous content, because "repetition is the mother of all learning".

You must log in to answer this question.

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