Answers.Body: <p>Set a standard for the course and adhere to that standard.  If a student cannot meet that standard, inform the student of their options.  However, do not water down the teaching as that negatively impacts the other students, the value of the major and the prestige of the school.</p>
  <p>There is a school in my area that pumped out a lot of CS students that were inept in CS positions.  We've now decided that a CS degree from that school means you know a lot of Excel formulas, but can't analyze business processes or write functional code. Internally, we no longer consider a CS degree from that school as a qualification for a CS position, though they make great accountants. :)</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-10-02T04:10:08.630Z
Answers.Text: One sensible answer! Wish I could +10 it! If out of compassion etc you give fraudulently lenient grades, you may (or not) help a couple of students. But you damage the system at an infinitely larger scale.
Answers.UserDisplayName: Rushi
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-30T18:36:08.410Z
Answers.LastActivityDate: 2020-09-30T18:36:08.410Z
Answers.UserDisplayName: Wes H
Answers.Body: <p>I know that this might not be the answer that you're looking for but I have been a software engineer for over 20 years and I feel that coding and software engineering is just simply not for everyone.  I believe that it takes a certain mindset and interest to grasp and pursue coding and software, and this is more true the more sophisticated the topic.</p>
  <p>This is not to say that software engineers individually or as a group are smarter than other people, which I don't think is true either.  My wife has a master's degree in a non-technical field (I myself have only a BS in CS), and when I try to describe what I do at work her eyes just glaze over.  She will sometimes watch over my shoulders as I'm working and all she says is, &quot;wow your job is really tedious!&quot;.  This is just how it seems to her.</p>
  <p>I know countless people in the industry who started out as developers and did it for a year or two even though they did not like it, and later moved on into other related positions such as project manager, trainer, technical writer, etc.  Doing hard core problem solving 5-10 hours a day dealing with things that are only in your mind and don't exist in the real world isn't something that everyone can relate to.</p>
  <p>Edit: One more comment on this. Since I wrote this answer 3 years ago my kids have gotten into high school and are starting to decide what they want to pursue in college. They are both very advanced in math, my son completed calculus as a high school junior and just took the SAT and got an 800 in math. He is of the generation that is surrounded by technology and uses it every day.  However he has zero interest in coding or even software or IT. He sees what I do and has tried it but just doesn't like it. I am sure he is technically intelligent enough to do it if he had to but he has tried it and just finds it boring and uninteresting. I think kids and their parents and teachers should just be realistic about whether or not coding is something the kid genuinely wants to do or if they are doing it because someone told them it would get them a good job one day.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-25T20:53:11.887Z
