Title: Computational Thinking Everywhere
1Computational Thinking Everywhere
The Broad Audience for CS1 Approach
Eric Roberts Professor of Computer
Science Stanford University
Computational Thinking Workshop The National
Academies February 19, 2009
2Stanfords Strategy
- For at least the last 30 years, Stanford has
tried to implement computational thinking
everywhere by getting as many students as
possible into one of our introductory courses,
which are designed to be funnels rather than
filters.
- During the boom years of 1996-2001, our
introductory course was the largest course at
Stanford, CS was the second largest undergraduate
major (behind economics), and 75 percent of all
Stanford undergraduates took at least one CS
course. - As at everywhere else, the number of CS majors
fell after the dot-com collapse, from a high of
200 graduates in 2002 (12 percent of all
undergraduates) to 141 in 2006. - In a trend that seems common to the larger
programs, our numbers have begun to rise again.
The number of students taking our introductory
courses is almost back to its historical peak.
3Entry Points into CS at Stanford
general education
a more serious introduction
CS 105 Introduction to Computing
CS 106A Programming Methodology
CS 106X Accelerated version (AB)
CS 106B Programming Abstractions
4Introductory Course Enrollment Trends
1800
1600
1400
1200
1000
800
600
400
200
0
projected
1994-95
2008-09
1985-86
1986-87
1987-88
1988-89
1989-90
1990-91
1991-92
1992-93
1993-94
1995-96
1996-97
1997-98
1998-99
1999-00
2000-01
2001-02
2002-03
2003-04
2004-05
2005-06
2006-07
2007-08
5Eventual Majors of CS 106A Students
6Strategies for Achieving Large Enrollments
- Maintain a strong commitment to educating a broad
audience.
- Assemble a team of highly effective lecturers to
teach the introductory curriculum. - Offer multiple entry points, both to create a
greater range of opportunities and to allow
students to self-select their level. - Make sure the introductory courses have a
reputation for being challenging but also
accessible. - Get undergraduates involved in teaching so that
they can serve as stepping-stone role models. - Provide a robust safety net for students who are
having trouble. - Draw examples from a broad range of disciplines.
- Encourage students to go beyond the baseline
requirements, particularly in their own areas of
interest.
7A Recent Assignment in CS 106B
There are several alignment methods for measuring
the similarity of two DNA sequences (which you
can think of for the purposes as strings over a
four-letter alphabet A, C, G, and T). One method
to align two sequences x and y consists of
inserting spaces at arbitrary locations
(including at either end) so that the resulting
sequences x' and y' have the same length but
never have a space in the same position. You can
then assign a score to each position. Position j
is scored as follows 1 if x'j and
y'j are the same and neither is a space,
1 if x'j and y'j are different and neither
is a space, 2 if either x'j or y'j is
a space. The score for a particular alignment is
just the sum of the scores over all positions.
For example, given the sequences GATCGGCAT and
CAATGTGAATC, one such alignment (though not
necessarily the best one) is
positive scores for matches
1
1
1
1
1
1
G ATCG GCAT CAAT GTGAATC
1
2
2
2
1
2
negative scores for misses
8And Peter Lee Asks . . .
Is it possible to compose music automatically?
9The Dangers of a Separate Course
Stanford has deliberately chosen not to offer a
computational thinking course for nonmajors to
avoid the following pitfalls
- Courses that allow students to use computers but
insulate them from the process of writing
programs are likely to push students away from a
computer science major just when the economy
needs many more people with those skills. - Courses that avoid teaching programming send the
implicit message that programming is just as
unpleasant as its current reputation implies.
Our courses, by contrast, emphasize the passion,
beauty, joy, and awe. - Teaching all types of students together makes it
easier for students to switch into computer
science, even if that was not their original
intention. - Having a large fraction of undergraduates in
these classes means the students reflect the
diversity of the institution.
10The End
11Degree Production vs. Job Openings
160,000
Ph.D.
140,000
Masters
120,000
Bachelors
100,000
Projected job openings
80,000
60,000
40,000
20,000
Engineering
Physical Sciences
Biological Sciences
Adapted from a presentation by John Sargent,
Senior Policy Analyst, Department of Commerce, at
the CRA Computing Research Summit, February 23,
2004. Original sources listed as National
Science Foundation/Division of Science Resources
Statistics degree data from Department of
Education/National Center for Education
Statistics Integrated Postsecondary Education
Data System Completions Survey and NSF/SRS
Survey of Earned Doctorates and Projected Annual
Average Job Openings derived from Department of
Commerce (Office of Technology Policy) analysis
of Bureau of Labor Statistics 2002-2012
projections. See http//www.cra.org/govaffairs/co
ntent.php?cid22.
Sources
12And Various Data Seem to Agree
Working in the life sciences typically requires a
degree in biology or some closely related field,
but relatively few biology majors actually end up
working in the field.
- 80 of workers in the life sciences have degrees
in the life sciences.
13The Microsoft Programming Personae
Microsofts cultural lore defines three types of
programmers
Mort is your most common developer, who doesnt
have a CS background, may even be a recent
newcomer, and doesnt quite understand what the
computer is doing under the covers, but who
writes the dinky IT programs that make businesses
run. Elvis, more knowledgeable, cares about code
quality, but has a life too. Einstein writes
some serious-ass piece of code like device
drivers, wants to get things done, needs to be
able to go low level and high level, needs a
language without restrictions to get his job done.
Wesner Moise, Who are you? Mort, Elvis or
Einstein, September 25, 2003
http//wesnerm.blogs.com/net_undocumented/2003/09/
who_are_you_mor.html
For the most part, Microsoft (along with Google
and other first-rank companies) are seeking to
hire the Einsteins, which explains the low hiring
ratio.