skip to content

Bulletin Archive

This archived information is dated to the 2009-10 academic year only and may no longer be current.

For currently applicable policies and information, see the current Stanford Bulletin.

Computer Systems Engineering (CSE)

Completion of the undergraduate program in Computer Systems Engineering leads to the conferral of the Bachelor of Science in Engineering. The subplan "Computer Systems Engineering" appears on the transcript and on the diploma.

Mission of the Undergraduate Program in Computer Systems Engineering

The mission of the undergraduate program in Computer Systems Engineering is to introduce students to the design, analysis, and application of computers and computer-based systems. Through course and laboratory experiences, students learn the principles essential to defining, designing, and building both general purpose and application-specific computer systems. Course work emphasizes fundamental elements of electrical engineering and computer science as well as underlying circuit and logic technologies. The senior project provides a unique hands-on experience. The program prepares students for careers in industry or for graduate study.

Requirements

Mathematics (25 units minimum):

MATH 41, 42, 51. Calculus

15

MATH 52 or 53. Multivariable Math

5

CS 109. Introduction to Probability for Computer Scientists1

5

Science (12 units):

PHYSICS 41. Mechanics

4

PHYSICS 43. Electricity and Magnetism

4

PHYSICS 45. Light and Heat

4

Technology in Society (one course required; see Basic Requirement 4) 3-5

Engineering Fundamentals (13 units minimum; see Basic Requirement 3):

ENGR 40. Introductory Electronics

5

ENGR 70B or 70X. Programming Abstractions or Accelerated (same as CS 106 B or X)

5

Fundamentals Elective (may not be ENGR 70A, B, or X)

3-5

Writing in the Major (one course):

CS 181, 191W, 194, 210B, 294W

3-4

Computer Systems Engineering Core (32 units minimum):

CS 103. Mathematical Foundations of Computing2

5

CS 107. Computer Organization and Systems3

5

CS 108. Object-Oriented Systems Design

4

or CS 110. Principles of Computer Systems

5

EE 108A. Digital Systems I

4

EE 108B. Digital Systems II

3 or 4

Senior Project (CS 191, 191W, 194, 210B, 294, or 294W)4

3

Plus two of the following:5

EE 101A. Circuits I

4

EE 101B. Circuits II

4

EE 102A. Signals and Systems I

4

EE 102B. Signals and Systems II

4

Computer Systems Engineering Depth

(19-27 units; choose one of the following specializations):

Digital Systems Specialization

CS 140. Operating Systems

4

or CS 143. Compilers

 

EE 109. Digital Systems Design Lab

4

EE 271. VLSI Systems

3

Plus three to four of the following:6

CS 140 or 143 (if not counted above)

4

CS 144. Introduction to Computer Networking

4

CS 149. Parallel Programming

4

CS 240E. Embedded Wireless Systems

4

CS 244. Advanced Topics in Networking

4

CS 244E. Low-Power Wireless Networking

3

EE 273. Digital Systems Engineering

3

EE 282. Computer Systems Architecture

3

Robotics and Mechatronics Specialization

CS 205A. Math for Robotics, Vision, Graphics

3

CS 223A. Introduction to Robotics

3

ME 210. Introduction to Mechatronics

4

ENGR 105. Feedback Control Design

3

Plus two to three of the following:6

AA 278. Optimal Control and Hybrid Systems

3

CS 223B. Introduction to Computer Vision

3

CS 225A. Experimental Robotics

3

CS 225B. Robot Programming Lab

4

CS 277. Experimental Haptics

3

ENGR 205. Introduction to Control Design

3

ENGR 206. Control System Design

4

ENGR 207A. Linear Control Systems I

3

ENGR 207B. Linear Control Systems II

3

Networking Specialization

CS 140. Operating Systems

4

CS 144. Introduction to Computer Networking

4

Plus four to five of the following:6

CS 240. Advanced Topics in Operating Systems

3

CS 240E. Low Power Wireless Systems Software

3

CS 240X. Advanced Operating Systems II

3

CS 244. Advanced Topics in Networking

4

CS 244B. Distributed Systems

3

CS 244E. Low-Power Wireless Networking

3

CS 249A. Object-Oriented Programming

3

CS 249B. Advanced Object-Oriented Programming

3

EE 179. Introduction to Communications

3

EE 276. Introduction to Wireless Personal Communications

3

These requirements are subject to change. The final requirements are published with sample programs in the Handbook for Undergraduate Engineering Programs.

1 Students who complete STATS 116, MS&E 120, or CME 106 in Winter 2008-09 or earlier may count that course as satisfying the CS109 requirement. These same courses taken in Spring 2008-09 or later cannot be used to satisfy the CS 109 requirement.

2 Students who have taken either CS 103X or CS 103A, B are considered to have satisfied the CS 103 requirement. Students taking CS 103A,B may complete the lower number of elective courses in a given specialization (see footnote 6).

3 The name of CS 107 has changed. The previous CS 107 course entitled Programming Paradigms also fulfills this requirement.

4 Independent study projects (CS 191 or 191W) require faculty sponsorship and must be approved in advance by the adviser, faculty sponsor, and the CSE senior project adviser (R. Plummer or P. Young). A signed approval form and brief description of the proposed project should be filed the quarter before work on the project is begun. Further details can be found in the Handbook for Undergraduate Engineering Programs at http://ughb.stanford.edu.

5 Students pursuing the Robotics and Mechatronics or Networking specializations must take EE 102A and B.

6 Students who take CS 103A,B may complete the lower number of elective courses in a given specialization (i.e., one less elective than students taking CS 103X or CS 103).

© Stanford University - Office of the Registrar. Archive of the Stanford Bulletin 2009-10. Terms of Use | Copyright Complaints