View
218
Download
2
Category
Preview:
Citation preview
Learner-Centered Design of Computing
Education for Everyone Mark Guzdial
School of Interactive Computing
The Two Cultures
• 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?
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.
Papert, Logo, DiSessa, Boxer
1961 MIT Sloan School
Symposium
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
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
“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.
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
Thanks to
Brian
Danielak
Lake Wobegon Effect
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.
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.
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
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?
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.
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
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)
Story #1: Computing Education
for Graphics Designers’ Community of Practice
Significant
amount of
programming
from designers
who reject the
identity of
―programmer.‖
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.
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
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.‖
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.
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.
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)
27
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
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
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
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.
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
Building Community
Partnerships Before (PRE) DCCE Partnerships After (POST) DCCE
Morrison, Ni, & Guzdial, ICER 2012
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)
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.‖
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.‖
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.‖
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.
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.
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.
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
An Ebook for Teaching
CS Teachers
Parsons Problems
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
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.
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
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
Spare Slides
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
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
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.
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
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
Histogram of who took
AP CS 2012 in US States
% female
exam-takers
# Black
exam-takers
# Hispanic
exam-takers
Ericson, Guzdial, SIGCSE 2014
Recommended