How to deal with very low performing students? I saw a question about how to deal with high performing students, and although I think it is very important, the problem that we are facing in my school is the exact opposite.

We have a high number of ghost students (approx. 25%) and also a large number of students dropping or failing in a second year OOP Java class (approx. 50%).

Most of the dropping/failing students have passed CS1 (intro to programming with C) and CS2 (data structures with C). The problem is that they passed with a low grade (10 or 11 in a 0-20 scale) and in some cases, they are enrolling in the OOP class for the 5th or 6th time and have had CS1 and CS2 a long time ago. The main issue is that they've forgotten the most basic programming concepts, and each year it is getting worse. 

What should the teacher do? 


assume that the students know the basis and just keep on moving forward. (knowing in advance that most will fail)
reserve the first weeks to recap the “forgotten concepts”.
Advise the students to enroll in CS1/CS2 again.


Anyone else has this problem? What have you done? Did it work?
One elegant way to deal with this sort of problem (though it does take a lot of work) is to create a self-explanatory review packet (including a practice quiz!), give it out on day one, and promise that there will be a quiz on its contents during the second week of class.

You then don't need to spend another minute on the material in class, at least for that first week. (Especially for that first week. They should not feel hand-held at first! See below...) You might want to make help available during office hours, however.

This has a second benefit, which is that you can set a recommendation for withdrawal from the class. I would give this a soft sell: "if you can't achieve an 80% on this quiz, then the kindest thing I can do is to recommend that you drop the class. It's not to be mean, but you WILL NOT have a good time here if you haven't reasonably mastered these concepts."

By putting the onus of weeding poorly performing students back on the students themselves, you will (hopefully!) find that you get very little resistance. And folks who choose to stay on anyway will be making an active choice to work very hard going forward (or suffer the consequences).

The big brunt of the work need only be done one time; the review packet and the practice quiz can be the same every semester. It is only the quiz itself that need be changed.

While this should weed out some of the lowest performers (and give many others a much-needed review), if the students are as low-performing as you say, it might not hurt to touch on some of the harder concepts that people get stuck on when you come to them again in the class. 

Hopefully you'll have much better performance in the course going forward. Best of luck!