Contexts in Computer Science Education

advertisement
Challenges in Computing Education Research:
What We Need to Know to Reach Computational Thinking for All
Mark Guzdial
School of Interactive Computing
The Two Cultures
Story
•Research Questions of Computing Education
• Story 1: Teaching Computing to Computing-related
Majors
• Measuring knowledge, measuring naïve understanding,
changing the task
• Bottom line: It’s much harder than we think, and we
don’t really know why.
• Story 2: Teaching Computing to Everyone
• Computing for All at Georgia Tech
– 1999-2003: One course for all
– 2003-2008: Contextualized Computing Education
• Studying context and computing
• Evaluation Results
Computing Education Research
• Key Question:
How do people understanding computational
processes and devices; and how can we
improve that understanding?
• As a discipline, like other domain-specific
education research fields.
• Mathematics education, physics education,
chemistry education, etc.
• Applying the general findings of education
research, with the insights of a domain, to explain
learning about the domain.
The “Geek Gene” Question
• What influences people’s understanding of
computation and their ability to learn
computation?
• Why do so few people find programming easy to
learn, but those that do find it very easy?
• Hypothesis #1: Some people have the “geek
gene”
• Hypothesis #2: Some people accidentally get
the right background.
• Math education and “unitization”
Potential Causes for the “Geek Gene”
• Experiences with time, process,
representation, and agency
• Spatial Intelligence (Shea & Lubinsky, 2001)
6
“Why Johnny Can’t Compute”
• How should we be teaching computing?
• What is a developmentally appropriate
curriculum?
• What are the factors that influence that
developmental path, e.g., culture, motivation?
• Multiple studies have sought to measure
learning about programming in undergraduate
years.
• Results are always less than we anticipate
• Yet, people seem to have significant naïve
understanding of computing
7
Rainfall Problem: Elliot Soloway (1989)
• Students were given
some form of this
problem:
• Write a program that
repeatedly reads in
positive integers, until it
reads the integer
99999. After seeing
99999, it should print
out the average.
Results
• Results at Yale:
• CS1 Students: Only 14% correctly solved the
problem (correct other than syntactic errors).
• CS2: Only 36% got it correct.
• Junior/Senior Systems Programming Course: 69%
• This problem has been replicated at schools
like University of Michigan and Georgia Tech
• Always with the same results
• Why is this hard?
Large MIMN Studies
• McCracken ITiCSE Working Group 2001
• “Build a calculator.”
• Five institutions, four countries
• Average score: 22.89 out of 110
• Lister ITiCSE Working Group 2004
• Maybe the problem is design.
• Using Multiple Choice Questions in a multi-institutional,
multi-national study.
Lister Study
Naïve Understanding of Computing
• Studies by Miller (1981)
and Pane (2001) asked
people to tell a
person/computer how
to solve some task.
• Results tell us how
people think about
specifying process
before learning a
language.
“Make a list of those
employees who make more
than 8 dollars/hr. and also
are over 50 years old. List
should be organized by
employee name.”
12
Naïve Computing
• No one uses loops
• Some IF’s, never ELSE’s
• Preference for qualification instead of iteration
• “For all the last names that start with ‘G’”…
• No object-oriented programming
• There is a sense of instances with properties
• No notion of classes or methods.
• All programs from perspective of programmer, never of
agent/object
• Heavy use of production rules, event-driven
programming.
13
Replacing ELSE’s
Thomas R.G. Green (1977)
OPTION 1:
if (value < 10)
then value = value + 10;
else sum = sum + value;
end if.
OPTION 2:
if (value < 10):
value = value + 10;
not (value < 10):
sum = sum + value;
end (value < 10).
Parallelism in Commonsense Computing
Suppose we sell concert tickets over the telephone
in the following way – when a customer calls in
and asks for a number (n) of seats, the seller
1) finds the n best seats that are available, 2)
marks those n seats as unavailable, and 3) deals
with payment options for the customer (e.g. getting
credit or debit card number, or sending the
tickets to the Will Call window for pickup).
Suppose we have more than one seller working
at the same time. What problems might we see,
and how might we avoid those problems?
(Lewandowski et al. 2007)
Results:
Summary: CompEd Research
Questions for Computing Majors
• What is hard about programming?
• How do we measure student understanding about
computing?
• Where is the challenge about our tools versus about
computing?
• Can changes to our tools make programming more
obvious?
• Can we build on students’ naïve understanding?
17
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
The Power and Fear of Algorithms
• The Economist (Sept., 2007)
spoke to the algorithms that
control us, yet we don’t
understand.
• Synthetic Biology, 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.
“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
challenge of
teaching
computing is
not just about
computing
majors
(Endy et al.,
Nature 2005)
21
Alan Kay’s
Dynabook (~1970)
•Alan Kay (2004 ACM
Turing Awardee) sees the
Computer as humanity’s
first metamedium
• A medium that can
represent all other media.
• Programming as an
important new medium
•The computer-asDynabook is for creative
metamedia exploration
and reading
Why should everyone learn computing?
• Perlis: To have a powerful new tool to think
with.
• Snow: Because it’s necessary to participate
and understand in the modern world.
• Kay: To have full expressive power with the
most powerful and creative medium humans
have ever invented.
23
Context and Computation
• Context: What students want to do with
computation. An application domain.
• Biology: Invent new medicines.
• Engineering: See and test models before realizing
them.
• Media: Manipulate sounds and images to express
new thoughts in new ways.
24
Relationship between
context and computing
Segregationist
Integrationist
2. Tools that
can be seen
from context as
a lens
1. A subject that
intersects a
context
3. A lens that
offers a new
way of seeing
and doing in
other contexts.
Synergist
Computing as
literacy
Lewis &
Smith,
inroads,
June
2005
25
Examples of
Context and Computing
•Tool Model
• Bio2010 (US NRC) calls for programming and
computational models for all Biology students.
• Physics teaching VPython for labs where they
solve three-body problems.
•Lens/Literacy Model:
• Jeanette Wing’s “Computational Thinking”
• Computer science provides the tools and
metaphors for understanding our world
Teaching Computing as Literacy
Boxer
Logo
Idit Harel and Instructional
Software Design Project
(ISDP)
27
Example: Teaching
Computing as Lens on Physics
Bruce
Sherin
Emile
28
Implementing the
Subject Model
•Fall 1999:
All students at Georgia Tech must take a
course in computer science.
• Considered part of General Education, like
mathematics, social science, humanities…
•Why did Georgia Tech make that decision?
• Computing is important
• Computing was a College.
•Solved a problem for Engineering
• Made a competitive distinction for Liberal Arts
One-class CS1: Pass (A, B, or C) vs.
WDF (Withdrawal, D or F)
Success Rates in CS1 from Fall 1999 to
Spring 2002 (Overall: 78%)
Architecture
46.7%
Biology
64.4%
Economics
53.5%
History
46.5%
Management
48.5%
Public Policy
47.9%
Contextualized Computing Education
• What’s going on?
– Research results: Computing is “tedious,
boring, irrelevant”
• Since Spring 2003, Georgia Tech
teaches three introductory CS
courses.
– Based on Margolis and Fisher’s
“alternative paths”
• Each course introduces computing
using a context (examples, homework
assignments, lecture discussion)
relevant to majors.
– Make computing relevant by teaching it in
terms of what computers are good for
(from the students’ perspective)
Contexts, Results,
and Themes
•Media Computation
•Computing for Engineers (MATLAB)
•Robotics for CS1
– Institute for Personal Robotics in Education
•Pre CS1
– Contexts with Girl Scouts
•Beyond CS1
– Impact on CS2
– Gameboy programming for Computer Organization
Media Computation:
Teaching in a Relevant Context
•Presenting CS topics with
media projects and
examples
– Iteration as creating negative
and grayscale images
– Indexing in a range as removing
redeye
– Algorithms for blending both
images and sounds
– Linked lists as song fragments
woven to make music
– Information encodings as sound
visualizations
33
Results:CS1“Media Computation”
Change in Success rates in CS1 “Media
11.410%2003 to
Computation”
from7.580%
Spring
Fall 2005
12.540% 10.270% 14.650% 9.370%
19.650% 17.100% 22.540%
(Overall 85%)
Architecture
46.7%
85.7%
91.940% 87.500%
Biology
64.4%
90.4%
86.470% 88.360% 84.710% 89.870%
80.330% 82.900%
Economics
54.5%
92.0%
History
46.5%
67.6%
Total Females Males
Fall03 Fall03 Fall03
Total Females Males
Sp04
Sp04
Sp04
Management
48.5%
Public Policy
47.9%
77.460%
Total Females Males
Fall04 Fall04 Fall04
87.8%
85.4%
WDF
Pass
Voices from Media
Computation Students
• Intl Affairs student (female): “I just wish I had more time to
play around with that and make neat effects. But JES [IDE for
class] will be on my computer forever, so… that’s the nice
thing about this class is that you could go as deep into the
homework as you wanted. So, I’d turn it in and then me and
my roommate would do more after to see what we could do
with it.”
• “I dreaded CS, but ALL of the topics thus far have been
applicable to my future career (& personal) plans—there isn't
anything I don't like about this class!!!"
• "Media Computation is a CS class but with less severity. The
media part of the class is extremely visually interesting. I
would only take another CS class if it were Media
Computation."
Survey One Year Later
• 19% of respondents had programmed since class ended
"Did the class change how you interact with
computers?”
• 80% say “Yes”
• “Definitely makes me think of what is going on behind
the scenes of such programs like Photoshop and
Illustrator.”
• 'I understand technological concepts more easily now; I
am more willing and able to experience new things with
computers now’
• 'I have learned more about the big picture behind
computer science and programming. This has helped
me to figure out how to use programs that I've never
used before.’
36
Results at Gainesville College
(Tew,(Tew,
Fowler,
Fowler,
Guzdial,
Guzdial,
SIGCSE
SIGCSE
2005)
2005)
Results at
U. Illinois-Chicago
(Sloan and Troy,
SIGCSE 2008)
A Context for CS1 for
CS majors: Robotics
• Microsoft Research has
funded the Institute for
Personal Robotics in
Education
• Tucker Balch, Deepak Kumar, Doug
Blank
• Joint between Bryn Mawr and
Georgia Tech
• http://www.roboteducation.org
• Goal is to develop a CS1
with robotics as the
context.
• Includes a camera and media
computation functions
Some Attitudes Results
• All students enjoyed the robot, were
comfortable with it, and found it easy to get
working.
• Personalizing the robot improved the course, in
students’ opinion.
• Reported that the class was about computer
science
• Found homework challenging
• BMC students did more on homework
“because it was cool.”
W’s vs. F’s,
statistically significant
Pre-CS1: “Georgia Computes!”
Use in Girl Scouts Workshops
What about beyond CS1?
•If students have a contextualized CS1, how do
they perform in a context-free CS2?
•Are students as well-prepared in CS2 after a
contextualized CS1?
•Is context useful in CS2 and beyond?
The Impact of
Contextualized CS1 on CS2 enrollment
Bryn Mawr College Data for 12 years of CS2
CS2 Data Structures Enrollment
Including last two years
(since robots)
CS2 Data Structures Enrollment
A Contextualized CS2:
MediaComp Data Structures
How did the
Wildebeests
charge over the
ridge in Disney's
"The Lion King"?
50
Research Question:
Is context still useful in a second course?
• Mixed model research design
• Interviews informing whole-class survey
• 11% agreed with “Working with media is a waste of time that
could be used to learn the material in greater depth.”
• “I didn’t take this class to learn how to make pretty pictures.”
• A majority of the class (70%) agreed or strongly agreed that
working with media makes the class more interesting.
• 67% of the students agreed or strongly agreed that they were
really excited by at least one class project
• 66% reported doing extra work on projects to make the
outcome look “cool.”
(Yarosh and Guzdial, JERIC,
Jan 2008)
Context:
Programming a Gameboy
• Traditional Computer Organization using an
imaginary processor, vs.
Computer Organization using a Gameboy
• Not all the same topics (e.g., Gameboy graphics modes)
• Common focus on C programming, bit manipulations,
model of the computer (including memory and I/O)
•Post-class survey comparison: No
significant performance difference.
Big motivation difference.
• 100% of students in Gameboy class did extra on at
least one homework, because it was fun.
• 30% of traditional students never put any extra
effort in (p=0.046).
(Tew, Dorn,
Leahy,
Guzdial,
JERIC,
2008)
Summary: What do we know about
contexts for Computing Ed?
• Including context has led to evaluation reports of:
• Increased retention (in CS1, across multiple schools, with
both majors and non-CS majors, across genders and
ethnicities),
• Some evidence of increased enrollment in CS2, and
• Student reports of increased time-on-task, even beyond
CS1.
• Not all contexts work for all students.
• Context is about personal engagement
• Some students do just fine with computing Fibonacci
numbers
• Therefore, we need to offer multiple contexts, for all
Snow’s “cultures”
Summary: Does Contextualized
Computing Lead to Literacy Models?
• The Computing-as-subject model is not viable
for all students from a motivation perspective.
• Programming is detail-oriented, unforgiving.
It’s hard.
• The Computing-as-tool model is motivating.
• Maybe it enhances learning of the context, too.
• Maybe it can be a step towards a literacy model.
• Computing-as-literacy model requires an
investment in becoming literate.
• What motivates that investment?
54
Summary: What don't we
know about context?
•What is a context?
•What do students perceive as a relevant
context?
•When are contexts successful? For how long?
For whom?
•When do contexts lead to valuing literacy?
Some PhD Student Work on Contexts
• Do contexts help with learning? Over time?
• Allison Elliot Tew is developing a reliable and valid languageindependent measure of CS1 knowledge.
• When the context is fixed, how do you teach computing within
that context?
• Brian Dorn is teaching computing to graphic designers who script
Adobe Photoshop
• What is needed for teachers to succeed with contextualized
computing education?
• Lijun Ni is studying teachers attending our workshops
56
Conclusions
• There is a lot we don’t know about teaching
computing to computing majors.
• Why it’s hard
• How to assess knowledge
• How to build tools that take advantage of naïve
understanding
• Computing is important for everyone,
We should aim to be able to teach computing to
everyone.
• We don’t yet know how
• Contextualized Computing Education has great promise for
achieving the goal of teaching everyone about computing.
Thank you!
http://www.cc.gatech.edu/~mark.guzdial
http://home.cc.gatech.edu/csl
http://www.georgiacomputes.org
For more on MediaComp approach:
http://www.mediacomputation.org
Supported by:
US National Science Foundation, Microsoft Research,
Georgia Tech's College of Computing , Georgia’s
Department of Education, GVU Center, Al West Fund,
President's Undergraduate Research Award,Toyota
Foundation
58
Media Computation
Impact on CS2
• Trial at Columbus State University
• Fall 2007, 3 “sections” of CS1 for Majors:
Media Computation Java vs. traditional
– We also taught two other CS1 sections without the Media Computation focus
(using the Lewis/Loftus book) and are assessing the difference. The Media
Computation class had a significantly higher completion and pass rate and
appears to have a higher student satisfaction rate. We will be able to better
compare the two methods after this semester. Students from both groups are
taking the same CS2 class. (Wayne Summers, Dept Chair)
• Spring 2008: Same CS2 for all 3 sections.
• Results:
– No difference on retention rates, midterm exam grades,
final exam grades. (ACM Southeast)
Download