Pair Programming Sarah Heckman Teaching Assistant Professor NC State University Tapestry Workshop 2012 1 Some materials courtesy of Laurie Williams, NC.

Slides:



Advertisements
Similar presentations
2007 Team-Based Learning Conference - Vancouver, B.C. Understanding the TBL Divide: Examining the Similarities and Differences between Writing and Programming.
Advertisements

Students writing their own feedback; self-assessment mediated by video mark schemes David Read and Paul Duckmanton.
Test and Assignment StrategiesThat Really Work!
Is CCA achieving its goals?. Huh??? What are we doing??? Currently, CCA is going through WASC, a school certification process. Currently, CCA is going.
Speakers: Denise Chilton, Sandra Smele, Christine Wong May 1, 2013
AS and A2 HEALTH AND SOCIAL CARE at High Storrs Sixth Form.
Learning and Teaching Conference 2012 Skill integration for students through in-class feedback and continuous assessment. Konstantinos Dimopoulos City.
POGIL vs Traditional Lecture in Organic I Gary D. Anderson Department of Chemistry Marshall University Huntington, WV.
CPSC 413 Fall To learn the material in CPSC 413 and get the grade I’m aiming for will require me to put significant effort into the course.
Teaching Philosophy Jeff Joines
Biopsychology Psychology 222 Dr. Ann Voorhies. The study of the biological basis of behavior –How the nervous system works –How it controls behavior –How.
Gild Project – Explorations….. CSc 115/160 (S01) Pair Programming.
March 25, 2002R McFadyen a lightweight approach to software development. about 5 years old has been used at: Bayerische Landesbank, Credit Swiss.
Potions Class Assistant Professor James Atlas (on loan from the University of Delaware)
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CS503: Tenth Lecture, Fall 2008 Review Michael Barnathan.
September 5, Concepts of Programming Languages Hongwei Xi Comp. Sci. Dept. Boston University.
September 7, Concepts of Programming Languages Hongwei Xi Comp. Sci. Dept. Boston University.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
Assessment & Evaluation  A measurement tool  Non-judgmental*  On-going  Answers the questions:  How much did they learn?  How well did they learn.
Summer Session & Team Teaching Elizabeth Nichols Graduate Student TA Training Workshop January 8, 2007.
Classroom Observations: Open Conversations about your Practice for student improvement. How do we change things? There is some magic stuff being done by.
Blended Courses: How to have the best of both worlds in higher education By Susan C. Slowey.
Professional Growth= Teacher Growth
TA End of Semester Survival Skills Lisa Kelly Center for Teaching October 31 st, 2013.
Designing Great Coaching Sessions Workshop 2. Effective coaching sessions The following components of effective coaching sessions require consideration.
Brain Builders. Our aim To improve the quality and effectiveness of homework tasks. To extend learning by linking homework to activities completed in.
Welcome to the Home of the Bilingual Bobcats!
NORTH CAROLINA TEACHER EVALUATION INSTRUMENT and PROCESS
Problem Based Learning (PBL) David W. Dillard Arcadia Valley CTC.
1 What do We Learn from Challenging TEFL CALL Students’ Projects? Presenter: Professor Lyra Riabov Southern New Hampshire University NNETESOL Fall 2006.
Implementing Active Learning Strategies in a Large Class Setting Travis White, Pharm.D., Assistant Professor Kristy Lucas, Pharm.D., Professor Pharmacy.
Linda Werner.  Learn about using pair programming to 1. promote learning 2. increase students’ confidence 3. Increase students’ enjoyment  Leave with.
Pair Programming Sarah Heckman Teaching Associate Professor NC State Tapestry Workshop Some materials.
Collaboration Exercise Laurie Williams, Lucas Layman North Carolina State University This exercise is copyrighted by Laurie Williams.
ADOPTING OPEN SOURCE INTEGRATED LIBRARY SYSTEMS Best Practices Presented by Vandana Singh, PhD Assistant Professor, School of Information Sciences University.
Standards For Teacher Preparation. What do you see in the previous slide? Students who are ready to answer the question? Students who are listening and.
How to Learn in This Course CS 5010 Program Design Paradigms “Bootcamp” Lesson 0.1 © Mitchell Wand, This work is licensed under a Creative Commons.
Pair Programming in the Classroom Mark Sherriff University of Virginia June 29, 2011 Some material courtesy of Laurie Williams, NCSU Tapestry 2011.
Syllabus Writing Workshop Summer, Introduction Tom McCambridge Tom McCambridge Assistant Professor in the School of Education Assistant Professor.
August 19, 2015 Do Now  On a ticket, write your name.  On scratch paper, write down definition of formative assessment  Find a partner to work with.
Review of Course Approach and Assignment on Class Discussions These slides from session 1 of the class and can be found on the class website.
Content-Area Writing Chapter 10 Writing for Tests and Assessments Darcey Helmick EIWP 2013.
Help Students Help Themselves - CS291/CS490 Mentoring Program Lisa L. Fan, Ph.D Department of Computer Science, University of Regina.
 2009 Pearson Education, Inc. All rights reserved. 1 Pair Programming Most slides courtesy of Ms. Stephany Coffman-Wolph Some slides with minor modification.
