I love seeing my students go on to do great things. Swing by my office hours if you'd like me to write you a letter of recommendation. I'll need a brief email from you, containing: your unofficial transcript, any relevant materials about classes you've taken with me or projects you've done with me, and a link to a Google Spreadsheet forked from this one to give me details. When listing me in the recommendation system, use firstname.lastname@example.org rather than my usual email address. Because I write many letters each year — and they're often all crunched in November through January — I need one month of notice so that I can schedule myself enough time to sit down and write a good letter.
There are two core classes in the human-computer interaction curriculum at Stanford: CS 147 (Introduction to Human-Computer Interaction), and CS 247 (Interaction Design Studio). I also offer an upper-division research course, CS 347 (Research Topics in HCI). If you're interested in human-computer interaction, I recommend that you aim to take all three courses. 147 should be taken first, but 247 and 347 can be taken in any order. My HCI Group colleagues also offer many other upper-division classes in HCI, including CS 448B (Data Visualization), CS 194H (HCI Design Project), CS 377N (Introduction to the Design of Smart Products), and CS 377G (Designing Serious Games); check ExploreCourses for special topics courses listed under the CS 377 series. Colleagues around campus also offer many other great courses listed at hci.stanford.edu. The CS 547 seminar features weekly talks from top professionals and researchers in HCI. The rest of the HCI requirements vary by department but tend to focus on three main skills: 1) computational thinking, 2) empirical thinking, and 3) design thinking. The set of HCI classes is always evolving; our group keeps an updated list in addition to the opportunities at the Stanford d.school.
Undergraduates: the HCI track within the Computer Science major is a fantastic opportunity. The HCI track is one of the most popular tracks within the Computer Science major! For those who want a more interdisciplinary viewpoint, the HCI emphasis within Symbolic Systems is excellent. Both majors allow you to pursue an honors thesis by completing original research in HCI. Our classes also regularly have participants from Mechanical Engineering, Art, Management Science & Engineering, STS, Communications, and many other majors.
Masters/Coterm students: the most common path is the HCI concentration in the Computer Science masters program. If you are considering a Ph.D. afterwards, you can choose to add a research certificate to your masters program in consultation with one of the HCI faculty. The Symbolic Systems program also offers a masters degree with a focus in HCI: like the undergraduate SymSys major, it is more interdisciplinary in focus.
Coursework teaches you within the boundaries of what we know; research is our chance to push beyond those boundaries. We have a small number of research opportunities for highly motivated and highly qualified candidates. If you are a Stanford undergraduate student, I strongly recommend the department's undergraduate research program, CURIS. If you are interested in CURIS, e-mail a faculty member in the HCI group with your resume and transcript.
Advising Ph.D. students is a major reason that I love the university environment, and Stanford HCI has an impressive history of success and impact with its graduate students: they're now professors at UC Berkeley, MIT, Stanford, Carnegie Mellon, UC San Diego, Cornell, University of Illinois; they're researchers at Microsoft, Google, and many other labs; one of them is a cofounder of Google. My students and I aim to make each other the best researchers possible, and to constantly learn and adapt.
The Computer Science department is a good match for students with a technical background, and for especially driven students who have an interest in acquiring that technical background. Our group tends to emphasize system-building HCI research, though we also dedicate a fair amount of time to experimental, empirical and theory-driven work. If Computer Science might not be a good home for you, you should consider Stanford's other programs and departments such as Mechanical Engineering – Product Design, Management Science & Engineering, Education – Learning Science & Technology Design, and Communications.
The single best thing you can do in your application is clearly communicate your ability to do original research. Most commonly, top students demonstrate this through 1) experience and 2) strong recommendations. If you have made major contributions to a research project before applying, your chances are far stronger. I also cannot overstate the importance of your letters of recommendation. Make sure to talk to your letter writers early about your application. Tie all of this together in your personal statement.
Stanford's masters program in Computer Science includes a popular track for human-computer interaction. The program is generally oriented toward students who want to make their impact in industry rather than research. Applications are handled at a departmental level, based on a combination of academic history, recommendations and experience. Because applications are considered department-wide, I can't help you with your application, even if it's focused in HCI. If you've been admitted into the program — congratulations, and I look forward to seeing you here!
The majority of the masters students I advise are in Computer Science, but there exist many other paths as well. If you want a more interdisciplinary program, you might consider Stanford's Symbolic Systems masters degree, or the masters program in Design Impact.
Our group has a limited bandwidth for visitors and postdoctoral scholars. If you decide to contact me about a potential postdoc, internship or visiting position, please be specific about why you would be a good fit for my group, and include a link to your curriculum vitae.