Occasionally I have students who are 'overmotivated': they put way too much effort in to trying to memorize every word of the textbook, every idea, each diagram I draw... They spend all of their off hours, all evening and weekend, reading, rereading, underlining, highlighting, going over the same pages again and again. I look at their textbook and nearly every word is underlined and/or highlighted!

For example, when I project the textbook, there might be a few lines or words on each page that I have underlined, which I explain. I try to cover those vital ideas at least three times on different days and in different ways. There are parts of textbooks where I say "skip this, we will get to it later." These students then come to me with questions about that. I am fine if they want to learn it now instead of later, but I am not fine if they are struggling, drowning in concepts, burning themselves in to the ground, and they try to take on that needless idea that I told them to skip.

What do you do with students like this? I am in the USA, so I am not expecting this level of intensity. It is working against these students' progress.

  • 6
    $\begingroup$ Is this a theory or practice course? Memorizing all of Sipser's theory textbook and (trying to) memorize all of Stroustrup's The C++ Programming Language are different problems. $\endgroup$ – Jeffrey Bosboom Jun 28 '17 at 16:32
  • 4
    $\begingroup$ Are you sure they really understand what they are underlining, highlights and so on. Propably they are just memorize everything without proper understanding. $\endgroup$ – Jeka Jun 28 '17 at 18:20
  • 3
    $\begingroup$ This is how I started CS as well. The world seemed small enough for me to learn everything about every language. After 3 or 4 months, I hit a wall, the classic, "the more you know, the less you know, you know". I never complained about my self-induced workload though, and never did it to pass a test. I am sure that if I hadn't realized what I couldn't learn everything, I would've burned out. Unfortunately, I cannot remember what triggered that wall in me, to start focusing on what's important. $\endgroup$ – Chris Wohlert Jun 29 '17 at 11:56

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 them that, and teach the contents of your CS course as well.

Students who have found everything "easy" since the start of their education are often the worst sufferers - eventually they hit the brick wall where just listening to the teacher and "getting it" with no effort doesn't work any more, and then they are completely lost.

The best solution would be to try to get a general "how to study" course into the curriculum for every student - or at the least, start your course by giving them some guidelines (including notes to refer back to!) on the study strategies that work, and those that don't.

But you can only lead the horse to the water - as somebody once said, "Homo sapiens has a fundamental design defect: most members of the species can learn, but none of them can be taught."

  • 1
    $\begingroup$ @nocomprende It's certainly not unique to CS. It is well known in math (at undergraduate level) where the people who aced their way through the pre-university education system suddenly hit the wall in their second or third year. $\endgroup$ – alephzero Jun 28 '17 at 19:52
  • 2
    $\begingroup$ @nocomprende Having been programming in industry since the late 1960s, IMO the amount of abstraction in CS certainly hasn't increased by 20 orders of magnitude, even if the performance of the hardware might have done that. When people started to teach my team "object oriented programming and design" in the 1980s, we soon realized we had been doing it 15 years already - and in Fortran (!!!). It was so obvious it was a good idea that we hadn't even given it a special name. "More abstraction" in CS often seems more like "cargo cult programming using as many different tools as possible." to me! $\endgroup$ – alephzero Jun 28 '17 at 19:55
  • $\begingroup$ I don't know about surgeons, but part of the reason for the small number of pilots is because it's an expensive hobby. Flying a plane (or a helicopter) is arguably easier than driving a car, and it doesn't take much longer to learn - the minimum amount of practical experience to get a basic pilot's licence is about 50 hours. (I work for an aviation company that runs its own flying club, with one of the company's pilots as a flying instructor, so that takes the much of the cost issues out of the picture.) $\endgroup$ – alephzero Jun 29 '17 at 2:48
  • $\begingroup$ ... Without any subsidy, the minimum cost of getting a PPL is likely to be around £10,000 for aircraft hire and tuition. And if you actually want to use your new licence, you are probably looking at about £200 per hour of flying time. Not many people have that sort of money to spend on a hobby. My employer is happy to subsidize it because having employees with flying experience benefits the business. $\endgroup$ – alephzero Jun 29 '17 at 3:03

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 you try providing additional reading with each assignment, or additional extra credit opportunities? You could also invite the students to meet with you so you can tutor them in more advanced topics. They seem to really want more work, so give them what they want!

In the case of a student who is doing badly despite trying to learn everything you give them, I'd give them personal attention to make sure they understand the topic. You could recommend that they find you during a free period or during your office hours to discuss where they are struggling in the coursework. That will allow you to more throughly evaluate the problem and establish a plan that will help the specific student in question.

  • 3
    $\begingroup$ @nocomprende: This is, to my understanding, somewhat typical of the US educational system as a whole - at the high school level and below, rote memorization is the underlying valuable skill, meaning that ambitious students will try to swallow the textbook whole in order to do better on (standardized) tests and exams. In order to break this habit, you might consider assigning additional project work vs. readings - they'll be forced to understand by a rather different path. $\endgroup$ – Sebastian Lenartowicz Jun 28 '17 at 17:01

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, then I would think that everything is ok.

However, if they don't get better grades (I'd define that as 1-2 tests that are below their average) or are showing signs of breakdowns, I'd talk to them and say that they are putting more effort than is needed (and healthy).