Making Decisions uCode: October Review What are the differences between: o BlueJ o Java Computer objects represent some thing or idea in the real.
NESCent Postdoc Professional Development Series on Effective Teaching and Learning Session 7 – Testing, Assessment and Grading October 20 th, 2006 NESCent.
Lighthouse Junior Our School Metaphor. Governance Curriculum Climate Staffing WE WILL EXAMINE THE FOLLOWING TOPICS:
CS 110: Introduction to Computer Science Introduction to Collaborative Learning and Programming Practices.
Using Alice in an introductory programming course for non-CS majors Adelaida A. Medlock Department of Computer Science Drexel University
Phonics, speaking and listening, learning and challenge!
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.
CS 139 – Algorithm Development MS. NANCY HARRIS LECTURER, DEPARTMENT OF COMPUTER SCIENCE.
Student Perceptions of Hybrid Courses. Like about Hybrid Format Course 1 For a few weeks, can take things at your own pace Can cover more topics in less.
Classroom logistics and practices PROGRAMMING FUNDAMENTALS.
Collaborative Problem Solving: Selected Parables Dave Dempsey Professor of Meteorology Department of Earth & Climate Sciences San Francisco State University.
My Action Research Tracey Low. How do I develop a classroom learning programme which stimulates, engages and extends more able students in their learning?
Challenging students to acquire deeper knowledge in HCI course N. Ackovska and M. Kostoska 15 th Workshop on “Software Engineering and Reverse Engineering”
Development of a Web-Based Groupwork Assessment Tool Groupwork and Assessment Methods Demonstration of Software Discussion Hannah Whaley David Walker
Physics 218 towards a set of guidelines. Why guidelines for 218 ?  This guidelines need to be created for several purposes: 1.to be as fair as possible.
Beth Overman Dr. Barbi Honeycutt.  After this workshop, participants will be able to…  Explain the importance of managing a learning environment  Compare.
Problem-Based Learning Jodi Bumgarner EDU692: Creativity, Culture, and Global Context in Education Instructor: Angela Stephens October 26,2015.
Observation System Kidderminster College January 2012.
Pair Programming in the Classroom Mark Sherriff University of Virginia July 16, 2009 Some material courtesy of Laurie Williams, NCSU Tapestry 2009.
3P SYSTEM Better, Faster, More Meaningful Grades.
MS. NANCY HARRIS LECTURER, DEPARTMENT OF COMPUTER SCIENCE CS 149 – Programming Fundamentals (Accelerated)
Pair Programming in the Classroom
Putting cooperative learning into practice
CS 139 – Programming Fundamentals
Member Leadership!.
Presentation transcript:

Pair Programming Sarah Heckman Teaching Assistant Professor NC State University Tapestry Workshop Some materials courtesy of Laurie Williams, NC State University and Mark Sherriff, University of Virginia

Overview Pairing Exercise Pair Programming Definition –Roles & Examples Partners vs. Pair Programming Why Pair Programming? Pair Programming Guidelines Training & Environment Problem Pairs Implementation Recommendations Pair Rotation Resources Tapestry Workshop

Transportation Device Requirements –Transport people between 10 and 100 mph –Stop on demand –Carry at least one person –Restrain at least one person (so they don’t fall out) –Look nice Draw your transportation device. Work alone! Do not look at your neighbor’s paper! No collaboration! No talking! Tapestry Workshop

Team Transportation Device When did you wake up this morning? –Breaking system –Restraint system –Appearance –Propulsion system Integrate! Tapestry Workshop Person that woke up the earliest Person that woke up the latest

Summer Blockbuster Requirements –A love interest featuring well-known movie stars –Attraction for the age bracket –Explosions. Lots of explosions! –A significant plot twist Work in pairs Outline or story board your script Tapestry Workshop

Discussion Which product was more cohesive ? Which product is more sellable to a customer? Which product was more creative? Which activity was more fun? Tapestry Workshop

