learner-centered design of computing education for · pdf filelearner-centered design of...

54
Learner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Upload: nguyenminh

Post on 15-Mar-2018

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Learner-Centered Design of Computing

Education for Everyone Mark Guzdial

School of Interactive Computing

Page 2: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

The Two Cultures

Page 3: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

• A software engineer who builds applications for end-users.

• A mathematician who works in Mathematica her whole life.

• A graphic designer who programs in JavaScript to automate Photoshop processes.

• The data scientist who scrubs data with Perl and analyzes in R.

• A chemical engineer who writes 20 new lines of MATLAB code each day, then throws them away.

• The office worker who builds Excel macros weekly for co-workers.

• The homeowner who writes home automation scripts.

• The musician who codes live in front of an audience.

Do all of these use the same

CS practices and knowledge?

Page 4: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Story

I. Our Job: The first computer scientists set a goal to achieve a Computing-Literate Society. II. Challenges to Achieving a Computing-Literate Society

• Access and the Inverse Lake Wobegon Effect

• Learner-Centered Design

III. Inventing New Kinds of Computing Education for Different Communities of Practice

• Story #1: Providing Computing Education for Graphics Designers‘ Community of Practice.

• Story #2: Understanding the Needs of High School CS Teachers.

Page 5: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Papert, Logo, DiSessa, Boxer

Page 6: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

1961 MIT Sloan School

Symposium

Page 7: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Learn Programming

to Re-Think Process Everywhere

• Alan Perlis argued that

computer science should be

part of a liberal education.

• Explicitly, he argued that all

students should learn to

program.

• Why?

• Because Computer Science

is the study of process.

• Automated execution of

process changes everything

• Including how we think about

things we already know

Page 8: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Elias: Does it have to be programming?

• Licklider: Peter, I think the first apes who tried to talk with

one another decided that learning language was a dreadful

bore…But some people write poetry in the language we

speak.

• Perlis: The purpose of a course in programming is to teach

people how to construct and analyze processes…A course in

programming is concerned with abstraction: the abstraction

of constructing, analyzing, and describing processes…The

point is to make the students construct complex processes

out of simpler ones….A properly designed programming

course will develop these abilities better than any other

course.

8

Page 9: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

“A handful of people, having no relation to the will of society, having no communication with the rest of society, will be taking decisions in secret which are going to affect our lives in the deepest sense.”

The Power and Fear of Algorithms

• The Economist (Sept., 2007)

spoke to the algorithms that

control us, yet we don‘t

understand.

• Credit Ratings, Adjustable Rate

Mortgages, Search Rankings

• C.P. Snow foresaw this in

1961.

• Those who don‘t understand

algorithms, can‘t understand

how the decisions are made.

Page 10: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

II. Challenges

• Access and Diversity: We aren‘t reaching

everyone.

• Inverse Lake Wobegon Effect: We see little of

the problem.

• Learner-Centered Design: A strategy for

creating computing for everyone

Page 11: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Thanks to

Brian

Danielak

Page 12: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Lake Wobegon Effect

Page 13: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Inverse Lake Wobegon Effect

• We only know the

top half.

• People who take CS

in undergraduate

are above average.

• People who get

access to CS

education are

among the most

privileged in

society.

Page 14: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Learner-Centered Design

• Learners are different

than experts

(Soloway, Guzdial, &

Hay 1994)

• Designing for learners

starts with

understanding

learners, their

learning needs, and

how they want to

learn.

Page 15: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

III. Inventing New Kinds of

Computing Education

• Different Communities of Practice =>

Different Learning Objectives

• Story #1: Providing Computing Education for

Graphics Designers‘ Community of Practice

• Story #2: Understanding the Needs of

Secondary School Computing Teachers

Page 16: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

CS for Everyone/All

• Efforts in many countries to

make computing education

available to all students.

• Do all students need or want

the same CS education?

• Do they all need or want the

same expertise? To be the

same kind of practitioner?

Page 17: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Sociocognitive Theories of

Learning

• Situated

Learning (Lave &

Wenger) says

that students

seek to join a

community of

practice.

• Students‘ Goal: To adopt the practices

and learn the values of

those at the center of

the community of

practice.

Page 18: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Beyond a Software

Development CoP

Most people who program are not part of a software developer community of practice (CoP).

http://changetheequation.org/blog/hidden-

half

Page 19: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Student values based on

perceived CoP

Students who value

media development

want different kinds of

programming

