Computer Architecture Track

In the Computer Architecture track, students concentrate on the hardware that forms the basis for computation. Architecture is concerned with maximizing overall system performance, often in the context of minimizing cost and power consumption. The emphasis in the College of Information and Computer Sciences is on how software interacts with low-level hardware features to achieve these goals. This track is a natural choice for a double-major in Electrical and Computer Engineering, and is also suitable for combination with any science minor or double major involving computation. It is excellent preparation for graduate studies in the field as well as careers involving performance-critical and embedded systems, such as aerospace, medical instrumentation, telecommunication, computational science, and supercomputing.

Requirements

Note that for students graduating by May 2012, if CS 291SP (now called CS 230) has not been taken, then Operating Systems (377) is a required course below.

  • Four required courses:
    • 311 Algorithms
    • 320 Software Engineering
    • 535 Architecture
    • 635 Modern Architecture
  • Any two courses from the following:
    • 377 Operating Systems
    • 410 Compilers
    • 445 Information Systems
    • 453 Computer Networks
    • 501 Formal Language Theory
    • 520 SE-Synthesis I
    • 530 Programming Languages
    • 610 Compiler Techniques
    • 653 Adv. Computer Networks
    • 677 Adv. Operating Systems
    • 499T/P or 496 (see note)
    • ECE 353 Digital Logic I
    • ECE 354 Digital Logic II
    • ECE 558 Architecture
  • Two CS electives numbered 300 or above (not including 305). One of which is specifically not on the list above.
  • Note: All course numbers refer to CS courses unless designated otherwise. Only 3 credits of 499T/P OR 496 count toward major requirements, regardless of whether it is listed in the menu. All courses x90-x99 require approval of the Undergraduate Program Director to be applied toward degree.