Answers.Text: I agree. It would be good if people could learn that they "do not like" programming before investing years of their lives to go through school and then land a job. Perhaps we need some targeted vocational assessment and counselling in High School? It wasn't so long ago that only 5% of people went to college, and then it was often simply because their parents wanted them to and had the money. Being *able* to go doesn't mean people *should*, for their own well-being and that of the community.
Answers.UserDisplayName: Scott Rowe
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-25T22:00:00.553Z
Answers.Text: After seeing your edit, I am again prompted to wonder what many young people *do* want to do? This seems to be a frequent issue in this century. Long view: Freud said that life is made worthwhile by 2 things: Work, Love. So, if someone does not find work they want to do, their life is likely to be "a hiding to nothing". Do they not realize this? Perhaps it is connected to the recent news that 25% of people in the US age 18-25 have considered suicide this summer. Ennui might be a bigger problem than we can solve in Computer Science Educators, I think.
Answers.UserDisplayName: Scott Rowe
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-28T18:05:14.967Z
Answers.Text: I guess all I can say is that there are a lot of choices besides coding and suicide.
Answers.UserDisplayName: Uncle Long Hair
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-10-02T04:21:48.283Z
Answers.Text: (for your son) There is a (outlook to) programing that is much closer to math than is the norm [See this](https://cseducators.stackexchange.com/a/6568/8837) And that ppl (like your wife) "glaze over" may well be because we tend to delight in accidental needless complexity, not authentic difficulty See [this](https://cseducators.stackexchange.com/a/6567/8837)
Answers.UserDisplayName: Rushi
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2017-06-26T14:33:54.907Z
Answers.LastActivityDate: 2020-09-25T21:03:44.720Z
Answers.LastEditDate: 2020-09-25T21:03:44.720Z
Answers.UserDisplayName: Uncle Long Hair
Answers.Body: <p>You can provide some sort of anonymous public feedback channel with which students can communicate with you and their classmates. A wiki works well for this. You can get information that a student may not be willing to share face to face. You can ask questions yourself on this channel to prompt useful responses. </p>
  
  <p>While this sounds risky, it really isn't. If a student vents, his/her classmates will probably correct the record. But a shy/underperforming student may feel empowered by having such an option. </p>
  
  <p>It needs to be both public and anonymous, however. If it isn't public you might get only the venting and not a more complete picture. If it isn't anonymous you won't learn some important things, though it is also useful for students asking for clarification of points made in class. </p>
  
  <p>I used this successfully over several years. </p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-24T21:37:08.963Z
Answers.Text: Your mileage with this technique may vary depending on your student population. I recall a blog post by a professor who had switched universities, and lamented that his ratemyprofessor comments completely changed in nature. He ran some language analytics across the entirety of both universities on that site, eventually coming to the conclusion that the feedback given at an institution says as much about the students themselves as it does about the teachers.
Answers.UserDisplayName: Ben I.
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-24T16:22:56.600Z
Answers.LastActivityDate: 2017-06-24T16:22:56.600Z
Answers.UserDisplayName: Buffy
Answers.Body: <p>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.</p>
  
  <p>You then don't need to spend another minute on the material in class, at least for that first week. (<em>Especially</em> 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.</p>
  
  <p>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: <em>"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."</em></p>
  
  <p>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).</p>
  
  <p>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.</p>
  
  <p>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. </p>
  
  <p>Hopefully you'll have much better performance in the course going forward. Best of luck!</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-12-23T04:43:23.037Z