languages than those

who want to be

programmers. (DiSalvo,

2015)

Authenticity matters.

(Shaffer & Resnick,

1999)

Page 20: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Story #1: Computing Education

for Graphics Designers’ Community of Practice

Significant

amount of

programming

from designers

who reject the

identity of

―programmer.‖

Page 21: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Fitting into existing practice:

Graphics designers who program

• Brian Dorn conducted a

series of interviews and

assessment activities.

• Found that these subjects

want more computer

science, but don‘t find

courses (and most other

resources) adequate (Dorn

& Guzdial, ICER 2010)

• P10: So, that was a

really long way of saying

yes, I think that an

academic study would

make me a better

programmer, but not by

a whole lot.

Page 22: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Where are they getting their

CS knowledge?

• Mostly on-line:

• FAQs and other

documentation

• Books (when applicable)

• Lots of examples and

networking.

• Not so much classes

22

Dorn & Guzdial, CHI 2010

Page 23: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Rejection of programming CoP

• They reject, and feel rejected in return, by

programmers:

• P9: ―I met a guy who programs ATM machines, and he busted

me for calling myself a coder. He says, well no, you‘re a

scripter. And the coders you know, they‘re down there in the

dirty behind the scenes playing with the rendering buffers

and you know, moving bits of memory back and forth.‖

• P2: ―I went to a meeting for some kind of programmers,

something or other. And they were old, and they were nerdy,

and they were boring! And I‘m like, this is not my personality.

Like I can‘t work with people like that.‖

Page 24: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

What do software engineers do?

Answer: The Boring Stuff.

• P2: I was able to take different samples from different places

and instead of just being let's say an MIS major, or computer

science major, you know it's—you're not going to be front-end

anything with computer science. You're going to be back-end

everything.

• P4: I think as a front-end developer, you focus more on the

design and the usability, and you're focusing more on the

audience. And then on the back-end I think you're focused on

more, these are like the software developers. And they're

programming something, and they don't really see what it's

gonna look like; they're just making it work.

Page 25: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

They are not afraid of coding

• ―What interests you about web design?‖

• P12: The coding! I don't like to code. But the things

that the code can do is amazing, like you can come

up with this and voila, you know, it's there. Javascript

for one. The plugins and stuff. I think that's very

interesting, intriguing and stuff. Because I mean like

the code is just, there's so much you can do with

code and stuff. It's just like wow.

Page 26: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

They’re Inefficient without

Initial Knowledge

• Learning less than they might because of a lack of

deep knowledge.

• For example: Exploring code by searching Google for

function and variable names.

• Learning about Java when programming in JavaScript

• Brian‘s experiment: Given a case library with

conceptual information vs. a code repository alone,

what gets learned, used, and liked? (ICER 2011)

Page 27: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

27

Page 28: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Bottomline: Cases work

• They like the cases.

• They coded the problems the same.

• Case-users learn the concepts, while

repository users do not.

• Graphic designers won‘t take classes ―for

programmers.‖

• So, we provide learning opportunities where they

are looking for them.

28

Page 29: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Story #2: Understanding

CS Teacher’s Needs

To be successful, CS teachers need:

1. A sense of identity

• Where does that sense of identity come from?

• Confidence in their ability to teach

• For US CS teachers, from community and role models. (Lijun Ni,

2011)

2. More professional learning: CK and PCK

Page 30: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Teachers need their Communities

―I‘m a better Math teacher, just because I‘ve had so much support. Whenever I have problems, I can talk with the people that I work with, most of who have taught for many years in Math.…Every day, I‘m eating lunch with Math teachers. With Computer Science, I‘ve got nobody to talk to.‖

From Lijun Ni‘s 2011 thesis

on CS teacher identity

Page 31: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Disciplinary Commons

Group of educators from diverse institutions who teach within the same subject area meeting monthly over an academic year.

In monthly increments, the participants prepare a course portfolio.

Goals

1. To document and share knowledge about student

learning in Computer Science classrooms.

2. To establish practices for the scholarship of

teaching by making it public, peer-reviewed, and

amenable for future use and development by

other educators. [1]

[1] Tenenberg, J. and Fincher, S. Opening the door of the computer science classroom: the

Disciplinary Commons. SIGCSE Bull., 39, 1 2007, 514-518.

Page 32: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

DCCE in Georgia

Disciplinary Commons for Computing Educators

Adaptation – High School teachers AND University

Goals

1. Creating community

