Pair Programming in the Classroom Mark Sherriff University of Virginia June 29, 2011 Some material courtesy of Laurie Williams, NCSU Tapestry 2011.

Slides:



Advertisements
Similar presentations
M2 – Explain the tools and techniques used in the creation of an interactive website. By Arturas Vitkovskij.
Advertisements

S TUDENT S ELF G RADING Perception vs. Reality Tara L. Crowell, Ph.D. Associate Professor of Public Health The Richard Stockton College of New Jersey.
College Algebra Course Redesign Southeast Missouri State University.
Learning and Teaching Conference 2012 Skill integration for students through in-class feedback and continuous assessment. Konstantinos Dimopoulos City.
S.T.A.I.R.. General problem solving strategy that can be applied to a range problems.
POGIL vs Traditional Lecture in Organic I Gary D. Anderson Department of Chemistry Marshall University Huntington, WV.
111 © 2004 Bowdoin College. All rights reserved. Information Technology Division Blended Courses and Boundaries: Residential Students’ Perceptions Christina.
Engaging Students in the First Year Computer Literacy Course with Self- Paced, Flexible, Online Instruction Mava Wilson, PhD Bill Jaber, PhD Department.
Gild Project – Explorations….. CSc 115/160 (S01) Pair Programming.
Potions Class Assistant Professor James Atlas (on loan from the University of Delaware)
ICE Evaluations Some Suggestions for Improvement.
Getting Them Out Of Their Shells: Service Learning And CS Students Jim Bohy – Iowa Wesleyan College.
E28: Design Notebooks Role Playing Exercise in Gender Equity and Inclusion in Team-based Design Classes.
Dr. Tatiana Erukhimova [year] Overview of Today’s Class Folders Syllabus and Course requirements Tricks to survive Mechanics Review and Coulomb’s Law.
September 7, Concepts of Programming Languages Hongwei Xi Comp. Sci. Dept. Boston University.
Perceptions of the Role of Feedback in Supporting 1 st Yr Learning Jon Scott, Ruth Bevan, Jo Badge & Alan Cann School of Biological Sciences.
Experience in Applying Online Learning Techniques in Computer Science & Engineering Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University.
Discussion examples Andrea Zhok.
Introduction to Programming Environments for Secondary Education CS 1140 Dr. Ben Schafer Department of Computer Science.
Want to be first in your CLASSE? Investigating Student Engagement in Your Courses Want to be first in your CLASSE? Investigating Student Engagement in.
Pair Programming Sarah Heckman Teaching Assistant Professor NC State University Tapestry Workshop Some materials courtesy of Laurie Williams, NC.
Facilitator Feedback I found it very enlightening and fulfilling for myself. Sometimes (many times) I forget what it’s like when you’re just starting.
Welcome... Simon Walls PhD Marketing School of Business Administration.
Implementing Active Learning Strategies in a Large Class Setting Travis White, Pharm.D., Assistant Professor Kristy Lucas, Pharm.D., Professor Pharmacy.
Instructor-Advisor Partnerships: The Good, the Bad and the Fair-to-Middlin’
Pair Programming Sarah Heckman Teaching Associate Professor NC State Tapestry Workshop Some materials.
Operation STEM Cleveland State University February 22, 2014.
Grading Exams and Papers. Why should you work on this skill? Grades matter There are simple steps you can take to be as fair as possible!
Student Success – From the Starting Gate to the Finish Line Education Trust, November 2011.
1 Project Information and Acceptance Testing Integrating Your Code Final Code Submission Acceptance Testing Other Advice and Reminders.
Syllabus Writing Workshop Summer, Introduction Tom McCambridge Tom McCambridge Assistant Professor in the School of Education Assistant Professor.
Establishing potentially useful evidence  Anecdotal evidence: Based on someone’s experience. Statistical evidence: Based on statistics.
English Opportunity By Ron Rogge. Problem - Solution 1.The initial impetus for this idea came from my observation that students lost English ability over.
 2009 Pearson Education, Inc. All rights reserved. 1 Pair Programming Most slides courtesy of Ms. Stephany Coffman-Wolph Some slides with minor modification.
