Mostly students can't code or they are not interested or they become lazy in their work or they are not confident enough to make their own logic and check it before teacher.

For all these students they copy code assignments from other students (which are the intelligent students of the class) and hand it in to the teacher.

So which method must be applied to them so that all students start to code on their own, make their own logic and be confident on their own work?

| improve this question | | | | |
  • 1
    $\begingroup$ Why are they so uninterested? Is this just a requirement imposed on them that they don't value? $\endgroup$ – Buffy May 4 '19 at 20:36
  • 1
    $\begingroup$ I think there are a number of problematic assumptions here. It may not be confidence. There could be any number of outside factors that lead a student to copy, e.g. stress, home life, workload from other classes, etc. Sometimes it is pure naivete. I've seen all of them. Also, leading with the idea that most students "can't" seems to begin with a defeatist approach that limits the potential of students before they even begin. $\endgroup$ – Peter May 4 '19 at 23:10
  • 2
    $\begingroup$ I don't think most students begin a class in a brand new topic intending to cheat. Typically, they miss something and get overwhelmed, begin to feel hopeless, or feel like they are drowning in their overall workload too much to fix the problem. $\endgroup$ – Ben I. May 4 '19 at 23:43


You say they copy the intelligent students, so first watch https://www.ted.com/talks/carol_dweck_the_power_of_believing_that_you_can_improve?language=en


Then stop with the sumative assessment (Stop grading them). Encourage mistakes: I just heard of a company that has a mistakes wall. They seed it with a few famous quotes about mistakes. Then the leaders (teachers) add some and sign them. If others (students) add to the wall, then the first ones are praised (and awarded prizes), until it becomes the norm.

Help them to get in a situation where they are making small changes, making many small errors, experimenting, learning from feedback as the program runs. Give them code to change. Encourage small changes. Encourage testing after every change.


Before teaching programming languages, teach them how to program, and before that teach them how to solve problems: That is start unplugged.

Get them to do every problem manually. Teach them to think like a computer. Get them to solve problems like they are a stupid robot.

Then get them to document what they have done. As a set of steps. Get them to test it. Get them to ask their peers to test it. Show them how to test it. Get them to debug/fix it. Show them that you make mistakes. Show them how you fix your own mistakes.

Then when it is working, show them how to translate it, into the chosen programming language.

| improve this answer | | | | |
  • $\begingroup$ Note that CS Unplugged is actually a thing. Some of my students have been involved in these concepts: csunplugged.org/en $\endgroup$ – Buffy May 5 '19 at 12:28
  • $\begingroup$ @Buffy I love that resource, but I don't mean only that: If they don't provide a resource, then you may have to create your own, or get it from else where. $\endgroup$ – ctrl-alt-delor May 5 '19 at 12:45

I have been fighting this for 30 years without a true solution. I think it is human nature to take the shortest way and if that involves copying code the students will do it. I teach at a high school and my classes are small enough to actually see the kids code so I have less issue with this than those teachers with large classes or classes where the students do all their coding outside class (university classes). Some students like the challenge coding presents and will do their own work. Others are not into challenges and will be perfectly happy with copying. Solutions? Slightly unique assignments, tests on code understanding, and short live coding quizzes. Some are practical, some only kind of work. Good luck.

| improve this answer | | | | |
  • 1
    $\begingroup$ Thank you for acknowledging that this is not necessarily an entirely solvable problem. If you think your students are never getting things over on you, you're either delusional or just not thinking it through properly. $\endgroup$ – Ben I. Jan 30 at 19:42

Your Answer

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

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