2. Sharing resources and knowledge of how things are taught in other contexts

AND…

3. Supporting student recruitment within the high school environment

Work by Briana Morrison,

Lijun Ni, Ria Galanos, &

Allison Elliott Tew

Page 33: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Building Community

Partnerships Before (PRE) DCCE Partnerships After (POST) DCCE

Morrison, Ni, & Guzdial, ICER 2012

Page 34: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Improving Recruiting

• 302% increase in number of AP CS students in the year

following their participation in the DCCE

• Year of participation – 122 students enrolled

• Next year – 491 students pre-registered

• One teacher 700% increase (3 to 24 students)

• Reasons:

1. Venue to share recruitment ideas

2. Sense of community (keep up morale during recruiting)

Page 35: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Teacher Confidence

―I think DCCE definitely did help [me feel more

confident]. I think it was just being a part of a

community of teachers that you can actually

talk with about teaching. That gives you

confidence when you don‘t teach it in a

vacuum.‖

Page 36: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

How do you prepare your students

for the AP CS exam?

36

• ―Everything in that class is more or less an

assessment. They‘re supposed to read certain

sections in the book, and then they have quizzes

over the reading. After they do the reading

assignments, they have Gridworld case study

quizzes and also Gridworld case study segments of

code that they will go in and manipulate to change

to get the things in the Gridworld case study to react

different ways. Those are pretty much graded as

labs or programs or quizzes.‖

Page 37: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

How do you prepare your students

for the AP CS exam?

37

• ―Everything in that class is more or less an

assessment. They‘re supposed to read certain

sections in the book, and then they have quizzes

over the reading. After they do the reading

assignments, they have Gridworld case study

quizzes and also Gridworld case study segments of

code that they will go in and manipulate to change

to get the things in the Gridworld case study to react

different ways. Those are pretty much graded as

labs or programs or quizzes.‖

Page 38: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

How do you prepare your students

for the AP CS exam?

38

• And then if I read these [student quizzes], I can see any

misconceptions or gaps in what I‘ve done. I get a picture in

my mind of where the current class is. Making them do the

explaining is new this year. I‘m seeing them do a lot better

there. I‗ll do like little code (assignments) that they‘ll write

once a week. They have to write it by hand away from the

computer, and I‘ll read that and write them comments on

what they‘re doing and help them grade it with a rubric, and

also pass them back after I‘ve read them for them to grade,

too, and have them look at what was catching it or where it

didn‘t quite get to it.

Page 39: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

How do you prepare your students

for the AP CS exam?

39

• And then if I read these [student quizzes], I can see any

misconceptions or gaps in what I‘ve done. I get a picture in

my mind of where the current class is. Making them do the

explaining is new this year. I‘m seeing them do a lot better

there. I‗ll do like little code (assignments) that they‘ll write

once a week. They have to write it by hand away from the

computer, and I‘ll read that and write them comments on

what they‘re doing and help them grade it with a rubric, and

also pass them back after I‘ve read them for them to grade,

too, and have them look at what was catching it or where it

didn‘t quite get to it.

Page 40: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

A successful CS teacher…

40

• Writes assignments and comments, not code.

• Guides students through rubrics.

• Focus on learning activities (coding away from the

computer, explaining).

• Minimal focus on assessment.

…is not a Software Developer.

Page 41: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Teaching CS Teachers online

41

• Can we reach more potential CS teachers online?

• Emphasizing the skills and knowledge of successful CS

teachers.

• Providing more efficient learning than apprenticeship.

• Providing support for a sense of community

Page 42: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

An Ebook for Teaching

CS Teachers

Page 43: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Parsons Problems

Page 44: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Findings on Ebook

Ericson, Guzdial, &

Morrison, ICER 2015

Teachers who

engaged in the

ebook increased

their confidence in

teaching CS Ericson, Moore,

Morrison, & Guzdial,

WiPSCE 2015

Page 45: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Conclusions

• It‘s a foundational CS problem to develop a

computing-literate society.

• The challenges are enormous, including providing for

different communities of practice. • A solution may be a learner-centered design process.

• Two lessons from our work:

1. Provide learning opportunities where the learners are, without the

identity of ―programmer.‖

2. Teachers don‘t need to be software developers. They need community,

confidence, and more learning options beyond apprenticeship.

Page 46: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Thanks to colleagues and supporters

