Pair Programming in the Classroom Mark Sherriff University of Virginia July 16, 2009 Some material courtesy of Laurie Williams, NCSU Tapestry 2009.

Slides:



Advertisements
Similar presentations
College Algebra Course Redesign Southeast Missouri State University.
Advertisements

CS 3500 L12pp - 1 The Benefits of Pair Programming Robert Kessler School of Computing University of Utah Special thanks to Laurie Williams North Carolina.
Lecture 1: Overview CMSC 201 Computer Science 1 (Prof. Chang version)
Gild Project – Explorations….. CSc 115/160 (S01) Pair Programming.
Potions Class Assistant Professor James Atlas (on loan from the University of Delaware)
13-Jun-15 Extreme Programming. 2 Software engineering methodologies A methodology is a formalized process or set of practices for creating software An.
Getting Them Out Of Their Shells: Service Learning And CS Students Jim Bohy – Iowa Wesleyan College.
CS 410 Applied Algorithms Applied Algorithms Lecture #1 Introduction, class information, first problems.
Experience in Applying Online Learning Techniques in Computer Science & Engineering Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University.
CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Automated Evaluation of Regular Lab Assignments: A Bittersweet.
Blended Courses: How to have the best of both worlds in higher education By Susan C. Slowey.
Introduction to Programming Environments for Secondary Education CS 1140 Dr. Ben Schafer Department of Computer Science.
 Mrs. DeBoard’s Contact Information  Phone:   Website: deboardvirtualbio.wikispaces.com  Office Hours:
Qatar University Exemplary Online Course Award
Pair Programming Sarah Heckman Teaching Assistant Professor NC State University Tapestry Workshop Some materials courtesy of Laurie Williams, NC.
CS 450 MODELING AND SIMULATION Instructor: Dr. Xenia Mountrouidou (Dr. X)
Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers.
Pair Programming Sarah Heckman Teaching Associate Professor NC State Tapestry Workshop Some materials.
Operation STEM Cleveland State University February 22, 2014.
Pair Programming in the Classroom Mark Sherriff University of Virginia June 29, 2011 Some material courtesy of Laurie Williams, NCSU Tapestry 2011.
Understanding Student Expectations & Effective Teaching Presented by: Dr. Laura Marler Associate Professor of Management College of Business Mississippi.
Student Success – From the Starting Gate to the Finish Line Education Trust, November 2011.
Welcome to CS 115! Introduction to Programming. Class URL
1 Project Information and Acceptance Testing Integrating Your Code Final Code Submission Acceptance Testing Other Advice and Reminders.
Welcome to CS 221! First Course in Computer Science for Engineers.
Welcome to CS 115! Introduction to Programming. Class URL ~mjspra2/ 115summer/
GREEN IMPACT Handy hints to help you through 2015/16 GREEN IMPACT PROJECT ASSISTANTS GIPAs.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
 2009 Pearson Education, Inc. All rights reserved. 1 Pair Programming Most slides courtesy of Ms. Stephany Coffman-Wolph Some slides with minor modification.
Pair programming Cesar D. Guerrero Department of Computer Science and Engineering May 12, 2008.
Presenter: Ku-Chou Tai Advisor: Ming-Puu Chen Gill, T. G. & Helton, C. F. (2006). A self-paced introductory programming course. Journal of Information.
Course Introduction CSE250. Course Overview This course will be difficult Work hard and start early You are adults and I will treat you as such – I won’t.
TIPS FOR EFFECTIVE TEACHING IN STEM HIGHER EDUCATION Benjamin C. Flores, Ph.D. Director, Computing and Electrical and Engineering Division MIE Project.
2009 Assessment of the Learning Edge Academic Program (LEAP) Tony M. Lentz & Talia Carroll.
 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.
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,
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.
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.
Grading Exams and Papers. Exams What is there to think about? What should they know? Scores between students Scores between graders The post-grading.
© 2015 albert-learning.com Roleplay – University Life Roleplay UNIVERSITY LIFE.
Dr. Campbell Hime Welcome to Effective Writing 1- CM 107.
CSE 1340 Introduction to Computing Concepts Class 1 ~ Intro.
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.
MIS 610: Seminar in Information Systems Management Yong Choi School of Business Administration CSU, Bakersfield.
CONFERENCE FOR SCIENCE BY: KELSEY. PLEASE WORD PROCESS A PAPER THAT SUMMARIZES WHAT YOU HAVE LEARNED THIS YEAR. IN THIS DOCUMENT, YOU SHOULD IDENTIFY.
CS50x Kansas City. Agenda Welcome! This is CS50x, Kansas City Edition Introduction to: LaunchCode CS50x Course Tools used in the course Programming How.
Spring 2008 Mark Fontenot CSE 1341 – Honors Principles of Computer Science I Note Set 1 1.
1 Computer Science 1021 Programming in Java Geoff Draper University of Utah.
MS. NANCY HARRIS LECTURER, DEPARTMENT OF COMPUTER SCIENCE CS 149 – Programming Fundamentals (Accelerated)
Peer Computing Expert Training Lesson 1 Overview of SPARC and Goals
3.5 General feeling that knowledge of hydrology has improved … but more is needed.
Software Engineering / Computer Science
Online Course Design: Is the Conversation Over?
September 27 – Course introductions; Adts; Stacks and Queues
Robert W. Lingard California State University, Northridge
Experience and evaluation after the transition from Paper-Based to on-computer programming exams 06:08 Teo Eterović, MoEE :: v.prof.dr. Dženana Đonko.
Pair Programming in the Classroom
Welcome to CS 1010! Algorithmic Problem Solving.
MA Fall 2016 Instructor: Matt Weaver Office: MATH 615
Welcome to CS 1301! Principles of Programming I.
Robert W. Lingard California State University, Northridge
CSCE 489- Problem Solving Programming Strategies Spring 2018
Applied Software Project Management
Introduction to Collaborative Learning and Programming Practices
Why Academic Integrity Matters
Presentation transcript:

Pair Programming in the Classroom Mark Sherriff University of Virginia July 16, 2009 Some material courtesy of Laurie Williams, NCSU Tapestry 2009

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 2009

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 2009

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 2009

Partners vs. Pair Programming How is Pair Programming different than just assigning partners? 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 2009

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 6 Tapestry 2009

Why Pair Programming? An instant support system –We have found that pairing cuts down on nearly all of the “trivial” questions (syntax, assignment clarification, etc.) and a large portion 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 7 Tapestry 2009

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 8 Tapestry 2009

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? 9 Tapestry 2009

Pair Management and Evaluation PairEval –Available for free from NCSU Realsearch Group – Personality and Work Ethic Tests Assignment/Partner Creation Reporting Tool How to “split” grades 10 Tapestry 2009

PairEval 11 Tapestry 2009

PairEval 12 Tapestry 2009

PairEval 13 Tapestry 2009 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.

PairEval 14 Tapestry 2009

PairEval 15 Tapestry 2009

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. 16 Tapestry 2009

But we don’t have a closed lab? CS1: –Pair programming 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 17 Tapestry 2009

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! 18 Tapestry 2009

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

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 works pretty well; also CATME –“If you could rate your effort based on 100%..” 20 Tapestry 2009

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 21 Tapestry 2009

Lab Setup 22 Tapestry 2009

Guidelines To Follow Don’t go overboard! –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 23 Tapestry 2009

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 24 Tapestry 2009

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.” 25 Tapestry 2009

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? 26 Tapestry 2009

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.” 27 Tapestry 2009

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 28 Tapestry 2009

Other Guidelines and Myths Any others to add? 29 Tapestry 2009

Resources My 30 Tapestry 2009