26
Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED BY SCOTT SPURLOCK 3/18/14

Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

Embed Size (px)

Citation preview

Page 1: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses

Hundhausen et al. ACM Transactions on Computing Education 2013PRESENTED BY SCOTT SPURLOCK

3/18/14

Page 2: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

2Research Problem

How to help computer science students develop soft skills E.g., teamwork, collaboration, communication

Page 3: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

3Proposed Solution

Pedagogical Code Review (PCR) Small teams evaluate and discuss each other’s

code

Page 4: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

4Code Inspection Process

1. Identify code

2. Training

3. Individual review

4. Team review

5. Revise code

Gilb and Graham [1993] and Wiegers [1995]

Page 5: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

5Pedagogical Code Review (PCR)

Small team of students, plus moderator Walk through small code segment Evaluate against checklist Discuss and log issues

Page 6: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

6Code Review Team Roles

Author Reader Inspector Recorder Moderator

Page 7: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

7Code Review Issue Categories

Page 8: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

8Research Questions

Research questions: Do PCRs work? How should they be implemented?

Page 9: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

9Pedagogical Goals

Improve code quality Discuss coding practices Develop soft skills Develop positive self-efficacy Develop positive sense of community

Page 10: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

10PCR Implementations

Page 11: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

11Applying Code Inspection Process

Page 12: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

12Applying Code Inspection Process

Page 13: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

13Applying Code Inspection Process

Page 14: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

14Applying Code Inspection Process

Page 15: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

15Evaluation

Page 16: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

16Results: Pedagogical Goals

Improve code quality Discuss coding practices Develop soft skills Develop positive self-efficacy Develop positive sense of community

Page 17: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

17Results: Improve code quality

No significant differences in pre- to post-test improvement (Studies II, III, and IV).

No pre- to post-PCR improvement in solution grades (Study IV)

Page 18: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

18Results: Discuss Coding Practices

PCRs prompted students to consider a broad range of programming issues (Studies I, III, and IV).

Types of issues logged in PCRs shifted over the course of the semester from lower-level formatting issues to higher-level design and implementation issues (Studies I and III).

Page 19: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

19Results: Develop Soft Skills

Face-to-face PCRs: promoted skills in critical review, communication, and teamwork (Studies I and III).

Online PCRs: largely failed to promote such skills (Study IV).

Page 20: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

20Results: Self-Efficacy

Face-to-face PCRs Self-efficacy unchanged

No PCRs (Study II) and Online PCRs (Study IV) Self-efficacy decreased significantly

Page 21: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

21Results: Sense of Community

Across studies: no significant change Face-to-face PCR: Attitudes toward peer

learning “increased at a level that approached significance”

Page 22: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

22Best Practices

Establish ground rules Model the activity Require both independent and team review Avoid redundancy in reviewing Use trained moderators Require resubmission Use online tools to support PCR process Fully online model is possible

Page 23: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

23

Questions and Discussion

Page 24: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

24More

Page 25: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

25Study Participants

Page 26: Talking about Code: Integrating Pedagogical Code Reviews into Early Computing Courses Hundhausen et al. ACM Transactions on Computing Education 2013 PRESENTED

26Timeline