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 376 (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 376 can be taken in any order. My HCI Group colleagues also offer many other upper-division classes in HCI, including CS 448B (Data Visualization) and CS 194H (HCI Design Project), and colleagues around campus offer many more 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 the most popular track 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, 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 summer research program, CURIS. If you are interested in CURIS, e-mail a faculty member in the HCI group with your resume and transcript. We consider candidates who have taken and excelled in at least one of the core HCI courses (CS 147, CS 247, CS 376).
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 list of programs you're applying to and each program's recommendation deadline. 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.
If you'd like to join the Stanford HCI group, we are always looking for top candidates. Recently, my PhD student created some resources to help applicants by connecting them with crowd experts, check it out: TOEFL writing, TOEFL speaking, writing your statement of purpose, creating a CV, editing your research paper before submitting to CHI/UIST/CSCW.
Advising Ph.D. students is a major reason that I enjoy the university environment, and Stanford HCI has an impressive history of success and impact with its graduate students. 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. Understanding the human element of technology is far more important than any abitrary technical requirement. 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.
So that I can focus on supporting Stanford students and their research, I unfortunately have to decline requests to discuss your application. Applications are considered by the department as a whole, which means that individual faculty have limited ability to influence your case. However, if you are admitted and join the HCI group, know that you are not only one of the strongest HCI researchers in our application pool, but one of the strongest across the entire department!
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. If you want a more interdisciplinary program, you might consider Stanford's Symbolic Systems masters degree.
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 we would be a good fit for Stanford HCI, and include a link to your curriculum vitae.