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?