Systems Programming Track

Objectives

The track is designed to prepare students to become programmers who can build...

low-level software that uses or runs inside an operating system,

system tools for other users (e.g., compilers and assemblers),

programs that communicate over a computer network or the Internet (e.g., web servers).

Required Courses

The track has three required courses that provide general background

Course Title
CS 35200 Compilers: Principles and Practice
CS 35400 Operating Systems
CS 42200 Computer Networks

All track requirements, regardless of department, must be completed with a grade of C or higher (effective Fall 2011).

Electives

The track has three electives, chosen from the list below.  It is strongly recommended that students select a senior project course as one of the electives.

Course Title
CS 30700 Software Engineering I
CS 33400 Fundamentals of Computer Graphics
CS 38100 Introduction to the Analysis of Algorithms
CS 42600 Computer Security
CS 44800 Introduction to Relational Database Systems
CS 45600 Programming Languages
  Senior Project approved by faculty (Example: EPCS 411 EPICS design)