Pair Programming Definition “Pair programming is a style of programming in which two programmers work side-by-side at one computer, continuously collaborating on the same design, algorithm, code, or test.” - Laurie Williams Tapestry Workshop

The Roles Driver –The person with “control” of the computer –Does the bulk of the typing Navigator –Actively follows along with the driver and makes comments –Can take over driving at any time Both –Discuss decisions related to current task –Task could be coding, designing, debugging, testing… Driver and navigator periodically switch roles Tapestry Workshop

Pair Programming Tapestry Workshop Driver Navigator

This is NOT Pair Programming Tapestry Workshop

Partners vs. Pair Programming How is Pair Programming different than just having partnered assignments? –Mentality of how to approach the assignment Partnering: –“You do this part and I’ll do this part and then we’ll put it together” Pair Programming: –“Let’s do this part together first, then we’ll tackle the rest.” Tapestry Workshop

It’s All About Attitude Start with the instructor buy in –TAs and other staff have to buy in and help enforce Requires environment that can support teaching and facilitating the technique –Closed labs –In-class paired exercises (coding, design, testing, etc.) Tapestry Workshop

Why Pair Programming? Pair programming students tend to: –Make it through the first class –Perform comparably or better on exams and projects –Perform just fine when completing a solo programming task later –Produce higher-quality work in less time in the pair –Stick with computer science –Read and understand another’s code (inspection) –Explain their code and justify their decisions leading to a deeper understanding Tapestry Workshop

Why Pair Programming? Sometimes it is a numbers game Grading 20 paired assignments is faster than 40 solo assignments Helping 20 pairs is faster than helping 40 individual students –A pair is a built in support system –Cuts down on “trivial” questions (syntax, assignment clarification, etc.) and a fair number of more complex questions (debugging, etc.) Tapestry Workshop

Pair Programming Considerations Pair Creation & Management –How do we assign pairs effectively for every assignment so it’s not too much overhead? Pair Evaluation –How can students report pair issues to the staff? Grading –How do you “split” grades between partners? Training & Environment –How can you incorporate pair programming in your classroom? Tapestry Workshop

Pair Creation How do you assign pairs? –Pair randomly – most partnerships will be compatible –Pair by traits – should result in many compatible pairs Work ethic, learning style, similar self-assessed skill level, availability, grades in previous course, etc. –Students choose partners I’ve tried them all in different courses Tapestry Workshop

Pair Management & Evaluation Auto-Assign Pair Creation –PairEval – al.php al.php Myers-Briggs, Learning Style, Self Evaluation Who do you NOT want to work with –CATME – Availability, GPA, commitment level, etc. Self-Reported Pairs –Google Forms Tapestry Workshop

Pair Evaluation Key questions for evaluation: –Did the pair get along? –Did the pair get the work done? –Did an individual feel the partner “did their fair share”? Both the student’s and the partner’s contributions should be assessed. Tie to project reflection –What did the student do well or contribute to? –What should the student improve for the next project? Tapestry Workshop

Pair Grading If there’s no problem… then great! If there is… –Meet with each student and ask “If 100% effort is you doing exactly what you should have been doing, what percentage did you actually do?” –Could adjust the grades according to this percentage Using best judgment about truthfulness Rotating pairs throughout the semester allows you to see trends –CATME provides some measure of possible grade adjustment Tapestry Workshop

Training & Environment Instructors, TAs, and students need to be taught how to do effective pair programming –Controlled environment! –Proactive monitoring and engagement with dysfunctional pairs –Require switching of roles Best environment –Closed lab or lecture-lab classroom –Lab setup where students are required to share computers Tapestry Workshop

Problem Pairs Will problem pairs happen? Yes Particular cases: –The “I don’t care” student –The absent student –The “I’m smarter than my partner(s)” student These problems are not pair programming related, but pair programming can surface these problems Tapestry Workshop

Implementation Recommendations Strict tardiness /absence policy Evaluation mechanism to provide feedback –Students should rate partners and themselves Paired assignments should be more challenging than a solo assignment Environment conductive to pairing Tapestry Workshop

Implementation Recomendation Not all assignments have to be paired –Balance in work and in grade –For a CS1 course: In-class exercises: paired Programming projects: solo Put thought into pair creation Rotate pairs periodically –After every major assignment –Every few weeks Tapestry Workshop

Pair Rotation Good for students –Meet new people and learn how to work with new people –If a student doesn’t like their current partner, they know they will get a new partner soon Good for instructor –Multiple forms of feedback –Natural handling of dysfunctional pairs Tapestry Workshop

Resources Sarah Heckman: Tapestry Workshop