16

You seem to already realize that this is a subtle question. When I taught Mathematics early in my career, I also forbade students to work together. Later on, teaching Computer Science, I found myself at the opposite pole. I normally forced students to work together on nearly every task. In some ways I changed, but it was more that the subjects are different. ...


16

You have an opportunity for several things here: You can make it a small-team effort rather than a whole-class thing. Say, a team of about 5. The team reviews everyone's code in sequence so all get to participate. Instead of a "code-review" it can be a "code-quality-workshop". The team has to write up the results of the review, with an addendum by the ...


15

I'm presenting this as an answer to preserve it. It isn't a direct response to the question, I know. Let me draw out a conclusion from @BenI.'s answer. The plagiarism "problem" in education seems to flow from a (IMO) misguided notion that all student intellectual growth must flow from that individual only without any collaboration whatever. I used to ...


9

First of all, there is no straightforward, accepted answer to this question. Reasonable people define plagiarism differently, and there will be students who will play around at the very edges of what you consider to be plagiarism no matter where you hold that line. My answer is in the context of a classroom teacher in the USA. The single most important ...


9

Have you considered something like a Refactoring Kata? A Refactoring Kata is a project that works exactly as described and passes a given set of unit tests, but is written for the express purpose of being abysmal code. Giving the students horrible code written by someone other than their peers could help people who may think they are being "mean"/not ...


9

Some ideas: Show them that you're serious: grade the student's code reviews -- initially based on effort, then later based on correctness. This will definitely be a lot more work for you, but it does make sure that everybody is practicing and kills accusations that you're trying to avoid work. You may want to deliberately invent poor and buggy code ...


8

I look at it as two separate tasks. Learning: The goal here is to learn new things and practice what you've learned. For my classes, these are mostly small lab style assignments. I want them to work with their neighbors. I switch seats every two weeks or so that they have new neighbors to work with. I've gotten pretty good at explaining concepts, but ...


6