IST359: Introduction to DBMS IST359 Spring 2012 Instructor : Michael Fudge t o.110b Hinds w.
10/27/2015 Sociology of Communications 1 RU-Camden? Ashli Williams.
TIPS FOR EFFECTIVE TEACHING IN STEM HIGHER EDUCATION Benjamin C. Flores, Ph.D. Director, Computing and Electrical and Engineering Division MIE Project.
© 2014 wheresjenny.com Roleplay – University life Roleplay UNIVERSITY LIFE.
 Teaching With a Professor* *Or … “tips to help you survive the world’s most confusing working relationship”
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!
CS5103 Software Engineering Lecture 02 More on Software Process Models.
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.
How Can I Manage My Time Better?. How Do You Spend Your Day??? school work, job, sports, clubs, hanging out with friends, watching tv, eating, sleeping,
Total Teaching (Feedback and assessment ) Paul Gibson.
Lecture 1: Overview CMSC 201 Computer Science 1. Course Info This is the first course in the CMSC intro sequence, followed by 202 CS majors must pass.
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.
Classroom logistics and practices PROGRAMMING FUNDAMENTALS.
Introduction to Software Engineering Lab Instructor: Jacob.
© 2015 albert-learning.com Roleplay – University Life Roleplay UNIVERSITY LIFE.
Dr. Campbell Hime Welcome to Effective Writing 1- CM 107.
Classic Connections: Innovative Methods for Making Education Work.
On-line assessment and feedback: bringing the WOW factor to French grammar.
A True Story By Steven Schechter.  I started off at the University of North Florida in Jacksonville, but after one not so good year, I had to return.
Spring 2008 Mark Fontenot CSE 1341 – Honors Principles of Computer Science I Note Set 1 1.
DSMA 0393/1414 Comments of Students. Co-requisite Model Student Comments Students were given this request on their final examination: Write a statement.
Pair Programming in the Classroom Mark Sherriff University of Virginia July 16, 2009 Some material courtesy of Laurie Williams, NCSU Tapestry 2009.
Using Technology to Improve Feedback. Context I teach 9 th grade English and 12 th grade English electives (now: Literature and Film) I facilitate classroom.
MS. NANCY HARRIS LECTURER, DEPARTMENT OF COMPUTER SCIENCE CS 149 – Programming Fundamentals (Accelerated)
Introduction to CSCI 1311 Dr. Mark C. Lewis
CIT Conference – SUNY Oneonta – Oneonta, NY
Online Course Design: Is the Conversation Over?
Computing in the Classroom and best practices to improve gender diversity equity: Professional development for adjunct faculty Professor Younge’s Experience.
Pair Programming in the Classroom
CSCE 489- Problem Solving Programming Strategies Spring 2018
Introduction to Collaborative Learning and Programming Practices
Why Academic Integrity Matters
Presentation transcript:

Pair Programming in the Classroom Mark Sherriff University of Virginia June 29, 2011 Some material courtesy of Laurie Williams, NCSU Tapestry 2011

Overview What exactly is Pair Programming? The Case for Pair Programming The Costs Guidelines for a successful pairing experience Myths and Legends Resources 2

Tapestry 2011 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 3

Tapestry 2011 The Roles The Driver –The person with "control" of the computer –Does the bulk of the typing The Navigator –Actively follows along with the driver with comments –Can take over at any time 4

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

Tapestry 2011 Partners vs. Pair Programming The distinction matters! It matters to: –Instructors –Teaching Assistants / Tutors –Students Call it framing, perception, spin… whatever It’s all about attitude! 6

Tapestry 2011 It’s All About Attitude How do you get the attitude going? It has to start with the instructor –TAs / other staff have to buy in and help enforce Needs to be an environment that can support teaching and facilitating the technique –Closed lab sessions –In-class group coding exercises 7

Tapestry 2011 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 in future solo programming –Stick with computer science 8

Tapestry 2011 Why Pair Programming? An instant support system –We have found that pairing cuts down on a large number of the "trivial" questions (syntax, assignment clarification, etc.) and a fair number of the more complex questions (debugging, etc.) –We have been able to reduce the number of TAs for some courses –Instructor office hours are much quieter, and the instructor can spend more time with students that need more help 9

Tapestry 2011 Why Pair Programming? Sometimes it is a numbers game In a lab of 40 students… –having 20 pairs makes it easier for TAs to get to everyone –20 assignments are easier/faster to grade than 40 Our main CS1 course has over 500 students every Spring… 10

Tapestry 2011 All for the low, low price of…! What’s the cost? Pair 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 up between partners? 11

Tapestry 2011 Pair Creation First question: Do you assign partners or do you let students pick their own partners? –This has become a TOUGH question for me! –Tried both with CS1 and CS2 courses Current opinion: –It’s not a CS1 vs. CS2 question –It’s a familiarity with other students question –Problems not with material, but with the different majors 12

Tapestry 2011 Pair Management and Evaluation Auto-Assign Pair Creation –PairEval - –CATME – –Data needed for each of these to auto-create pairs varies Self-Reported Pairs –Google Forms 13

Tapestry 2011 PairEval 14

Tapestry 2011 PairEval 15

Tapestry 2011 PairEval 16 Select a group number Move students into and out of groups Optionally, use student information to help form groups. Closer work Ethics and more diverse Sensing and Intuition students make for more compatible pairs.

