Principles and practice of engineering of computer software and hardware systems. Topics include: techniques for controlling complexity; strong modularity using client-server design, virtual memory, and threads; networks; atomicity and coordination of parallel activities; security, and encryption; and performance optimizations.
Matriculated Stanford graduate students may enroll for 3, 4 or 5 units; everyone else must take the course for 5 units. All students do 5 units worth of work, including Stanford graduate students enrolled for 3 or 4 units.
Limited Enrollment Details: CS 110 is not open to High School Summer College or Horizon Scholar students. For a list of available Computer Science courses, please select "High School" or "Horizon Scholar" in the Student Population section of the Course page.