some students see code review as a burden and a new way teachers have found to "ditch some work" There's an easy way to teach them to do code review without thinking that you're ditching work: ask them to review some code which you wrote for the express purpose (or, if you have some suitable code from the previous year's homework, use that). This can be set ...


6

Some ideas to ruminate on. With you as the guest in another department, thoughts are: $\LaTeX$ presented to a writing class, preferably one where they've already had to submit three or more papers that were graded on presentation as well as English usage Web design (for portfolio usage maybe) to any arts or photography class Mathematica, if available, to ...


5

Two answers are possible: a direct answer to the explicit question(s), and a response to the implications for education hinted at by the excerpt. The written questions When does excessive collaboration become plagiarism? It never can. [W]here should the line between excessive collaboration and plagiarism be drawn? Such a line cannot exist. Why? ...


5

As an instructor, this is certainly a sticky problem. There are two questions at play here: What can I help you to understand during our time together? How do I know that you actually know it? There is an understandable impulse to work only on the first question. After all, what is the purpose of education if not to help the students progress as fast ...


5

To plagiarise, all one has to do is not be honest about where the work come from. It matters not how much you copy, however if you copy a very small amount without any references, then this is probably ok. This abstract seems not to be, mainly, about plagiarism. But mainly about learning (plagiarism is about assessment). Detecting pupils that are focused ...


4

You mention this: Access to previous work, when partner is not present. Because pupils have to log-in, and use a single account. There is a problem if the account holder is not present (ill), or if I want to re-pair students. ... but how do they access it when their partner is present? Do they have to be on the same machine? That's fragile (computer ...


4

Actually, in true pair-programming no one works (or at least modifies any code) unless the partner is present. This is an important rule as I've seen really bad things happen when one member of a pair (or team) thinks he/she "gets it" and doesn't. I've had to spend half a day backing out "improvements" that were really misunderstandings by the perpetrator. ...


4

I believe that the best tool is communication. Letting students know, beforehand, why their progress is being assessed in a particular way and how they are allowed to collaborate is a very important part of teaching. For instance, MIT has a very interesting page on what type of collaboration when is allowed writing code for assignments. Regarding the no ...


4

Strangely, just after posting a question I found a list of additional link collections: https://github.com/zamansky/awesome-cs-education https://github.com/quobit/awesome-python-in-education https://cseducators.stackexchange.com/a/3947/9632 And one chat: https://chat.stackexchange.com/rooms/59174 I still think there should be more, but this is a start.


3

Why not create a multi stage project for them? They all code up something for stage 1. You then give out each students stage 1 to another student and ask them to complete stage 2 using the code that they received. Next the completed stage 1 and 2 work is given to another student to complete a stage 3 (they are then reviewing, extending and understanding ...


3

Providing the class with pre-chosen code, for the specific purpose of teaching quality control skills and methods (of which review is a component) will help to ensure the code is suitable for teaching the points required, and does actually contain review points where you can provide notes and grades fairly. Asking students to peer review may mean some get ...


3

ACM SIGCSE has a regular and active mailing list for members. Questions on pedagogy and such are frequent there. The College Board APCS system has a number of mailing lists for various interests and, again, teaching methodology is a common thread, though it can be pretty specific to Advanced Placement and its course and exam system. Both will require ...


2

To the already excellent answers given here, I'd suggest adding the following: While guest lectures are important, they might not be easy to setup. Someone has to take time outside their schedule, prepare a lecture and so on (if your colleagues are as willing as you are then no problem, but that might be an obstacle). In that respect I think doing ...


2

If your kids can do web development - particularly programatic web development (say using something like flask, ruby on rails etc.) then an easy entry point is with history or social studies or even English - instead of having the kid do a 10 page paper on blah blah blah, have them make a web presence on blah blah blah. This can be a richer more interesting ...


2

Science classes would be my immediate thought, where data can be collected to support experimentation. The most obvious metrics being weather, sunlight, etc. for biology type things (not my subject, so I'm a bit weak on examples). In physics, accurate timing and acceleration are easy to sample, so that can also be linked to experiments. In design, you ...


2

I think that, when code is shared, one of the central questions is: After it has been seen, does the student understand what they have seen and will they be able to use this knowledge independently in the future. That is: Did they actually learn something? There certainly is a population of students for whom this works. None of this is really about them. ...


2

I have a couple thoughts of how I'd handle it: Address it with the bad actors 1-on-1, but don't assume bad faith. We might not know the whole story and there might have been a good reason to walk away from a situation or it is possible that the bad actor has poor social skills. Give them the benefit of the doubt, but explain why that kind of behavior ...


2

If you're in the USA, there is also CSTA, for which there are no "topicality" requirements. The chapters are led by teachers, and the meetings are among teachers. I've found my chapter to be a useful resource for simply comparing notes and talking to other CS teachers.


1

First, as Kevin Buffardi pointed out, don't assume bad faith. Poor social skills may be playing a role, and it's also the case that everyone finds people who just rub them the wrong way from time to time. No one is universally liked. Unless you have a strong reason to believe that there is specific vindictiveness or some sort of "-ism" at the heart of the ...


1

This guy's teaching is the best I've ever found on conflict-reducing communication: https://www.amazon.co.uk/Life-Enriching-Education-Communication-Performance-Relationships/dp/1892005050 In summary, keep observations separate from judgments and communicate on the level of needs. Also, empathize first, before expressing yourself.


1

"Group work" is hard to handle. One of the first courses I taught here was structured around a bunch of homework programming tasks, to be done in two-person teams. Around midterm one of the students showed up complaining he had done his half of the homeworks (his mate didn't participate), and now it was the mate's turn... and the mate had left the class. ...


1

Background: As a senior in my IT company, I am often teaching fresh colleagues on-the-job, so I know where you came from. On the other hand, as teamlead, getting people to work together (i.e., tough things like being able to ask questions and actually listen to answers...), is very important for me, as there's only so much of myself (in the first role) to go ...


1

Set a formative peer-reviewed assignment using an LMS. This is based mainly on part of an answer I suggested to a different but related question here. Coding mini-assignment- peer grading on Moodle Given that photocopying code is a non-runner, and distributing files can be difficult, I set up a peer-graded Assignment on Moodle. Each learner had to work ...


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