Tapestry 2011 PairEval 17

Tapestry 2011 PairEval 18

Tapestry 2011 Pair Evaluation With or without a tool like PairEval, it boils down to a few questions: –Did the pair get along? –Did you get the work done? –Do you feel like you “did your fair share?” More data is nice/interesting, but really it just boils down to that Reliable feedback system is needed 19

Tapestry 2011 Pair Evaluation and Grading If there’s no problem… then great! If there is… –If possible, ask the students one at a time: “If 100% effort is you doing exactly what you should have been doing, what percentage did you actually do?” –95% of the time, this works! –For the other 5%, you have to use your best judgement 20

Tapestry 2011 The Biggest Cost Training! Instructors, TAs, and students need to be taught how to do effective pair programming in a controlled environment! The controlled environment could be a closed lab or lecture-lab system. 21

Tapestry 2011 But we don’t have a closed lab? CS1: –Assigned pairs not advisable (partner-split mentality!) –Use for in-lab work only CS2: –Proceed with (extreme) caution –At least bond in lab + some outside work CS2+: –After at least one paired class –Bonding still beneficial, outside work fine 22

Tapestry 2011 Getting Involved Instructors and Teaching Assistants have to take an active role in lab –Must monitor and approach pairs if they seem to be dysfunctional –Should "strongly encourage" drivers and navigators to switch Instructors also must understand that some pairings are just not going to work –Don’t let it discourage you! 23

Tapestry 2011 How Many Pairings Fail? 24 ClassVery compatible OKNot compatible CS164%32%4% SE-P160%33%7% SE-P256%35%9% OO76%15%9% Total60%33%7%

Tapestry 2011 Problem Pairs Will problem pairs happen? Yes. Particular cases: –The “I don’t care” student –The special needs student –The absent student –The “liberal arts vs. engineering” student These problems are not pair programming related, but pair programming can make these come to the surface more often 25

Tapestry 2011 Guidelines To Follow Strict tardiness / absence policy must be followed for pair activities to guard against lazy partners. –Loss of partner, points, and bad evaluation There must be a reporting mechanism for students to provide feedback on partners –PairEval, CATME, or a simple Google Form –"If you could rate your effort based on 100%.." 26

Tapestry 2011 Guidelines To Follow Assignments should be a bit more challenging –"Softball" assignments tend to be finished by a single person without consulting their partner The environment for pairing must be conducive to pairing 27

Tapestry 2011 Lab Setup 28

Tapestry 2011 Guidelines To Follow Don’t go overboard! –Everything in moderation –Pairing isn’t for every assignment –There must be a balance (in work and in grade) Pairing is not random! –Thought must go into pairs –Students should ideally get new partners for every assignment 29

Tapestry 2011 Pair Rotation Reassign several times per semester Good for students –Get to meet new people, learn about working with new people –If they don’t like their partner, they know they will get a new one soon Good for instructor –Multiple forms of feedback –Natural handling of dysfunctional pairs 30

Tapestry 2011 Myths and Legends Myth: Half the students will learn –"In the first course, students need some time to absorb the ideas themselves." –"My inclination is to allow more group work starting in the second course." –"We want to be sure that each student writes enough code him/herself to learn the introductory concepts." –"I am against pair-programming in introductory courses, where students need to develop strong programming skills themselves." 31

Tapestry 2011 Myths and Legends In fact, all the students learn pretty well… –Studies at NCSU and SDSU showed that exam scores were comparable or improved for all students in introductory classes –Also, the percentage of students whose grade in CS2 went down by over 1/3 of a grade dropped once pairing was used in CS1 Williams, L., Layman, L., Lab Partners: If They’re Good Enough for the Sciences, Why Aren’t They Good Enough for Us?, Conference on Software Engineering Education and Training (CSEE&T ’07)Lab Partners: If They’re Good Enough for the Sciences, Why Aren’t They Good Enough for Us? 32

Tapestry 2011 Myths and Legends By falling for this myth, you’re perpetuating another one –“All computer scientist work by themselves in cubicles struggling to code.” We all know that creating software is HIGHLY collaborative! Why give the wrong impression in the first class they take!? 33

Tapestry 2011 Myths and Legends Myth: Cheating will increase –"With loose rules about who partners are, people will just pass code around. There has to be structure!" –"Old partners may feel obliged to help their former teammates." 34

Tapestry 2011 Myths and Legends Think about it a little differently… When we provide partners, students now have a support system they can turn to –Anecdotal evidence from students indicated that the stress of feeling alone and isolated made them consider cheating Two people now have to agree on cheating! –Well… there are exceptions to this one… –Moss is still a valuable tool 35 Tapestry 2011

Other Guidelines and Myths Any others to add? 36 Tapestry 2011

Resources My 37 Tapestry 2011