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,
3383 views
|
|
|
lecture
Lecture 26: Introduction to the Standard Java Libraries
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
6629 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,
4681 views
|
|
|
|
lecture
Lecture 22: Overview of NameSurfer - The Next Assignment
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3006 views
|
|
|
lecture
Lecture 21: Review of Interactors and Listeners
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
2868 views
|
|
|
|
lecture
Lecture 20: GUI
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
4648 views
|
|
|
lecture
Lecture 19: An Interface
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3247 views
|
|
|
|
lecture
Lecture 18: A Wrap Up of Multi-dimensional Arrays
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
2968 views
|
|
|
lecture
Lecture 17: Multi-dimensional Arrays
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3130 views
|
|
|
|
lecture
Lecture 16: Array
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3702 views
|
|
|
lecture
Lecture 15: Pointer Recap
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3381 views
|
|
|
|
lecture
Lecture 14: Memory
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3906 views
|
|
|
lecture
Lecture 13: String Processing
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3291 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,
3608 views
|
|
|
lecture
Lecture 9: Strings
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
3665 views
|
|
|
|
lecture
Lecture 8: Information Hiding
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
4044 views
|
|
|
lecture
Lecture 7: The Loop and a Half Problem
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
4742 views
|
|
|
|
lecture
Lecture 6: readInt() and readDouble()
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
4089 views
|
|
|
lecture
Lecture 5: Variables
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
5774 views
|
|
|
|
lecture
Lecture 4: The History of Computing
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
5579 views
|
|
|
lecture
Lecture 3: Karel and Java
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
12493 views
|
|
|
|
lecture
Lecture 2: Handout Information
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
9918 views
|
|
|
lecture
Lecture 1: Welcome to CS106A
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
18281 views
|
|
|
|
event
Stanford Engineering Everywhere CS106A - Programming Methodology
as author at Stanford Engineering Everywhere CS106A - Programming Methodology,
67944 views
|