No Slide Title

Download Report

Transcript No Slide Title

Computational 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
Stanford’s 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.
Entry Points into CS at Stanford
general
education
a more serious
introduction
CS 105
CS 106A
Introduction to Computing
Programming Methodology
CS 106X
Accelerated version (A+B)
CS 106B
Programming Abstractions
projected
1985-86
1986-87
1987-88
1988-89
1989-90
1990-91
1991-92
1992-93
1993-94
1994-95
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
2008-09
Introductory Course Enrollment Trends
1800
1600
All intro courses
1400
1200
1000
800
600
400
CS106A
200
0
Eventual Majors of CS 106A Students
Strategies 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.
A 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
– 12
2 2 1
2
negative scores for misses
And Peter Lee Asks . . .
Is it possible to compose music automatically?
One of my students, in the second week of CS106A, sought
to answer that question by using Karel the Robot to compose
new Goldberg variations:
— Jennifer Mazzon, January 2009
The 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.
The End
Degree Production vs. Job Openings
160,000
140,000
120,000
100,000
Ph.D.
Master’s
Bachelor’s
Projected job openings
80,000
60,000
40,000
20,000
Engineering
Physical Sciences
Biological Sciences
Computer Science
Sources: 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/content.php?cid=22.
And Various Data Seem to Agree
Working
in thethe
lifepattern
sciences
requires a vs.
degree
in biology
In160,000
computing,
of typically
degree production
employment
is
Ph.D.
140,000
or
some closely
related field, but relatively few biology majors
reversed.
Master’s
Employment
(thousands)
120,000 end up working in the field.
actually
Bachelor’s
Top 10 job growth categories (2006-2016)
100,000
Projected job openings
2006
2016
Growth
1. Network systems and data communications analysts
262
402
53.4
80,000
2. Personal
and home in
carecomputing
aideslife sciences
767 1,156
50.6
• 39%
80%
of workers
the
have have
3. Home health aides
787 1,171
48.7
60,000
degrees
in computing.
the life sciences.
4. Computer software engineers, applications
507
733
44.6
40,000
5. Veterinary technologists and technicians
71
100
41.0
20,000
6. Personal financial advisors
176
248
41.0
7. Makeup artists, theatrical and performance
2
3
39.8
Engineering
Physical Sciences Biological Sciences
Science
8. Medical
assistants
465 Computer
148
35.4
62
84
35.0
9. Veterinarians
•Sources:
14%
71%
of
graduates
students
with
with
degrees
degrees
in
in
the
life
Adapted from
a presentation
by John
Sargent,counselors
Senior Policy Analyst,83Department
at the
10. Substance
abuse
and behavioral
disorder
112 of Commerce,
34.3
CRA Computing
Research
February 23, 2004.
sciences
computing
work
remain
in
those
inSummit,
the
fields.
field.
Original sources listed as National Science
Source: U.S.
Department of Labor,
Bureau Resources
of Labor Statistics,
2006-16,
December 2007.
Foundation/Division
of Science
Statistics;Employment
degree data Projections:
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/content.php?cid=22.
Sources: National Science Foundation/Division of Science Resources Statistics, SESTAT (Scientists and Engineers
Statistical Data System), 1999, as presented by Caroline Wardle at Snowbird 2002.
The Microsoft Programming Personae
Microsoft’s cultural lore defines three types of programmers:
Mort is your most common developer, who doesn’t have a CS
background, may even be a recent newcomer, and doesn’t 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.