100 likes | 333 Views
Pair programming. Cesar D. Guerrero Department of Computer Science and Engineering guerrerc@cse.usf.edu May 12, 2008. What is pair programming?. Driver: types at the computer or records a design
E N D
Pair programming Cesar D. Guerrero Department of Computer Science and Engineering guerrerc@cse.usf.edu May 12, 2008
What is pair programming? • Driver: types at the computer or records a design • Navigator: watches the work of the driver and attentively identifies problems, asks clarifying questions, and makes suggestions. Two programmers work in the same machine playing two possible roles:
Pair Learning • Several universities have successfully implemented pair programming in most of their CS programming classes • Several journals and conferences on education have presented the benefits of this method. • Also books have been published like Pair Programming Illuminated by Williams, L. and Kessler, R.
Sign-up sheet • You will choose your own programming partner or let the TA pick partner for you in the lab. • Either way, you and your partner need to sign your names with the TA for the lab that you two will be working on.
Pair rotation Driver Navigator • Each student will play both roles (driver and navigator) during each lab assignment. • Switching roles means that the keyboard and mouse slide from one programmer to the other. Do not get up to swap chairs. • In your lab submission, you will indicate what roles (driver/navigator) you and your partner played for each exercise.
Evaluation • For labs finished by pair programming, students will receive the same grade for the assignment. • You will receive during the semester at least two surveys evaluating your experience.
Seven Habits of Effective Pair Programmers • Take breaks: stand up and stretch every 40 minutes. • Practice humility: excess ego can prevent the programmer from considering other’s ideas • Be confident / be receptive: a fear of appearing stupid also decreases the number of bold proposals and ideas suggested. • Communicate: no more than a minute should pass without some sort of communication between the pair. • Listen: listen to what your partner has to say before responding. • Be a team player: when you play the navigator role, keep in mind that your partner’s work is your work. You will take over as driver in any moment. • Hone the balance between compromise and standing firm: if your partner really wants a do-while loop but you think it would be better as a for loop, think about whether it really makes a difference in this case before being insistent or argumentative.