They might protest that "I'm ok", but that might be an attempt to convince themselves. If they do this, then you should point out that the curriculum is designed in a specific way, and they are overworking.

You can also advise them to put the additional effort into expanding their knowledge of other things, in addition to the "Vanilla" curriculum. This might not work with all students, but for some, it's like presenting a good opportunity.

  • 3
    $\begingroup$ I agree very much that taking stock of students' mental health is paramount here, and should ultimately be the guiding principle of how to respond. They may be extremely interested, or they may be breaking down. This is the most important idea here so far. $\endgroup$ – Ben I. Jun 28 '17 at 16:31
  • $\begingroup$ Perhaps the students were very concerned to be able to get jobs? $\endgroup$ – Scott Rowe Sep 25 '20 at 21:23

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 every concept, but just understand the basics, or what to google when you need something. I can't tell you how many times I've looked up details on Stack Overflow, and then using that finished my program. Tell them that the important thing is to understand the big ideas, and be able to implement them.

If they don't respond to that, try to spend a couple of days teaching completely without the book, and asking your students to not use it. Summarize up front, hand out notes with the points you want, and then let them go on the lab work. Tell them that the notes you have handed out are all they should need, along with occasionally googling something. If they are taking notes beyond that, tell them there's a problem. Hopefully that gives them an idea of what they need to do.

Also - a textbook with every sentence highlighted doesn't point out the more important things - it's just annoying to read. Perhaps you can show a quick example - plain page, overhighlighted page, judiciously highlighted page - in a one-on-one with those students.

  • $\begingroup$ @nocomprende it might be nice (though extra work for you) to have notes created for them, with blanks to fill in so that you know they're paying attention - something like <date> <lecture title> Python is a ____ language. Python is awesome because ____. etc. $\endgroup$ – heather Jun 28 '17 at 15:43
  • 1
    $\begingroup$ Daily handouts can be nice for highlighting the concepts, but if you put too much emphasis on them, your students will just ignore everything not on the handouts. $\endgroup$ – Kys Jun 29 '17 at 21:04

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 comes to mind. Ask them to write problems and exercises for you that you "might" want to use in the future. To make it more interesting and useful, ask for solutions as well. But ask for a couple of paragraphs of writing on each, in which the student evaluates the question.

If you write academic papers another avenue opens of course.

Caveat. This was just a thought experiment. I haven't tried this, though I have had graduate students work on projects that I needed done, and once took two of them to a conference.


It sort of sounds to me like those students don't have a good understanding of how to effectively study computer science and programming. In that case, it might be worth explicitly taking some time in front of the class to explain what effective and ineffective study habits specifically look like.

In particular, I would try emphasizing the following things:

  • Programming/CS isn't about memorization, and is more about problem-solving. Memorizing a bunch of facts isn't going to be super helpful/cost effective, and will only give them the illusion of learning. (You can back this up by giving them 'cheat sheets'/allowing them to make cheat sheets for any exams you give).
  • Instead, emphasize the best way to study is via practice. The metaphor I like using is that learning to code is sort of like exercising or learning to play the violin -- while reading about exercising or music theory or whatever can be helpful, you do need to hit the gym/pull out your violin at the end of the day if you actually want to improve.

    You can also use this opportunity to emphasize the importance of doing well on their homework (assuming your homeworks are actually designed this way). You can further emphasize this by providing lots of practice exercises (perhaps via an online tool, so they can test their code?) and by adjusting your grade distribution so homework/labs/projects makes up a non-trivial portion of their final grade.

  • Talk about passive vs active learning, etc.

It might even be worth making the textbook optional or actually just saying outright it's not worth spending time reading it to try and further drive in the point. If you're going to do this though, you should make sure you give them plenty of other resources to make up for it -- provide really good lecture notes/slides, give them plenty of (optional?) practice problems, have lots of office hours/an online discussion board or something so it's easy for students to get help, etc...

