Contact info

Spring Quarter 2020

I'm teamed up with the awesome Chris Gregg to teach our beloved CS106B course, now re-imagined into an all-online format for this crazy time of Coronavirus. My regular office hours are Wednesday and Friday after lecture 3:30-5:30 PDT, drop in on zoom (get link from "Zoom Details" page on course website). You can also send email to arrange an alternate appointment.

An ode

To the student who missed lecture and asks did I miss anything?

A little bio

I left my rural hometown of Stevinson, CA (population: 262) to come to Stanford as a wide-eyed freshman in 1985. My undergraduate tour of duty included SLE, LSJUMB, a year on leave, RAing a wonderful frosh dorm, building an enormous sleep debt I still owe on, the beginning of life-long friendships, near-constant self-doubt, moments (brief) of glory, and, finally, a BS in Mathematical Sciences. My love of building things lead to my first job as a software engineer at NeXT in 1989. We had an incredible team, awesome technology, and a whole lot of fun. After eight years, NeXT was acquired by Apple and I continued on with the MacOS X team for seven years before I stepped out to raise my kids. In a parallel life to my industry career, I went back to grad school in CS at Stanford in 1992 and got lured into teaching, first as an industry affiliate, then a teaching fellow, a lecturer, and now senior lecturer. I teach courses in the undergrad systems curriculum, including programming methodology and abstractions, language paradigms, computer systems, compilers, and object-oriented design and development, but I especially enjoy working with the section leaders in the CS106 courses. I have been the advisor to the Stanford SWE and ACM-W chapters and served on the Computer Science Advanced Placement development committee, writing and grading an exam for 20,000 students nationwide. A quarter's worth of my CS106B lectures were unleashed as a pilot for Stanford Engineering Everywhere, a project to provide a Stanford-quality education to all seekers. I am currently having great fun leading CS107, the second course in the systems core of the redesigned undergrad major, and collaborating on CS107E, the "embedded" variant that uses the Raspberry Pi to explores systems from the processor up.


Thinking about declaring CS or CSE? The CS Undergrad Advising site has excellent information about the major, the minor, declaring, advising, and so on. The UAL site for a great wealth of resources and information for undergrads of all persuasions.

My CS undergraduate advising group is bit on the large side, but if you are looking for an advisor and not afraid of crowds, come by and talk to me about joining. Anyone, advisee or not, is welcome to come by and ask questions about courses, internships, planning, etc.

My life

I'm married to Matt Vaska, medical device engineer, entrepeneur and all-around superhero. He is also a Stanford alum (BS/MS in Mechanical Engineering) and part of his wooing involved a trombone serenade in the Flo Mo courtyard and an inspired resurrection of an ancient player piano using a vacuum cleaner. We are the proud parents of two awesome kids: our Paly junior Rein and freshman Kalev. They attended the Spanish Immersion school on Stanford campus. Come by and school me in Spanish -- I need all the help I can get to keep up with my kids!

Rein playing the Carmen Intermezzo with the Peninsula Young Artists. (Excuse the promotion of a very proud parent, but isn't he fabulous?)