I joined the Computer Science Department at Stanford University as Associate Professor (Teaching), Associate Chair for Undergraduate Education, and Director of Educational Affairs. From 2001 to 2006, I also taught in the CS department at Stanford as a Lecturer. From 2002-2007, I was a Senior Research Scientist at Google, where I continue to maintain a consulting appointment in the research group. My research interests include computer science education, machine learning, and information retrieval on the Web. Please see my publications web page for more information.
Previously, I worked for several years as a Senior Engineering Manager at Epiphany. Prior to working at Epiphany, I completed my PhD in the Computer Science Department at Stanford. I was also an undergrad at Stanford and I loved it so much that I didn't want to leave.
Outside of work, I enjoy spending time with family, playing the guitar, going on outdoor excursions, and sleeping (which seems to be getting rarer and rarer these days).
|
|
lecture
Lecture 28: The Graphics Contest Winners
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
4142 views
|
|
|
|
lecture
Lecture 27: Life After CS106A
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3385 views
|
|
|
lecture
Lecture 26: Introduction to the Standard Java Libraries
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
6631 views
|
|
|
|
lecture
Lecture 25: Defining a Social Network for Our Purposes
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3090 views
|
|
|
lecture
Lecture 24: Principles of Good Software Engineering for Managing Large Amounts of Data
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
4684 views
|
|
|
|
lecture
Lecture 22: Overview of NameSurfer - The Next Assignment
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3007 views
|
|
|
lecture
Lecture 21: Review of Interactors and Listeners
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
2870 views
|
|
|
|
lecture
Lecture 20: GUI
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
4651 views
|
|
|
lecture
Lecture 19: An Interface
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3249 views
|
|
|
|
lecture
Lecture 18: A Wrap Up of Multi-dimensional Arrays
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
2970 views
|
|
|
lecture
Lecture 17: Multi-dimensional Arrays
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3133 views
|
|
|
|
lecture
Lecture 16: Array
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3708 views
|
|
|
lecture
Lecture 15: Pointer Recap
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3382 views
|
|
|
|
lecture
Lecture 14: Memory
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3907 views
|
|
|
lecture
Lecture 13: String Processing
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3295 views
|
|
|
|
lecture
Lecture 12: Enumeration
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3299 views
|
|
|
lecture
Lecture 11: The GImage Class
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3028 views
|
|
|
|
lecture
Lecture 10: Importance of Private Variables
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3609 views
|
|
|
lecture
Lecture 9: Strings
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3666 views
|
|
|
|
lecture
Lecture 8: Information Hiding
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
4045 views
|
|
|
lecture
Lecture 7: The Loop and a Half Problem
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
4745 views
|
|
|
|
lecture
Lecture 6: readInt() and readDouble()
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
4091 views
|
|
|
lecture
Lecture 5: Variables
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
5783 views
|
|
|
|
lecture
Lecture 4: The History of Computing
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
5583 views
|
|
|
lecture
Lecture 3: Karel and Java
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
12500 views
|
|
|
|
lecture
Lecture 2: Handout Information
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
9926 views
|
|
|
lecture
Lecture 1: Welcome to CS106A
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
18322 views
|
|
|
|
event
Stanford Engineering Everywhere CS106A - Programming Methodology
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
67944 views
|