computational thinking everywhere

13
Computational Thinking Everywhere Eric Roberts Professor of Computer Science Stanford University The “Broad Audience for CS1” Approach Computational Thinking Workshop The National Academies February 19, 2009

Upload: maja

Post on 11-Feb-2016

40 views

Category:

Documents


0 download

DESCRIPTION

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 . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Computational Thinking Everywhere

Computational Thinking Everywhere

Eric RobertsProfessor of Computer Science

Stanford University

The “Broad Audience for CS1” Approach

Computational Thinking WorkshopThe National Academies

February 19, 2009

Page 2: Computational Thinking Everywhere

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.

Page 3: Computational Thinking Everywhere

Entry Points into CS at Stanford

CS 105Introduction to Computing

CS 106AProgramming Methodology

CS 106BProgramming Abstractions

CS 106XAccelerated version (A+B)

generaleducation

a more serious introduction

Page 4: Computational Thinking Everywhere

Introductory Course Enrollment Trends

0

200

400

600

800

1000

1200

1400

1600

180019

85-8

619

86-8

719

87-8

819

88-8

919

89-9

019

90-9

119

91-9

219

92-9

319

93-9

419

94-9

519

95-9

619

96-9

719

97-9

819

98-9

919

99-0

020

00-0

120

01-0

220

02-0

320

03-0

420

04-0

520

05-0

620

06-0

720

07-0

820

08-0

9pr

ojec

ted

All intro courses

CS106A

Page 5: Computational Thinking Everywhere

Eventual Majors of CS 106A Students

Page 6: Computational Thinking Everywhere

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.

Page 7: Computational Thinking Everywhere

A Recent Assignment in CS 106BThere 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:

G ATCG GCATCAAT GTGAATC

1 1 1 1 1 1

1 2 2 2 1 2–

+positive scores for matches

negative scores for misses

Page 8: Computational Thinking Everywhere

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

Page 9: Computational Thinking Everywhere

The Dangers of a Separate Course

• 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.

Stanford has deliberately chosen not to offer a “computational thinking” course for nonmajors to avoid the following pitfalls:

Page 10: Computational Thinking Everywhere

The End

Page 11: Computational Thinking Everywhere

Degree Production vs. Job Openings160,000

140,000

120,000

100,000

80,000

60,000

40,000

20,000

Engineering Physical Sciences Biological Sciences Computer Science

Ph.D.Master’sBachelor’sProjected job openings

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.

Sources:

Page 12: Computational Thinking Everywhere

160,000

140,000

120,000

100,000

80,000

60,000

40,000

20,000

Engineering Physical Sciences Biological Sciences Computer Science

Ph.D.Master’sBachelor’sProjected job openings

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.

Sources:

And Various Data Seem to Agree

262 402 53.41.767 1,156 50.62.787 1,171 48.73.507 733 44.64.

71 100 41.05.176 248 41.06.

2 3 39.87.465 148 35.48.

62 84 35.09.

Network systems and data communications analystsPersonal and home care aidesHome health aidesComputer software engineers, applicationsVeterinary technologists and techniciansPersonal financial advisorsMakeup artists, theatrical and performanceMedical assistantsVeterinariansSubstance abuse and behavioral disorder counselors 83 112 34.310.

Top 10 job growth categories (2006-2016) 2006 2016

Employment(thousands)

Growth

U.S. Department of Labor, Bureau of Labor Statistics, Employment Projections: 2006-16, December 2007.

Source:

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.

• 14% of graduates with degrees in the life sciences work in those fields.

National Science Foundation/Division of Science Resources Statistics, SESTAT (Scientists and Engineers Statistical Data System), 1999, as presented by Caroline Wardle at Snowbird 2002.

Sources:

• 39% of workers in computing have degrees in computing.

• 71% of students with degrees in computing remain in the field.

In computing, the pattern of degree production vs. employment is reversed.

Page 13: Computational Thinking Everywhere

The Microsoft Programming PersonaeMicrosoft’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.

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.

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.