Pair Programming Activity
Last updated on 2025-03-18 | Edit this page
Overview
Questions
- What are some benefits and challenges with pair programming?
Objectives
- Experience pair programming
Setup
- Pair up with someone
- Install Live Share or Code With Me if you use VS Code or PyCharm and want to try it
- Or setup a zoom, teams, meet, huddle to share screens
- Or sit close to each other
- Clone the “Code-Review”
repo or download the script and test image:
git clone https://github.com/INTERSECT-training/Code-Review.git
- OR
wget https://raw.githubusercontent.com/INTERSECT-training/Code-Review/main/activity/inklimit.py
wget https://raw.githubusercontent.com/INTERSECT-training/Code-Review/main/activity/testimage.tiff
- We will work in the
activity
folder - Ideally you would have a shared file system or switch roles after a commit. You can borrow each others’ computer or work on discrete portions of the script.
- Install any dependencies:
- (Recommended) Make a new virtual environment or conda env
pip install numpy pillow
- Run
python3 inklimit.py testimage.tiff outimage.tiff
to test the script works.
- Make sure you can view the input and your output image files
Task
You have a complaint from users: The inkjet printer leaves puddles of ink in the dark areas!
Your task is to: * Change the code in inklimit.py to limit the total
ink in the C, M, Y and K planes for each pixel to a given percentage
(e.g. 240%) * Avoid changing the perceived color of the image * To limit
the time needed for this task, you have a skeleton of the algorithm.
Extend the base class and implement the apply
function *
Your team needs only to implement the actual ink limiting algorithm
You should now choose who will Drive, who will Navigate, and begin working. About half-way through, you can swap roles.
Remember to communicate! What possible approaches could you take?
This process is about the pair programming process, not the code! If you have extra time you can polish and refactor other parts of the code.
Key Points
- Pair programming is a skill and practice will improve your experience as a driver and navigator.