Skip to main content

We strongly encourage Pair Programming on homework assignments (not quizzes), since it's an extremely effective way to learn and lots of fun! Remember that showing complete solutions to others who are just starting the homework prevents learning and is against the edX honor code.

To take part in a pair programming session, first join the Agile Ventures Pairing Community and then browse the pairing events, noting any that are at an appropriate time for you, and on a topic you want to pair on.

If you can't see any at a good time for then create one at a time that does suit you by creating a new pairing event following the steps below.  Note: that there is a fundamental difference between a "Hangout" and a "Hangout on Air" - only the latter can be broadcast and recorded, and creating a hangout through other means than specified below will lead to a non-recordable hangout.  All pairing (or solo) sessions should be recorded and set as unlisted, for upload as evidence of working on the assignments.

1. Go to http://www.agileventures.org/events/new?project=cs169 and click ensure to select "Pair Programming" in the Category option:

2. Fill in an appropriate title, e.g. "Pairing on CS169 HW0 Ruby Intro"

3. Fill in a description such as "Hoping to work from the beginning" or "I've finished parts 1 and 2 and want to focus on part 3".  

4. Set the start time and date by entering your preferred pairing time (in UTC) and date in the relevant fields.  

5. Click the green 'Save' button and your event will appear in the Agile Ventures pairing events

6. Just before your event starts you will need to navigate to the event page itself, and click on the orange "Start a Hangout on Air" button NOTE THAT IN PRINCIPLE ANYONE CAN START THE EVENT - START IT EARLY IF YOU WANT TO ENSURE TO BE THE EVENT HOST:

This will pop up a new browser window, and the first dialog will ask you to invite guests:

7. Skip this dialog (press the 'Skip' button)  NOTE THAT CAMERA AND MICROPHONE ARE ENTIRELY OPTIONAL - IT IS THE SCREENSHARE FUNCTIONALITY OF HANGOUTS THAT IS MOST IMPORTANT FOR PAIR PROGRAMMING

8. If others are having trouble joining your hangout then feel free to copy and paste the URL from the address bar of the hangout into our gitter chat in order to allow anyone in the edX SaaS community to join you for the pairing session:

9. Once you are ready you can click the green "Start Broadcast" button at the bottom of the hangout to record your pairing session (see image below).  Note that this requires you have linked a YouTube account to your G+ account.  The video will show up in your Youtube videos a few hours after you've ended the broadcast.  You can then share this recording as necessary.

and you can screen share via the green screen share button that shows up when you move your mouse to the left of the hangout:

Screenshare by itself is reasonably effective for study groups, although for real pair programming you will need to employ some method for sharing the exact code when you swap drive/navigator roles.  Git Pong is a good option but requires good Git skills.  Another good option is Cloud9, and also Nitrous.

There are many ways to pair program online but Google Hangouts is a good option to get started as long as you have a reasonably fast computer and a reasonably stable internet connection.  Even if you'd like to use a different remote pairing technology it's still worth creating or joining an event in the Agile Ventures Community since you can always switch to (or use in combination with) Skype Screen Share, Screen, TmateFloobits, MadEye, ScreenHero or other alternative once you've established the time and date that you can pair at.

We strongly recommend using the latest version of Chrome for hangouts.