Explicitly, he argued that all students should learn to program.
Because Computer Science is the study of process.
Automated execution of process changes everything
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, Google
C.P. Snow foresaw this in 1961.
Those who don’t understand algorithms, can’t understand how the decisions are made.
Adopting Computing—without us
At Georgia Tech and other Universities:
Biology teaches programming for mathematical and computational models.
Physics teaches VPython for labs where they solve three-body problems.
Computer science provides the tools and metaphors for understanding science.
Scientists and engineers use computing to model, simulate, and understand.
Why shouldn’t science and engineering students?
History repeating: Telescopes, microscopes.
Unlike other scientific instruments, computers are already cheap and plentiful.
Problem: They’re doing it without us.
Richard Dawkins on Fresh Aire
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.
Back to Georgia Tech in 1999
Key Point: Only one course met the requirement: CS1321 Introduction to Computing
Shackelford’s pseudocode approach in 1999
Later Scheme: How to Design Programs
Why only one?
The offer to help them do their own
CS1321: Pass (A, B, or C) vs. WDF (Withdrawal, D or F)
Converting between media, generating HTML, database, and networking
A little trees (directories) and hash tables (database)
Then, Computer Science topics (last 1/3 class)
Computer Science Topics as solutions to their problems
“Why is PhotoShop so much faster?”
Compiling vs. interpreting
Machine language and how the computer works
“Writing programs is hard! Are there ways to make it easier? Or at least shorter?”
Functional programming and recursion
“Movie-manipulating programs take a long time to execute. Why? How fast/slow can programs be?”
Examples of Student Work
Intro CS 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.”
High School teacher: “This was the best (non-college credit) workshop I have ever taken.”
Students in multimedia data structures: “Data structures is an important step. Use of media! It makes it fun.”
Joint with School of Literature, Communications, and Culture
58 majors in first year, 24% female Over 200 majors today, still about ¼ female
How about CS? Back to CS1321
A Context for CS1 for CS majors: Robotics
Microsoft Research has funded the Institute for Personal Robotics in Education
Tucker Balch, Directing Joint between Bryn Mawr and Georgia Tech
Goal is to develop a CS1 (and CS2) with robotics as the context.
Recursively follow a light
Enter a pyramid and take a picture of it.
Hold a “Peacebot” demonstration.
Film a movie and use MediaComp for special effects
Using Context throughout the CS Curriculum
The future of computing is not in merely being a good programmer.
Those skills are now commodities that can be outsourced anywhere.
When “The World is Flat” (Friedman), we become competitive by bridging areas and differentiating.
Microsoft wants employees who know context for CS
“The nature of these jobs is not closing the door and coding,” (Bill) Gates said. “The great missing skill is somebody who’s good at understanding engineering and bridges that [understanding] to working with customers and marketing…We can promise these people most of what they’re doing won’t be coding.”