4

I give 11 lab assignments in CS 1, and I assign partners for the first four or five so that students get to know each other, and then I let them choose their partners, or choose to work alone. I try to discourage them from working alone, but some students just don't want to deal with people, and I feel bad forcing them. (I also give six projects, worth ...


3

My suggestion would be to utilize seprate tools for elements of the process rather than try to find a packaged solution, or modify an existing tool which is 'not quite right' for the task. Quick summary is: use Discord for communications, text and/or audio Restricted channels for each pair to utilize while coding Open channel for students to contact the ...


3

If you haven't used Pair Programming (PP) before but want to introduce it, there are two additional books you should read for background. They aren't textbooks for your class, but put PP into context. Extreme Programming Explained gives the complete context of PP in the agile development process. Pair Programming is one of the "small scale" practices of ...


2

I find it difficult to predict success with the setup you describe. There are too many forces working against you. If your students are all residential and/or do most of their programming in labs that you provide then success might be possible, but otherwise, not likely. Students resist pairing and don't really know how to do it effectively. They don't ...


2

Having them do it for homework, and pair program is a big ask. However here is some of my experience with pair programming. While working as part of a software team, we tried to introduce pair programming, but got lots of resistance, even from the evangelists (no one had done it before, but it seemed like a good idea). What worked Pairing with someone ...


2

I've been in groups before, and multiple people were supposed to code. It was a system where you had to be on the same computer for it to work. It fairly well approximated pair programming - we were discussing out loud, and one person was watching the other giving suggestions, and the other was coding. The people in the group that I was mostly working with ...


2

I have seen pair programming both succeed spectacularly and fail miserably. The difference comes from a combination of a few factors, which are, in a way, the advantages and disadvantages of Pair Programming. One clear advantage is that both students in the pair get experience in writing code, and later reviewing code. (The pair programming I saw had ...


2

I've been experimenting with AWS Cloud9 with a view to remote pair-programming (at the professional level). Also, as a means of (vocational level) coaching of young professionals currently working-from-home. Might it meet your needs? Also, Amazon have various educational tie-ups, which your school/system might investigate. Disclaimers: AWS is subject to US ...


1

Keep it simple and integrate into tools that your school is already using as much as possible. For example, my university is using MS Teams (which may currently be free for everyone). To do pair programming, each pair of students sets up a call with each other and one person shares their IDE window (we use Thonny). The other one then requests control, so ...


1

In the past I've successfully used XPairtise for Eclipse. The Eclipse marketplace shows this and a couple of others: https://marketplace.eclipse.org/category/free-tagging/pair-programming A separate voice or text channel might be good to use with it. But you want something with a fast and seamless switch between driver and navigator and also integration ...


1

tl;dr: This isn't an either/or sort of situation. You have a lot of options for structuring the exercise. There are a lot of possibilities and which works best depends on the specifics of your situation. Don't lose track of the fact that your goal is educational, however, and not code production. If the students learn but not much code gets produced it can ...


1

An extension I've come to appreciate is one where you have a "driver", "observer/navigator" and "keeper". This last role might be considerably more difficult, depending on the lab. The idea is to have someone who keeps track of the design. This means that at the start of the lab, the students should all (or just those who start as keepers) dedicate a bit ...


1

You have to be strict with the rules you set up and monitor the students carefully until it becomes a habit for them. For instance, if you decide that you want the pair to switch roles every 15 minutes, you could ring a bell or have some other signal for the students to pass the keyboard over, switch seats, or whatever else they would need to do change ...


1

I have experienced pair programming as a student. TL;DR: From my experience, I do not recommend pair programming, but I do recommend a course structure where students can ask each other for assistance. This way, students who need and want assistance can get it, and students who are able to give assistance can give it. The ability of the professor or TA in ...


1

Paired programming is very effective at work too. We use Skype for Business to share screens (i.e., editor/output windows) and communicate in real time. If you don't have Skype, you can use Slack. Add GitHub or Bitbucket to quickly share code, and you have a very collaborative environment.


1

If you are using Cloud9 and you want them to be working on the same code at the same time (Google Docs-style), you can have one user share their workspace with the other (with read/write permission). There is a "share" button in the upper-right hand corner. We have successfully used this for group projects on Cloud9.


1

I tend to avoid multiple students working on the same code simultaneously (Google Docs style) because it's really difficult to assess what has been done by each student or to stop one student dominating whilst the other doesn't understand what's happening. Either that or students tend to get distracted by what the other is writing. Having said that, you ...


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