• Colleagues: Barbara Ericson, Tom McKlin, Rick Adrion, Renee Fall, Brad Miller, Ria Galanos, Allison Elliott Tew, Lijun Ni, & Briana Morrison

• Our Funders: US National Science Foundation

• Statewide BPC Alliance: Project ―Georgia Computes!‖ http://www.gacomputes.org

• Expanding Computing Education Pathways Alliance, http://expandingcomputing.org

• CCLI and CPATH Grants, and now CE21 and IUSE to produce ebooks

• Georgia‘s Department of Education

• GVU Center, and Institute for People and Technology (iPaT) at Georgia Tech

Page 47: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Thank you!

• http://www.cc.gatech.edu/~mark.guzdial

• Group pages: http://home.cc.gatech.edu/csl

• Ebook Access: http://ebooks.cc.gatech.edu/TeachCSP-Python

• Media Computation: http://mediacomputation.org

• Institute for Computing Education at Georgia Tech:

• http://coweb.cc.gatech.edu/ice-gt

• Expanding Computing Education Pathways (ECEP): • http://ecepalliance.org

Page 48: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Spare Slides

Page 49: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

They want to know more

• P1: So I mean technology changes. So what I am ideally

looking to focus on are like the foundation. The things that

change less, you know what I'm saying? Like computer

science um, theory, you know I'm saying I mean? That kind of

like, it's applicable to what I do, and it's not so constantly

shifting.

• P10: I was the kind of programmer that could make stuff

work. But I didn't really have solid understandings. At one

point I picked up a book on design patterns and I looked at it,

and I was like that's really, that's really interesting…So I was

like well I wanna keep doing that because it made me a

better programmer. And it was more fun to program, and it

was more thought provoking. 49

Page 50: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Does it have to be programming?

• Elias: If the computers, together with sufficiently ingenious languages and programming systems, are capable of doing everything that Professor Perlis describes—and I believe they are (and more)—then they should be ingenious enough to do it without the human symbiote being obliged to perform the mechanical chores which are a huge part of current programming effort, and which are a large part of what must now be taught in the introductory course that he proposes.

50

Page 51: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Richard Dawkins on

Biology as Computer Science

• On US National Public Radio in April 2007:

• GROSS: You close your book saying, "I am thrilled to be alive at a time when humanity is pushing against the limits of understanding." How do you think that's happening in your field of evolutionary biology?

• Mr. DAWKINS: Well, it's the most exciting time to be a

biologist… Since Watson and Crick in 1953, biology has become a sort of branch of computer science. I

mean, genes are just long computer tapes, and they use a code which is just another kind of computer code. It's quaternary rather than binary, but it's read in a sequential way just like a computer tape. It's transcribed. It's copied and

pasted. All the familiar metaphors from computer science fit.

Page 52: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Creating DCCE

Mtg Month Original DC Topic DCCE Schedule

1 Oct

Institutional Context &

personal trajectory into

teaching

Personal trajectory into

teaching

2 Nov Curricular Context Institutional Context,

Recruiting

3 Dec Course Content Curricular Context,

Course Content

4 Jan Instructional Design Instructional Design

5 Feb Student Assessment Teaching Philosophy,

Reflection Log

6 Mar Evaluation Student Assessment,

Grading Rubrics

7 Apr

Delivery (including

debrief of peer

observation)

Peer Observation Debrief

8 May Complete “first draft”

overview Student Feedback

9 June Portfolio Presentations Portfolio Presentations

GA specific:

GA university

computing

curricula, HS

competitions,

field trip

possibilities

Page 53: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Year 3

• HS teachers only

• Outside GA

Mtg Month Portfolio Section

1 Sept Personal trajectory into teaching, Selection Structures

2 Oct Institutional & Curricular Context, Repetition Structures

3 Nov Instructional Design, Recruiting, Teaching Classes

4 Jan Teaching Philosophy, Reflection Log, Arrays and Sorting

5 Feb Student Assessment, Grading Rubrics, Recursion

6 Mar Student Feedback, Inheritance / Polymorphism

7 Apr Peer Observation Debrief

8 May Portfolio Presentations

• Discipline specific content area

• Mini-conference to bring in

University teachers

Page 54: Learner-Centered Design of Computing Education for  · PDF fileLearner-Centered Design of Computing Education for Everyone Mark Guzdial School of Interactive Computing

Histogram of who took

AP CS 2012 in US States

% female

exam-takers

# Black

exam-takers

# Hispanic

exam-takers

Ericson, Guzdial, SIGCSE 2014