Answers.Text: I found this because I was about to post a basically identical question myself. I'm in the same situation as the OP (including basically same percentage stats I was going to post), at a U.S. community college. Unfortunately: All of the suggestions given here are things I've tried (for years!) and none of them make any difference at all. Students simply ignore the first-day review, packets, labs, quizzes, requests for one-on-one meetings, recommended cutoffs to withdraw, etc. They just keep coming with defeated looks on their faces, silently, day after day, semester after semester.
Answers.UserDisplayName: Daniel R. Collins
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-12-23T04:44:17.047Z
Answers.Text: Not downvoting, but my sad takeaway is that there's absolutely no solution to this in really weak environments.
Answers.UserDisplayName: Daniel R. Collins
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-25T20:48:53.480Z
Answers.Text: Ben, when you said "*this should weed out some of the lowest performers*", yet you also assert that "*it falls onto the instructor to create a path that the student can follow in order to be successful*", I am not sure how those 2 statements are compatible. I have seen many "weed courses" in all areas of academia, and I think that resources are best spent on those who have interest and show growing ability over time. Not everyone can do everything, much as that seems disappointing.
Answers.UserDisplayName: Scott Rowe
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-25T21:05:34.970Z
Answers.Text: @ScottRowe I was proposing the teacher provide a general guide to the students about when they might not have the background (yet) for this particular class.  I'm now sure what the contradiction is.  If a student who has never written a lick of code joins my programming patterns course, my best advise for them to succeed is "take some of the earlier classes first. This is an advanced course and isn't designed for people without background."  That *is* the guidance they need to be successful.
Answers.UserDisplayName: Ben I.
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-25T21:09:16.660Z
Answers.Text: OK Ben. I guess I was reacting to 'weed' and the instructor creating a path. Suggesting another course wasn't what I was thinking of as creating a path. Perhaps it is really up to the school to handle the path and qualification issues, not instructors of individual courses? In other words, maybe this question belongs under Academia SE or something? Aren't there prerequisite requirements that prevent someone from jumping ahead in the track?
Answers.UserDisplayName: Scott Rowe
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-22T13:34:24.720Z
Answers.Text: Ben, I understand what you have said. The main problem is that this specific class is not optional. To graduate they will have to pass one day. 
  A few minutes ago I had a code review with one of those students (in a server-side dev class using PHP). The student is entirely unable to understand even the smaller concepts. He has just made a couple of Inserts on a few tables, but even that code was provided by me in the classes a few years ago.
  My question is: should you tell a student that s/he is not fitted for this and s/he is just spending money? :(
Answers.UserDisplayName: Nuno Gil Fonseca
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-22T15:48:27.593Z
Answers.Text: I don't believe there are people who can't get the first couple of CS courses. That being said, some people take longer to get it and some require different ways of having things explained to them.
Answers.UserDisplayName: Alfred Thompson
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-22T15:54:07.333Z
Answers.Text: @NunoGilFonseca I agree with Alfred Thompson. If the course is required, then it falls onto the instructor to create a path that the student can follow in order to be successful. That path does not have to involve relaxing the standards they have to meet, and it can be difficult, but it must *exist*. Give them a *reasonable* list of resources and hoops (ie. not "read these 3 books"), and just make the standards and your recommendations for how to meet them know.  It is our job to help the students get to where they need to be *from where they are*, not from where we wish they were.
Answers.UserDisplayName: Ben I.
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-26T18:04:22.277Z
Answers.Text: @NunoGilFonseca no class is actually mandatory, because your major isn't mandatory.  I have tutored people, even smart people, that were not able to conceptualize comp sci principles and, for all they could squeeze by with barely passing grades in early classes, were simply not suited as programmers.  If someone is graduating a course with so little retention it's possible that they fit in that category of students that will never feel natural in CS no matter how hard they try.  It is better to recognize that now when there is still time to pursue another major then 2 years later.
Answers.UserDisplayName: dsollen
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2017-06-21T23:27:42.240Z
Answers.LastActivityDate: 2019-12-23T18:54:13.637Z
Answers.LastEditDate: 2019-12-23T18:54:13.637Z
Answers.UserDisplayName: Ben I.
Answers.Body: <p>I face the same issue every year. In France where I teach, University is basically free and, in some bachelor curricula you can repeat the year and re-enrol in courses you have not validated as much as you like (almost).
  At some point, there is little that the <strong>teacher</strong> can do.</p>
  
  <ul>
  <li>Allocating say the first lecture and first lab to rehash the basics works for some students (those who are willing to get better). Actually grading this first lab might be an incentive to have the student work on it.</li>
  <li>Asking them to re-enrol in a prerequisite course does not work so well since it means that it increases the workload and they only touch the interesting concepts at the end of the semester, and mean while they continue to fail in your course.</li>
  <li>In some cases, I have seen  students genuinely becoming better when they are paired with a good student and that the latter actually takes the time to explain what's going on, like a private tutor. But that is more a result of the guidance of the good student than something the teacher does, and I think a teacher should not expect a good student to act as a tutor. But favouring this kind of  pairing (by making it explicit in the grading that a student "helping" another one may get a bonus) could work. Such grading say for a project needs to be devised carefully though.</li>
  </ul>
  
  <p>Ultimately, this is something that needs to be addressed at the level of the degree itself, for all courses. For any course, 10/20 (or whatever passing grade) should only mean, <strong>this student actually knows the bare minimum to enrol in next years courses</strong>. This needs to be a curriculum-wide decision. But it can be hard in some countries since often courses are aggregated in "blocks" and you can pass as long as the average on a block is a passing grade (while you may very well have failed a course in the block). At his/her level, the only thing a teacher can do is to be stricter and rather fail borderline students than pass them (so as to not send these "sure to fail" students to more advanced courses yet).</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-26T15:19:21.497Z
Answers.Text: Three years later - any solutions? Don't the universities want to address this, or is it a profit center for them?
Answers.UserDisplayName: Scott Rowe
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-22T19:13:55.747Z
Answers.LastActivityDate: 2017-06-22T19:13:55.747Z
Answers.UserDisplayName: Kim Nguyễn
Answers.Body: <p>I noticed that most of the answers focus on the things (topics, lectures, etc.) I have found that it is helpful to focus on the students. I normally ask them for a one-on-one chat and ask them why are they here? What do they like / not like about CS? This normally opens an opportunity for making their experience more engaging for them. It also identifies those that really want to succeed, and those that don't. In my experience the students that end up dropping out are the ones that actually want to (or don't really care). It's worth knowing who really does want to succeed, and who doesn't. </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-09-25T20:55:20.317Z
Answers.Text: It's definitely worth knowing, I think the students themselves ought to want to know.
Answers.UserDisplayName: Scott Rowe
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-24T01:23:50.790Z
Answers.LastActivityDate: 2017-06-24T01:23:50.790Z
Answers.UserDisplayName: Brett Becker
Answers.Body: <p>I do tend to review some basic topics at the start of a semester to get a handle on what students have forgotten or never learned completely. After that I don't use class time as I expect students to make some efforts on their own. I teach high school so I may handhold a bit more than a university professor. In my case that means I schedule time for helping students during their free periods or before or after school.</p>
  
  <p>Additional resources, especially for review topics, are often helpful. I don't think that written resources work for everyone. I record a lot of the presentations I give for early topics and make them available for students. Lately I am trying to find videos by other people who, I hope, explain things differently than I do in hopes of reaching different students.</p>
  
  <p>An other option is to use peer tutors to help struggling students. Often peers who already understand a topic can make it understandable in ways that would not occur to me.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-06-22T15:54:25.907Z
