 2009 Pearson Education, Inc. All rights reserved. 1 Pair Programming Most slides courtesy of Ms. Stephany Coffman-Wolph Some slides with minor modification.

Slides:



Advertisements
Similar presentations
Course Overview things to know and think about when considering these sections of Eng2311 Engl 2311 Fricke sections.
Advertisements

James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Event driven software.
March 25, 2002R McFadyen a lightweight approach to software development. about 5 years old has been used at: Bayerische Landesbank, Credit Swiss.
 2009 Pearson Education, Inc. All rights reserved. 1 Part I: Compilers Part II: Pair Programming Most slides courtesy of Ms. Stephany Coffman-Wolph Many.
13-Jun-15 Extreme Programming. 2 Software engineering methodologies A methodology is a formalized process or set of practices for creating software An.
Individuals and interactions
Individuals and interactions
CSCD 434 Spring 2011 Lecture 1 Course Overview. Contact Information Instructor Carol Taylor 315 CEB Phone: Office.
CSCD 330 Network Programming Winter 2012 Lecture 1 - Course Details.
Using Qualtrics for Midterm Course Evaluations Heather Urry Psychology.
How to Write and Give A Speech
Tips for Helping Your Child Be Successful in School The Guidance Office Presents.
Pair Programming Testing 2, October 14, Administration  Project due Monday 2PM SHARP  Remember all parts of documentation (list of tests, project.
EGR 105 Foundations of Engineering I Time Management Fall 2008.
Pair Programming Sarah Heckman Teaching Assistant Professor NC State University Tapestry Workshop Some materials courtesy of Laurie Williams, NC.
Verbal Communication Health Science. Rationale Expertise in communication skills is necessary for workers in health care. To deliver quality health care,
Pair Programming Sarah Heckman Teaching Associate Professor NC State Tapestry Workshop Some materials.
COMP Introduction to Programming Yi Hong May 13, 2015.
TEAMWORK A FEW NOTES. MAYBE YOUR ONLY FULL-SCALE TEAM PROJECT AT WWU … 8 weeks A beginning and an end Consistent team membership Negotiation of schedules.
Performance Improvement. 2 Steps to Performance Improvement 1. Define the Problem 2. Define Duties or Behaviors to be Improved 3. Establish Priorities.
Prof. Matthew Hertz SH 1029F /
Program Design CMSC 201. Motivation We’ve talked a lot about certain ‘good habits’ we’d like you guys to get in while writing code. There are two main.
Tutoring Dos and Donts Unofficial alien of CS 5 Gold Unofficial alien of CS 5 Black Unofficial turtle of CS 5 Green Unofficial alien of CS 42 Official.
Prof. Matthew Hertz WTC 207D /
Program Development Life Cycle (PDLC)
Level 2 IT Users Qualification – Unit 1 Improving Productivity Chris.
Pair Programming. XP Rule of Thumb “When something is difficult or painful, do it more often until it becomes easier.”
CSCD 330 Network Programming Fall/Winter/Spring 2014 Lecture 1 - Course Details.
Teaching students with Autistic Spectrum Disorders (such as Asperger Syndrome) Kirsty Wayland Ali Fawkes
Pair programming Cesar D. Guerrero Department of Computer Science and Engineering May 12, 2008.
.. HFM Distance Learning Project Student Survey 2003 – 2004 School Year BOCES Distance Learning Program Quality Access Support.
How to Write and Give A Speech. Organization:How should a speech be structured? Introduction - get their attention and state your main idea/message Introduction.
IT Job Roles & Responsibilities Shannon Ciriaco Unit 2:
My Motorola Experience August 8 th, 2013 Erich Kuerschner| 2013 Summer Intern Service Automation, MOTOROLA SOLUTIONS iProtect Classification as Appropriate.
Course Overview ENGL 3365 Spring Copyright 2013 by Art Fricke basics The Instructor Dr. Art Fricke BS in Chemical Engineering & Biochemistry MS.
Unit 1 – Improving Productivity
CS 110: Introduction to Computer Science Introduction to Collaborative Learning and Programming Practices.
Individuals and interactions
 Prentice Hall. All rights reserved. 1 Recursion (Section 7.13 & Exercise7.40 from ed.3) (Sections 6.15, 6.16 from ed.1) Many slides modified.
ACIS 3504 Accounting Systems and Controls. 2 Dr. Linda Wallace  Office: Pamplin 3092  
 2009 Pearson Education, Inc. All rights reserved. 1 Part I: Compilers Part II: Pair Programming Most slides courtesy of Ms. Stephany Coffman-Wolph Many.
STUDENT LED CONFERENCES SPRING 2015 BEN IVERSON. Cover Letter Science this year has covered a wide range of topics. We started the year with learning.
If the music works, it has no real significance just a little background noise for your ears and reading enjoyment.
CS 345 – Software Engineering Nancy Harris ISAT/CS 217
A Puzzle for You. Puzzle Someone is working for you for 7 days You have a gold bar, which is segmented into 7 pieces, but they are all CONNECTED You have.
TELETANDEM ORIENTATION SESSION. Foreign language learning in- tandem involves pairs of native (or competent) speakers of different languages working collaboratively.
CSCD 330 Network Programming Winter 2015 Lecture 1 - Course Details.
Introduction to Software Engineering Lab Instructor: Jacob.
By:Hollie Riley MAKE 2013 PROJECT.  The reason I picked this topic to do this project was because I helped my cousin make a movie for a project and it.
Cathleen gavidi. Stick to it! Persevering in task through to completion; remaining focused. Looking for ways to reach your goal when stuck. Not giving.
Interactions. The prey, the pack, and the hunt Your goal is to meet your customer’s needs That goal, and nothing else, is the prey Not throwaway prototypes.
Skills For Effective Communication
SFTW241 Programming Languages Architecture 2002~2003 Semester II Duration: 2003/2/11~ 2003/4/11 University of Macau Faculty of Science and Technology Computer.
Computer Networks CNT5106C
1 Required , Google Group 1.Send the professor (This is also listed in the –In the Subject,
Pair Programming in the Classroom Mark Sherriff University of Virginia July 16, 2009 Some material courtesy of Laurie Williams, NCSU Tapestry 2009.
Team Contracts We can work together! Copyright © Texas Education Agency, All rights reserved. 1.
MS. NANCY HARRIS LECTURER, DEPARTMENT OF COMPUTER SCIENCE CS 149 – Programming Fundamentals (Accelerated)
Sample Wiki Comments?.
Send the professor (This is also listed in the syllabus)
Meredith A. Henry, M.S. Department of Psychology
All About Business Phone Systems
Pair Programming in the Classroom
CMSC 314 Prof. Lupoli.
Pair Programming.
Introduction to Collaborative Learning and Programming Practices
CSCE 314 Prof. Lupoli.
Introduction To CPSC 233 James Tam Event driven software
Introduction To CPSC 233 James Tam Event driven software
Presentation transcript:

 2009 Pearson Education, Inc. All rights reserved. 1 Pair Programming Most slides courtesy of Ms. Stephany Coffman-Wolph Some slides with minor modification by Dr. L. Lilien (even without explicit message). Slides added by L.Lilien are © Leszek T. Lilien. Permision to use for non-commercial purposes slides added by L.Lilien’s will be gladly granted upon a written (e.g., ed) request.

 2009 Pearson Education, Inc. All rights reserved. Pair Programming Pair Programming = Two People, One Computer – A mechanism for real-time problem solving and real-time quality assurance – Helps developers to focus on the problem at hand Two people work together at one computer to create code – Not simply dividing up the project… … and working on them independently – The “pair” should be in the same room - Or in this day and age, communicating in real-time - E.g., via Video Chat, Shared Desktop, etc. 2

 2009 Pearson Education, Inc. All rights reserved. Tasks for Driver and Navigator One person is a driver – Controls the keyboard and mouse - types the actual code – Leads the conversation and discussions through the process One person is a navigator – P ays attention to the driver – Monitors code and design – Makes relevant suggestions, – Corrects errors - Stop holes in logic, provide debugging assistance, etc. Communication between driver and navigator is the most important part of Pair Programming! – Without good communication, Pair Programming teams are ineffective Switch the roles throughout the entire project – Nobody should always be the driver or navigator 3

 2009 Pearson Education, Inc. All rights reserved. Things to Avoid  Things you should avoid:  Interrupting every time your partner starts doing something in a way other than how you'd do it  Once you wrestle the keyboard away, deleting your partner's last edit immediately  Then doing what you were thinking of instead  If your partner objects, ignoring it and talking over it  Speaking non-stop, so your partner never has a moment of silence in which to speak, read code, or have a thought  For further (humorous) reading: 4

 2009 Pearson Education, Inc. All rights reserved. But I Like Working By Myself… Things to think about: – Writing software is a team activity - Large software is extremely rarely written by one person alone – You can learn from your partner’s feedback - To benefit from both your successful and less successful activities, techniques and habits – Pair programming studies have shown: - Pair programmers have greater productivity than solo programmers (most studies show double productivity) - Pair programming significantly improves design correctness - Pair programmers’ code has overall higher correctness - Pair programming decreases overall time required 5

 2009 Pearson Education, Inc. All rights reserved. ++READ LATER++ More Benefits of Pair Programming Studies have shown the following benefits: – Better brainstorms – Better and higher quality code – Increased morale – Increased teamwork – Enhanced learning – Increased courage – Better and more effective debugging – Increased knowledge – Better time management 6

 2009 Pearson Education, Inc. All rights reserved. ++READ LATER++ Selecting your partner… Suggestions: – Find a partner that is in your lecture and/or your lab - Makes things a little easier… – Find a partner who’s schedule can work with your schedule - Start by comparing schedules, if both of you only have 1 hour that you can meet up - this really will not work – Make sure you and your partner can easily meet in the same location - Schedule your first meeting to be very soon after the assignment comes out – Exchange contact information (names, , phone numbers, etc) when you agree to be partners – Start your assignment early! - Things go smoother if you are not starting at 2 am the day before it is due…(trust me on this one) 7

 2009 Pearson Education, Inc. All rights reserved. ++READ LATER++ How to they “pick” partners in “real” world? Alternatives: – People paired by managers - Mixing novice programmers with experts - Mixing “new” programmers with “older” programmers – People select their partners themselves – People pick tasks they want to work on, and the pairs result from task selections - Pair forming is especially easy if a large project is broken into very small tasks - People pair with lots of partners throughout the project 8

 2009 Pearson Education, Inc. All rights reserved. ++READ LATER++ Can I… … work on the project without my partner? – Track down an error in between meetings, read the specs, ask the instructor clarification questions, think through the logic/design - yes – You should wait to do major design/coding only when you and your partner can meet … not have a partner? – It is a requirement for CS1120. (Sorry) – If you feel you have a special case - see me … change partners between assignment 6 and 7? – Absolutely … come to you if I am having problems with my partner? – Absolutely 9

 2009 Pearson Education, Inc. All rights reserved. Good Reading Material on Pair Programming “All I Really Need to Know about Pair Programming I Learned In Kindergarten” – “Software Reviews and Pair Programming” – ing.pdf ing.pdf Many more – you can google it up 10

 2009 Pearson Education, Inc. All rights reserved. In-class Pair Programming Exercise Get problem from our class web page 11

 2009 Pearson Education, Inc. All rights reserved. 12 The End