41

Please don't... ...give the students who are ahead more of the same kind of work to do. Please. That's just boring. If they get it, they get it. ...make groups by mixing the students who are ahead with the students who are behind - often, the students who are ahead won't teach the behind students, but will just do the whole thing themselves. I say this from ...


29

The best way to deal with this kind of student is to head it off at the pass. If you can get the student at the beginning, you can often prevent the problem from festering in the first place. I have a student coming in next year who I have already been warned will have this problem, and I plan to show this to my class on the first day: I will then say ...


21

I have 3 tiers of labs. First are the required labs. They're worth 100 points each and every one must do these. If they don't do one, it goes in the gradebook as a zero. These are also the labs that I think are the best of each topic for practicing what they need to work on. My calendar is based on how much time I expect 90 plus percent of the students need ...


17

I don't think this is really a CS problem - though of course some individuals do get "addicted" to computing. The root of the problem is that these students don't know how to study - and ironically, it's quite likely that the education system they are progressing through has never even tried to teach them that basic skill. But you don't have time to teach ...


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 ...


11

It seems like the students are trying to learn all they can using the resources you've provided. Memorization in the way you describe strikes me as a sign that the students don't have enough work to do and are hungry for more knowledge. Instead of allowing the students to memorize every word of the textbook, I'd give them something better to do. Why don't ...


10

You said he refuses to work, but has mastered the material. How do you know he's mastered the material? I've had students like this in the past. They'll finish 2 weeks worth of assignments in a day and a half. Talk to them. See what interests them about programming. The few times that this has come up, the student had something specific they wanted to ...


10

The easiest way to set the conditions so that they can all be reached continuously in every class period is to make the conditions so easy that all can achieve them with very little effort. However, this is not at all motivational and sells the students short of being stretched, inspired and challenged. Dumbing-down the curriculum so that all succeed can get ...


9

A few ideas... Scaffold your problem sets. CS50 -- and by extension CS50 AP -- sections students according to "less comfortable" and "more comfortable" tracks. (See what they do here for pset2.) Giving students options, especially in terms of difficulty level, is a key. This may involve creating problems with additional, optional components, which will be ...


6

It would really depend on the student. I would suggest that you see if it those students get better grades (compared to others that do the expected amount of work). Also, it might be worth looking out for signs of breakdowns, or anxiety (usually expressed in hurried complaints about workload). If they get better grades and don't collapse from the work, ...


6

When I started my last job, there were many problems with the CS "tutors" at the CC and university I worked at: Tutors actually didn't know the content that well themselves. Tutors "explained" a lot, and used the sessions as hangout time with other buddies, or as a sort of show-off time. Attendance at tutoring sessions was (unsurprisingly) low. If no one ...


6

You've mentioned before that your students are adults who are attempting to make a career change to a programming role. With that in mind, I think the best thing you can do is show them how what you're teaching helps them achieve that goal. Think about it from their perspective: I'm an (older?) adult, who has had a "real job" for the last X years. Now I'm ...


6

A quick online search led me to this. A Beginner's Guide to Access Technology for Blind Students It covers all the essentials Screen Access Software Braille Embosser Notetaker Scanner and Optical Character Recognition I am essentially listing things from that article It seems like something that was written years ago, but I assume, it should be a good ...


6

I think it is bad practice to have the computer draw pictures, and then try to describe them, when in would be much easier (and better for the blind person) to interpret a text interface (command line). Having a blind person try to use a system that is optimised to sight, is wrong. Wasting power on a screen, that you can not see is wrong (though having ...


5

I am not sure if your post is a statement or a question. However it is my opinion (after more than 25 years in the software industry) that some topics are just not for everyone, and computer science and programming is one of them. I think it is an admirable goal to strive to teach every student in every class, but a more realistic goal might be to improve ...


5

It appears that the student(s) in question don't really want to do what they are doing, but feel like they have to; this answer addresses that. Be sure to consider that maybe your student(s) just really want to learn the extra stuff, and don't block them from doing that. Emphasize the power of summary. In a world with the internet, no one needs to memorize ...


5

First, I will describe my university's program, and then I will give my thoughts on its efficacy as a participant of this program. My university makes a distinction between the general "University Honors" program and specific "Honors in the Major" programs. Students are invited to the honors program based on particular GPA requirements, which then need to ...


5

I have never had this situation, but can offer some general advice that is also applicable to other students whose needs require specialized techniques. As suggested in other answers here, talk to the student, of course. But ask the student for permission to do at least some of the following. You probably have a school counselor who can offer some ...


4

I am basing my answer on my own high school experience, some decades ago. I was a junior in a CS class composed mostly of seniors. The format for a five day week was two days of lecture, three days of in class "labs," with the teacher as a "floater," moving from one group of students to another to help out. Even though I was a year younger than most of the ...


4

The other answers are good, but there's another angle you could take that hasn't been mentioned: make the early finisher(s) your temporary lab assistant(s). Assuming that what they turned in was suitably bug-free (not that I ever submitted a lab super-early with a critical error still in the code, no way no sir) and depending on the personalities/...


4

I'm a big fan of giving fast-finishers choice. I make one thing abundantly clear to the students from the beginning: if class is 90 minutes long, everyone works on the topics of our course for that amount of time and credit is only given for the class assignments. No extra credit for extra learning. When the students complain that they are doing more work ...


4

No one has yet mentioned the long term effects on the student. If the person wants to explore computing as a career they need people skills, not just technical skills. But that is a lesson your entire class needs, not just this one person. Highly valued people in the computing industry spend most of their time and effort working with other people -- and ...


4

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 ...


4

Depending on your overall situation you might consider asking the student to collaborate with you on something that uses their skills. I'm assuming that they aren't too overextended by their study patterns. Or you could ask a small number of students with similar tendencies to work on something together, giving them orthogonal skills. One simple example ...


4

Play on their terms First you should either know what qualities some of those students have. Are they competitive? are they bookworms or maybe enthusiastic about other subjects (for example, physics or biology)? Once you know these things (which can be discovered with a simple mandatory questionnaire of some sort), then a few options branch out:  &...


4

There are no substitutes for talking to the student. You can make guesses, try new activities, or shift things around in your course, but you are shooting blind until you actual figure out what is going on with the human being in front of you. Find a moment to sit down with the student, explain what you are seeing, and ask them whether that matches their ...


4

Have you considered the social aspect of your class? For most people, I don't think there's anything more motivating than working towards something you want with people you like. And even if you're doing hard, boring, or confusing work, if your friends are doing it, you'll want to give it a shot too. If your buddies are excited about their future in the ...


3

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 ...


3

Mastering the material is less than half of what it takes to be a great engineer. Showing up and doing the work - even when it is phenomenally boring - is critical. Giving him a pass will not in any way prepare him for a career in this field. If he's not willing to do the BS tasks, he shouldn't pass. If you feel so inclined, give him the final and base his ...


Only top voted, non community-wiki answers of a minimum length are eligible