Answers.LastActivityDate: 2017-06-22T15:54:25.907Z
Answers.UserDisplayName: Alfred Thompson
Body: <p>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.</p>
  
  <p>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%).</p>
  
  <p>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. </p>
  
  <p>What should the teacher do? </p>
  
  <ol>
  <li>assume that the students know the basis and just keep on moving forward. (knowing in advance that most will fail)</li>
  <li>reserve the first weeks to recap the “forgotten concepts”.</li>
  <li>Advise the students to enroll in CS1/CS2 again.</li>
  </ol>
  
  <p>Anyone else has this problem? What have you done? Did it work?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-12-23T04:46:18.523Z
Comments.Text: +1 for the question. Finding this eliminated the need to post the exact same question myself (at a large U.S. community college).
Comments.UserDisplayName: Daniel R. Collins
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-12-30T10:42:21.213Z
Comments.Text: Does credit not expire in your setting? Where I'm from, any passing grade from a class is set to expire after 3 years (unless you pass a re-test), which mostly prevents these issues.
Comments.UserDisplayName: Flater
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-09-26T15:20:23.523Z
Comments.Text: Any solutions? Any answer deserving to be selected?
Comments.UserDisplayName: Scott Rowe
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-21T22:03:44.930Z
Comments.Text: Great question! I edited out [tag:introductory-programming] because we are working to replace it with a more accurate tag. See meta for a full discussion of the effort.
Comments.UserDisplayName: Peter
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-21T22:56:13.567Z
Comments.Text: What are "ghost students"? I could recommend an exorcist. :)
Comments.UserDisplayName: Ben I.
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-06-22T13:26:25.670Z
Comments.Text: "Ghost students", are those that you know that exist, but have never actually seen them on classes... :)
Comments.UserDisplayName: Nuno Gil Fonseca
Tags: <struggling-students><differentiation>
Title: How to deal with very low performing students?
ThreadText: # How to deal with very low performing students?
  
  (Asked by: username_0 on 2017-06-21)
  
  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?
  
  1. assume that the students know the basis and just keep on moving forward. (knowing in advance that most will fail)
  2. reserve the first weeks to recap the “forgotten concepts”.
  3. Advise the students to enroll in CS1/CS2 again.
  
  Anyone else has this problem? What have you done? Did it work?
  
  **Tags:** struggling-students, differentiation
  
  > **Comments:**
  > **username_4**: Great question! I edited out [tag:introductory-programming] because we are working to replace it with a more accurate tag. See meta for a full discussion of the effort.  
  > **username_5**: What are "ghost students"? I could recommend an exorcist. :)  
  > **username_0**: "Ghost students", are those that you know that exist, but have never actually seen them on classes... :)  
  > **username_1**: +1 for the question. Finding this eliminated the need to post the exact same question myself (at a large U.S. community college).  
  > **username_2**: Does credit not expire in your setting? Where I'm from, any passing grade from a class is set to expire after 3 years (unless you pass a re-test), which mostly prevents these issues.  
  > **username_3**: Any solutions? Any answer deserving to be selected?  
  
  ---
  
  ## 7 answers
  
  ### Answer by username_5 on 2017-06-21. Score: 11
  
  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!
  
  > **Comments:**
  > **username_0**: Ben, I understand what you have said. The main problem is that this specific class is not optional. To graduate they will have to pass one day.  A few minutes ago I had a code review with one of those students (in a server-side dev class using PHP). The student is entirely unable to understand even the smaller concepts. He has just made a couple of Inserts on a few tables, but even that code was provided by me in the classes a few years ago. My question is: should you tell a student that s/he is not fitted for this and s/he is just spending money? :(  
  > **username_10**: I don't believe there are people who can't get the first couple of CS courses. That being said, some people take longer to get it and some require different ways of having things explained to them.  
  > **username_5**: @username_0 I agree with username_10. If the course is required, then it falls onto the instructor to create a path that the student can follow in order to be successful. That path does not have to involve relaxing the standards they have to meet, and it can be difficult, but it must *exist*. Give them a *reasonable* list of resources and hoops (ie. not "read these 3 books"), and just make the standards and your recommendations for how to meet them know.  It is our job to help the students get to where they need to be *from where they are*, not from where we wish they were.  
  > **username_11**: @username_0 no class is actually mandatory, because your major isn't mandatory.  I have tutored people, even smart people, that were not able to conceptualize comp sci principles and, for all they could squeeze by with barely passing grades in early classes, were simply not suited as programmers.  If someone is graduating a course with so little retention it's possible that they fit in that category of students that will never feel natural in CS no matter how hard they try.  It is better to recognize that now when there is still time to pursue another major then 2 years later.  
  > **username_1**: I found this because I was about to post a basically identical question myself. I'm in the same situation as the OP (including basically same percentage stats I was going to post), at a U.S. community college. Unfortunately: All of the suggestions given here are things I've tried (for years!) and none of them make any difference at all. Students simply ignore the first-day review, packets, labs, quizzes, requests for one-on-one meetings, recommended cutoffs to withdraw, etc. They just keep coming with defeated looks on their faces, silently, day after day, semester after semester.  
  > **username_1**: Not downvoting, but my sad takeaway is that there's absolutely no solution to this in really weak environments.  
  > **username_3**: Ben, when you said "*this should weed out some of the lowest performers*", yet you also assert that "*it falls onto the instructor to create a path that the student can follow in order to be successful*", I am not sure how those 2 statements are compatible. I have seen many "weed courses" in all areas of academia, and I think that resources are best spent on those who have interest and show growing ability over time. Not everyone can do everything, much as that seems disappointing.  
  > **username_5**: @username_3 I was proposing the teacher provide a general guide to the students about when they might not have the background (yet) for this particular class.  I'm now sure what the contradiction is.  If a student who has never written a lick of code joins my programming patterns course, my best advise for them to succeed is "take some of the earlier classes first. This is an advanced course and isn't designed for people without background."  That *is* the guidance they need to be successful.  
  > **username_3**: OK Ben. I guess I was reacting to 'weed' and the instructor creating a path. Suggesting another course wasn't what I was thinking of as creating a path. Perhaps it is really up to the school to handle the path and qualification issues, not instructors of individual courses? In other words, maybe this question belongs under Academia SE or something? Aren't there prerequisite requirements that prevent someone from jumping ahead in the track?  
  
  ---
  
  ### Answer by username_12 on 2017-06-22. Score: 6
  
  I face the same issue every year. In France where I teach, University is basically free and, in some bachelor curricula you can repeat the year and re-enrol in courses you have not validated as much as you like (almost).
  At some point, there is little that the **teacher** can do.
  
  * Allocating say the first lecture and first lab to rehash the basics works for some students (those who are willing to get better). Actually grading this first lab might be an incentive to have the student work on it.
  * Asking them to re-enrol in a prerequisite course does not work so well since it means that it increases the workload and they only touch the interesting concepts at the end of the semester, and mean while they continue to fail in your course.
  * In some cases, I have seen students genuinely becoming better when they are paired with a good student and that the latter actually takes the time to explain what's going on, like a private tutor. But that is more a result of the guidance of the good student than something the teacher does, and I think a teacher should not expect a good student to act as a tutor. But favouring this kind of pairing (by making it explicit in the grading that a student "helping" another one may get a bonus) could work. Such grading say for a project needs to be devised carefully though.
  
  Ultimately, this is something that needs to be addressed at the level of the degree itself, for all courses. For any course, 10/20 (or whatever passing grade) should only mean, **this student actually knows the bare minimum to enrol in next years courses**. This needs to be a curriculum-wide decision. But it can be hard in some countries since often courses are aggregated in "blocks" and you can pass as long as the average on a block is a passing grade (while you may very well have failed a course in the block). At his/her level, the only thing a teacher can do is to be stricter and rather fail borderline students than pass them (so as to not send these "sure to fail" students to more advanced courses yet).
  
  > **Comments:**
  > **username_3**: Three years later - any solutions? Don't the universities want to address this, or is it a profit center for them?  
  
  ---
  
  ### Answer by username_13 on 2017-06-24. Score: 6
  
  I noticed that most of the answers focus on the things (topics, lectures, etc.) I have found that it is helpful to focus on the students. I normally ask them for a one-on-one chat and ask them why are they here? What do they like / not like about CS? This normally opens an opportunity for making their experience more engaging for them. It also identifies those that really want to succeed, and those that don't. In my experience the students that end up dropping out are the ones that actually want to (or don't really care). It's worth knowing who really does want to succeed, and who doesn't.
  
  > **Comments:**
  > **username_3**: It's definitely worth knowing, I think the students themselves ought to want to know.  
  
  ---
  
  ### Answer by username_10 on 2017-06-22. Score: 4
  
  I do tend to review some basic topics at the start of a semester to get a handle on what students have forgotten or never learned completely. After that I don't use class time as I expect students to make some efforts on their own. I teach high school so I may handhold a bit more than a university professor. In my case that means I schedule time for helping students during their free periods or before or after school.
  
  Additional resources, especially for review topics, are often helpful. I don't think that written resources work for everyone. I record a lot of the presentations I give for early topics and make them available for students. Lately I am trying to find videos by other people who, I hope, explain things differently than I do in hopes of reaching different students.
  
  An other option is to use peer tutors to help struggling students. Often peers who already understand a topic can make it understandable in ways that would not occur to me.
  
  
  ---
  
  ### Answer by username_6 on 2020-09-30. Score: 2
  
  Set a standard for the course and adhere to that standard. If a student cannot meet that standard, inform the student of their options. However, do not water down the teaching as that negatively impacts the other students, the value of the major and the prestige of the school.
  
  There is a school in my area that pumped out a lot of CS students that were inept in CS positions. We've now decided that a CS degree from that school means you know a lot of Excel formulas, but can't analyze business processes or write functional code. Internally, we no longer consider a CS degree from that school as a qualification for a CS position, though they make great accountants. :)
  
  > **Comments:**
  > **username_7**: One sensible answer! Wish I could +10 it! If out of compassion etc you give fraudulently lenient grades, you may (or not) help a couple of students. But you damage the system at an infinitely larger scale.  
  
  ---
  
  ### Answer by username_8 on 2017-06-26. Score: 1
  
  I know that this might not be the answer that you're looking for but I have been a software engineer for over 20 years and I feel that coding and software engineering is just simply not for everyone. I believe that it takes a certain mindset and interest to grasp and pursue coding and software, and this is more true the more sophisticated the topic.
  
  This is not to say that software engineers individually or as a group are smarter than other people, which I don't think is true either. My wife has a master's degree in a non-technical field (I myself have only a BS in CS), and when I try to describe what I do at work her eyes just glaze over. She will sometimes watch over my shoulders as I'm working and all she says is, "wow your job is really tedious!". This is just how it seems to her.
  
  I know countless people in the industry who started out as developers and did it for a year or two even though they did not like it, and later moved on into other related positions such as project manager, trainer, technical writer, etc. Doing hard core problem solving 5-10 hours a day dealing with things that are only in your mind and don't exist in the real world isn't something that everyone can relate to.
  
  Edit: One more comment on this. Since I wrote this answer 3 years ago my kids have gotten into high school and are starting to decide what they want to pursue in college. They are both very advanced in math, my son completed calculus as a high school junior and just took the SAT and got an 800 in math. He is of the generation that is surrounded by technology and uses it every day. However he has zero interest in coding or even software or IT. He sees what I do and has tried it but just doesn't like it. I am sure he is technically intelligent enough to do it if he had to but he has tried it and just finds it boring and uninteresting. I think kids and their parents and teachers should just be realistic about whether or not coding is something the kid genuinely wants to do or if they are doing it because someone told them it would get them a good job one day.
  
  > **Comments:**
  > **username_3**: I agree. It would be good if people could learn that they "do not like" programming before investing years of their lives to go through school and then land a job. Perhaps we need some targeted vocational assessment and counselling in High School? It wasn't so long ago that only 5% of people went to college, and then it was often simply because their parents wanted them to and had the money. Being *able* to go doesn't mean people *should*, for their own well-being and that of the community.  
  > **username_3**: After seeing your edit, I am again prompted to wonder what many young people *do* want to do? This seems to be a frequent issue in this century. Long view: Freud said that life is made worthwhile by 2 things: Work, Love. So, if someone does not find work they want to do, their life is likely to be "a hiding to nothing". Do they not realize this? Perhaps it is connected to the recent news that 25% of people in the US age 18-25 have considered suicide this summer. Ennui might be a bigger problem than we can solve in Computer Science Educators, I think.  
  > **username_8**: I guess all I can say is that there are a lot of choices besides coding and suicide.  
  > **username_7**: (for your son) There is a (outlook to) programing that is much closer to math than is the norm [See this](https://cseducators.stackexchange.com/a/6568/8837) And that ppl (like your wife) "glaze over" may well be because we tend to delight in accidental needless complexity, not authentic difficulty See [this](https://cseducators.stackexchange.com/a/6567/8837)  
  
  ---
  
  ### Answer by username_9 on 2017-06-24. Score: 1
  
  You can provide some sort of anonymous public feedback channel with which students can communicate with you and their classmates. A wiki works well for this. You can get information that a student may not be willing to share face to face. You can ask questions yourself on this channel to prompt useful responses.
  
  While this sounds risky, it really isn't. If a student vents, his/her classmates will probably correct the record. But a shy/underperforming student may feel empowered by having such an option.
  
  It needs to be both public and anonymous, however. If it isn't public you might get only the venting and not a more complete picture. If it isn't anonymous you won't learn some important things, though it is also useful for students asking for clarification of points made in class.
  
  I used this successfully over several years.
  
  > **Comments:**
  > **username_5**: Your mileage with this technique may vary depending on your student population. I recall a blog post by a professor who had switched universities, and lamented that his ratemyprofessor comments completely changed in nature. He ran some language analytics across the entirety of both universities on that site, eventually coming to the conclusion that the feedback given at an institution says as much about the students themselves as it does about the teachers.  
  
  ---
  
  