Software Systems Track

Students in the software systems track study design and implementation of large-scale software systems, including operating systems, information systems, and server applications. The track emphasizes both the basics of software system design as well as practical issues that arise in designing modern software systems. This track complements the networking track and  is excellent preparation for a graduate study in the area of computing systems.

Requirements

  • Four required courses:
    • 311 Algorithms
    • 320 Software Engineering
    • 377 Operating Systems
    • 445 Information Systems
  • Any two courses from the following:
    • 325 Intro Human Computer Interaction (or 590C Human Computer Interaction)
    • 453 Computer Networks
    • 460 Intro to Security
    • 466 Applied Crypto (or 597CR Crypto Engg)
    • 535 Computer Architecture (or 391IB/335 Inside the Box: How Computers Work)
    • 590CC Cloud Computing
    • 677 Operating Systems
  • Two CS electives numbered 300 or above (not including 305).