As a caveat, these suggestions are from my experiences teaching "intro to programming" style courses that focus mostly on algorithmic thinking at the undergraduate level. I'm not sure exactly what your courses are like, so my suggestions might not perfectly match your student's needs and will need some adjustments.


Although there are many good answers, some aspects of this problem have been overlooked. There are other categories of students who put too much effort in memorising every detail, and they could not be classified as overmotivated.

I have professional experience of working with both groups. The first you should consider are those on the Autistic Spectrum. I find that in Computer Science this group is often more highly representative than in other academic subject areas. Students on the Autistic Spectrum would have difficulty separating relevant facts and details from the minutiae. They may also have a degree of obsessive interest in the detail of the subject and memorise detail for its own sake.

Another group of students who may do this are those that are completely lost or disengaged. They may not have been paying attention in class and their solution to getting grades is to mindlessly try to store everything by rote, without regard to its relevance or purpose.

My anecdote on this comes from when I taught a course on computer programming for Arts and Social Science students. Very few of them wanted to be there; the class was large (many hundreds), but passing credits was a requirement of their degree program. In order to reach out to them I used many paradigms of programming that I felt they could relate to. I explained that programs were like cooking recipes or knitting patterns. To illustrate this my slides (and notes) including cuttings from recipes and knitting patterns I picked up at home. The result was that many students memorised both the recipe and knitting pattern, but still could not explain what a computer program actually was. I still grin at it today, as the recipe was Ken Hom's Chicken in Paper. I still wonder why they thought that memorising that would help them pass the computing paper.

If you do not have experience in recognising or teaching students on the Autistic Spectrum but you teach computer science, I think you would find further reading or training in this area may be helpful to you.


I was overly motivated, but in a slightly different sense.

For example, the software tools class I took required building an assembler. I picked up the assembly language for the prototyping board I owned (M6800) and worked out the entire grammar, then built the whole thing. It had a few bugs due to my being new to C, but it ran well enough to cause one of the TAs to worry that I had copied existing commercial code.

I did it that way because I could, and I wanted the experience. And because I was scared of working with other students. If I had my own problem to work on, I had an excuse to work by myself.

It took enough time that I ran out of time to do the other project, a threaded-interpreter language. I implemented a full Forth for that, as well, but I ended up turning it in late. (And my performance in the industry has unfortunately reflected what I did there.)

Students tend to do what they have confidence they can do.

So you need to have a section of the course that covers problem solving, where, as others have suggested, you don't use any text. I would even suggest you tell them to just bring ten or so blank pieces of paper, a pencil, and an eraser, and joke about taking points off for having highlighters out. (Make sure they know it's just a joke.)

The project is simple. Say the problem is a shoe ordering app, and you know it needs x, y, z, and a mini-app that converts shoe sizes used in different markets. Lay out the stubs for x, y, and z, and ask them how the conversion mini-app fits in.

Let the students direct it. Don't lead. Make sure you go out of your way to ask the highlighter abusers to make suggestions, but don't tease them if they get stuck. Get several suggestions and then get a consensus and move ahead.

Let the students write it. Once it's working, let them critique it. Let this cover several classes, and keep the current source where the students can copy it and play with it on their own. Strongly urge them to do so, and maybe even strongly hint that there is a test question hidden in the parts not covered in class. (Just one, and not too many points, of course.)

And probably set aside x, y, and z once the mini-app is done, for a later project which might never come.

The point of this is to deny them the material to highlight, of course, but also to expose them to basic problem solving.

If it's a large class, you might think there are too many students. Or if it's a small class, you might think that you won't have anyone that will respond. These problems work out in practice, if you are willing to communicate with the students as you go.

It might help to build the thing yourself before you start, but that might also leave you tempted to do too much leading. You have to decide on that one.

If you have problems communicating because of the room, say it's too big and has too poor acoustics for them all to hear you, you've found one of the factors, right there.


The easiest way to address them is to simply let them know when they've hit the grade ceiling especially when you know for sure you're going to curve. Grades are numbers rather than ranks and I have no way of knowing that my 82% is the highest grade in the class. Most people tone it down a notch or two when you make it clear that they're looking at a solid 100% and "remind" them that's as high as it gets, especially in high school.

Going in front of the whole class and saying "the highest grade is 82%" isn't necessarily a good idea because then it stands to reason that there's a built in 18% curve and borderline students will routinely cut back on their effort. It's best to have these sorts of conversations one-on-one and remember to take detailed notes for your own benefit.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy