This question is really aimed to teachers, especially in high school courses (but everyone is welcome to share some ideas). If you have a student that really does not like Computer Science, what should you do?

  1. Encourage him, he might find his passion in CS
  2. Talk to his parents and tell them maybe he should be in a course more of his liking
  3. Try to find common ground between what he likes and CS (this one is actually very hard to do if you want to comply with the curriculum)

I'm most interested in the answers for a course that is required, but answers for courses that are optional would also be of interest.

If you think this question is not suitable here or should be rephrased, please tell me so in the comments.

  • 1
    $\begingroup$ My focus where would be on a required courses, but it would be intersting to see what should be done in each case $\endgroup$
    – Safirah
    Jul 1, 2017 at 8:49
  • $\begingroup$ I've be told a case of a college student whose parents forced her to study CS (they thouh she would become rich this way), she pretty much hated the course and had a very low performance, but no teacher interviwed in this situaton $\endgroup$
    – Safirah
    Jul 1, 2017 at 9:06
  • 2
    $\begingroup$ @Safirah I would turn this into only one of the two questions, and also ask the second question. (required classes vs unrequired classes). This will give the site the value of two focused questions, and will also help you to get better answers. $\endgroup$
    – Ben I.
    Jul 1, 2017 at 10:57
  • $\begingroup$ This and this might be of interest. $\endgroup$
    – gaborous
    Jul 1, 2017 at 22:14
  • $\begingroup$ Is CS an elective course in Portugal, or is it required? If it's elective, why is this kid in the class? $\endgroup$ Jul 2, 2017 at 4:31

4 Answers 4


This is hard to answer, since you already provide much of the solution in the question. I'm not sure that 1. is likely to be successful (good luck, though) but the others are pretty good. The answer is probably highly dependent on whether the student is in secondary school or university. In secondary every student has limited options and is required by various rules to take specific courses. University students have (in an ideal world) more, but not complete, freedom. But a secondary student might hate History, for example, rather than CS, but they still need to take it.

Let me give a bit of background before saying some things about talking to parents. The background is actually ammunition for you. While I was studying for the doctorate in mathematics, the market was heavenly. The US pushed students into maths and the sciences because of Sputnik. We signed up in droves and the government and industry provided wonderful opportunities for graduates. However this ended completely and catastrophally one year before I finished. There were NO jobs for mathematicians anywhere - especially in good university teaching positions. I was lucky enough to get a position after many (many) tries, but soon switched my focus to computing.

The point of the above is that you will never have any control over what the economy will be like when you are ready to enter the market. It could be good or bad. However, my story isn't a sad one, as, over time, I was able to develop a rich and rewarding (and well-paid) career. So, things get bad, but they also get better.

Back to "talking to parents". I'm guessing that the parents (likely the father, but why be sexist) think that the kid (ageism?) will have a great career in CS. Maybe true, maybe not. But, rather than trying to convince the parent(s) try to explore with them their reasons. In secondary school, unless it is an expensive private (in Britain that would be "public") school the parent has less leverage withholding funds. That gives you more freedom. The student still must be supported, somehow. But for secondary school students, explorations with the parent(s) is probably necessary, but ask first, rather than suggest first.

At university, I've had exactly this situation but there your third option can be a great one. Study CS if you must to keep the funds flowing but also study what you love (history, philosophy, ...). If you know about this student situation, through student conferencing, you can perhaps guide the student to use their (required by daddy/mommy) CS skills in furtherance of their personal goals through wisely chosen projects.

More ammunition: you only get one life. You need to make it a good life, richly personally rewarding. At every step of your life you will face constraints of various kinds and you need to choose a path in light of those constraints. Some of the constraints are incredibly unfair (poverty, racism, sexism, ...) but the life you live is your own. Help your students see that and help them find their path; their path. Maybe you can help the parent see that and move toward a more realistic view of the future and a more supportive relationship with your student.

Nobody promised you teaching would be easy or straightforward.

More ammunition: Some students will intentionally fail in a situation such as you describe. It is a real danger. It can lead, perhaps, to clinical depression. So, you may need to get someone at the school with the necessary skills to get into the conversation.

Another incident, which may shed light on your particular situation (or not). I once had two students come to me, together, for advice. They wanted to know whether they should study Computer Science or Information Systems. I started to talk about the differences between the two fields (what people do). They stopped me. What they wanted to know was in which field they would make more money. That was their only concern. They would have chosen one over the other for a few more dollars in (initial?) salary. Their situation was a bit special. They were fairly recent immigrants from a country in which they were part of a minority severely discriminated against - including economic discrimination. Remembering that, they felt a special need to focus on just money. My advice to them was the same -- make a good life for yourself. Do what you love if you have the opportunity. As a teacher, it is good to be aware of such things when you give advice.

And on the flip side, you can start out in a flying economy and get a big hit later. I have a friend who is a superstar, Fellow of the ACM - their highest "ranking" of members, who had done a lot of great things. However, when Sun Microsystems collapsed, so did much of his career, though he's redirected his efforts and kept to his real goals. He was once considered "one of the (three) crown jewels" at Sun.

  • 1
    $\begingroup$ At my university, a lot of unrelated majors had "CS 1" as a required class (instead of the more useful CS for Sciences). So the class was a huge lecture with about 75% CS majors and 25% other but was taught strictly as a foundation for the CS students. There were a lot of people who were great at their actual field, but spent all their time studying to get a C in CS, in a class that really isn't all that useful as a standalone. $\endgroup$ Jul 1, 2017 at 22:15

On the first day of class, I ask students how Google search can work -- returning an answer to any query over billions of web pages in a fraction of a second. Usually someone mutters "magic". I say, "That's right. What else would you call it when putting together words and symbols enables you to control powerful entities?" Computer programs, I argue, are spells, and robotics is transfiguration. The wizardry in Harry Potter isn't real, but computer science is. Whatever you want to do, computer programming will make you more powerful. (The good people at Code.org similarly call coding a superpower.) I challenge students to name a field of interest, and I tell them how computer science can be applied to it. Whatever your goals are, I say, being able to create computer programs will help you achieve them.

Within the bounds of the curriculum, try to come up with applications that interest the students, and help them keep their eyes on the prize. Stress that they're going from the majority who only knows how to use other people's programs to the minority that can create programs.

I can't say how well this would go over in a high school class, but it seems effective in workshops for high schoolers and for classes at the college level. Of course, as Aurora0001 pointed out, CS isn't for everyone, so there will be some students who don't respond well, but you should be able to capture the imaginations and respect of many students by making sure they understand they're not moving semicolons around, they're exerting god-like power. :-)

  • 2
    $\begingroup$ I've always been surprised that students don't call me a goofy zealot on course evaluations. $\endgroup$ Jul 1, 2017 at 18:10
  • $\begingroup$ What else would you call it when putting together words and symbols enables you to control powerful entities "quaternary sector"? ;) $\endgroup$ Jul 1, 2017 at 19:43

In an ideal world, helping a student to find a passion in CS would be great. But for some people, a subject conflicts so much with their abilities and interests that it's not likely they'll ever enjoy the subject with a real passion. And that's fine. You can't force someone to like a subject—it's an exercise in futility—but, if you're willing to put the effort in and understand what the student is interested in, you could make your course more relevant to them.

With a curriculum that's very rigid, you might not have much scope for changing your materials too much, but it would help to know exactly what your student likes or dislikes. For example, if your student finds the mathematical side of CS difficult, you might be able to change your teaching to use analogies and ideas from other subjects. Perhaps you could think of a program as a 'recipe', or a 'script', if that helps.

However, you need to be mindful not to take analogies too far, or focus your teaching so much on one person that it becomes detrimental to others. In a large class, you might not really be able to change a lot, but if you have time, you could discuss multiple ways of thinking about a problem.

In other words: try to teach relevant content, and do the best you can for that student. But if they have no intention of pursuing the subject, there is only so much you can do for them, and some of the topics in the curriculum might be irrelevant to them. And, with teaching, the curriculum marches relentlessly on, whether everyone understands or not. If you're able to deliver more personalised teaching, you probably can make a bigger effect, but it might be infeasible.


I teach at a HS with majors. Students apply into their major as 8th graders, and may not switch once admitted and matriculated. Many of the kids have never programmed at all when they apply, so we run into this problem regularly. The teachers in my department are all fairly popular, so we don't have a huge number of kids who dislike computer science, but ever year there are a handful who discover, right near the beginning, that CS is not their favorite activity. Nevertheless, they are stuck with us for the duration of a 4-year core curriculum.

As a system, this is terribly motivating for both teacher and student; losing a kid during their freshman year will make the next three years impossible. Thus, we expend a great deal of effort making sure that the lessons themselves are as crystal clear as they can be.

I would not dial back the standards for kids in a required class. The great strength of a required class is that you can hold students to high standards. However, you must always create a path by which those standards can be met. For us, that can involve once (or even twice) weekly meetings with struggling students, conferences with parents, additional worksheets or small assignments, heart-to-heart discussions with students, or pairing with a tutor.

Personally, I make multiple versions of assessments to allow students who did not master the material a second chance. (This comes not with a subtraction to the final grade, but rather with a lowered maximum possible grade on the assessment.) The test-retest model, especially early in the term, is another tool I have to make sure that I don't lose a kid on the early, prerequisite concepts.

Sometimes kids who are really struggling come in expecting to fail and wishing to evade or let it go. You always want to make sure that they're on the same team as you are, so to some degree, I treat these meetings as recruitment meetings. When working with the struggling students, always keep the emphasis om empathy, love and on what can be done. If you give them extra assignments, explain how the assignment will help them, and why you feel it necessary that they go through these extra steps. You can assure them that it is extra work for you, too, and that you only give them this work because you want to help them succeed. And, most of the time, at least in my experience, they will.

  • 1
    $\begingroup$ Maybe it would be good to have some kind of exposure to and testing of aptitude for the majors before the students lock in the next four years of their lives? Is there some reason this is not happening? $\endgroup$
    – user737
    Aug 22, 2017 at 16:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.