People of ACM - Mehran Sahami
January 13, 2015
Mehran Sahami co-chaired the Steering Committee of the ACM/IEEE-CS Joint Task Force on Computing Curricula 2013, for which he received the ACM Presidential Award in 2014. A Professor at Stanford University, he is Associate Chair for Education in the Computer Science Department. Sahami co-authored a book (with Ashok Srivastava of NASA), Text Mining: Classification, Clustering, and Applications. Prior to his teaching positions, he was a Senior Research Scientist at Google and a Senior Engineering Manager at Epiphany, Inc. He earned his BS and PhD degrees from Stanford.
How did you convince Mark Zuckerberg to come to your class every year for the last four years to lead a Q&A with students?
The last assignment I usually give in my introductory programming class is called "FacePamphlet," as it's supposed to be a very simple version of Facebook. I thought it would be great if Mike Schroepfer, the CTO at Facebook and a long-time friend and Stanford alum, would talk to my class about Facebook and, more broadly, the ways in which computer science can have an impact in the world.
When I first invited him to come a few years ago, he responded by asking if I'd like him to bring Mark Zuckerberg to the class too. I was thrilled at the possibility. As you can imagine, their visit to the class was a huge hit, and they spent the whole hour engaged with the students, answering a broad range of questions. They have been so kind as to continue that tradition, visiting the course to do Q&A with the students for four years in a row—their last visit drew over 700 students.
Both Mark and Mike are very committed to promoting computer science education, and I feel fortunate that coming to my class is one of the many ways they have encouraged students to pursue computer science. Interestingly enough, my young kids learned some of the basics of programming from Mark through the videos he did for code.org. I think he was a bit surprised at first when I thanked him for helping teach my kids to code on one of his more recent visits to my class.
What was your reaction when you were named in January 2014 as one of the top 10 professors at Stanford, along with Condoleezza Rice in Political Science and Tobias Wolff in English?
I try not to put a lot of stock in these sorts of rankings, but it was a humbling experience. I appreciated being included on the list, but what I really hope it reflected was that the students at Stanford found the pursuit of computing to be enjoyable and worthwhile.
I'm very fortunate that I get to work with an exceptional group of colleagues in the department who have a real dedication to and passion for teaching. We work collaboratively to try to create solid learning experiences for the students. And we have the privilege of working with great students.
If top 10 lists are something you care about, then it's worth noting that there was another top 10 list of Stanford professors published in October 2013 (by Business Insider), and six of the people on that list were from the computer science department. While the department has a strong research reputation, it is also a place where we are deeply committed to education.
Why do you think that 90 percent of undergrads at Stanford take computer science classes, even though there's no requirement to do so?
There is a combination of factors that contribute to the interest in computer science. A big one is the strength of the high-tech economy and the attendant high-profile IPOs and company acquisitions that generate broad media coverage, especially playing up the youth of many company founders. This phenomenon has in recent years helped create a surge in computer science enrollments nationwide. We saw a similar increase with the dot-com bubble in the late 1990s (although the numbers at Stanford are now far above the then-record enrollments back in 2000).
More specifically at Stanford, two other factors have also helped contribute to large enrollments in our introductory courses. First is the quality of the courses themselves. Removing myself from this discussion, my colleagues who teach the introductory CS courses at Stanford do a uniformly outstanding job, so the word-of-mouth on campus is that CS106A (our CS1 course) is a "must-take" class.
Secondly, a few years ago, we did a major curriculum revision of the undergraduate CS program at Stanford, providing more curricular flexibility via a track-based structure that also provides more interdisciplinary class options. As a result, more students see broader possibilities with regard to computer science and consider taking some computing courses to see if the program might be right for them.
As a heralded leader in computer science education as well as an experienced practitioner, what advice would you give to young people considering careers in computing?
The general advice I give to young people is to follow their passion. That's a pretty common answer to a question like this, but I really do think people do their best work when they are doing something they really care about and have a genuine interest in. I think of computing and the analytical mindset that it provides as being useful in pursuing a number of career paths.
The advice I give to my students when they are considering making a job decision is to go to the place where they think they will learn the most and make the biggest difference (in a broad sense). A career isn't just defined by one's first job, but is really about the kind of impact someone can have in the long term. Finding opportunities to learn as much as possible along the journey helps to create more opportunities for greater impact in the future. Especially given the pace at which computing evolves, it's important to have a real commitment to life-long learning in this field.