Stanford
"The track system was designed to give students the opportunity for additional depth in a more diverse set of areas while still providing the opportunity for students to include plenty of breadth in their programs."
"one or two gateway courses, two or three highly-related courses, and electives from a list of more broadly related courses."
"The track system was purposefully designed to allow students to explore different areas before settling on a track."
Again with the encouraging language: "There is no penalty for trying out different tracks!"
Human-Computer Interaction Track: Human-Computer Interaction is a multidisciplinary track that studies how people interact with computational devices from the largest computing machines to handheld devices to tiny, ubiquitous computers. The HCI group teaches user-centered design thinking with a focus on ubiquitous computing, novel interaction techniques, tools for enhancing designers' creativity, and rapid prototyping. These skills are applicable to areas such as collaborative work, information visualization, and tangible computing.
Individually Designed Track: Students also have the option to propose an individually designed track to suit their particular academic interests and needs. Individually designed tracks must be an intellectually coherent program of study not available as part of an existing track. Proposals must include a minimum of 25 units and 7 courses, 4 of which must be CS courses numbered 100 or above. Each course must be taken for at least 3 units. Proposals must be approved by the student's undergraduate advisor and the associate chair. Proposals may not modify any non-track or elective requirements. For example, math, science, engineering fundamentals, and CS core courses cannot be modified.
Core CS classes:
Systems
Theory
Senior Project:
Other research