Purdue University - Department of Computer Science - Systems Programming Track

Systems Programming Track


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

All track requirements, regardless of department, must be completed with a grade of C or higher.

The track has three required courses that provide general background

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

Systems Programming Track Pre-requisite Flowchart (PDF)



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.

CS 30700 Software Engineering I
CS 33400 Fundamentals of Computer Graphics
CS 35300 Principles of Concurrency and Parallelism
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)
CS 48900 Embedded Systems
CS 490DS0 Distributed Systems

The Software Engineering Senior Project cannot be used as the Systems research project unless track chair approval from both track chairs is obtained.

Last Updated: Jan 22, 2018 8:29 AM

Department of Computer Science, 305 N. University Street, West Lafayette, IN 47907

Phone:(765) 494-6010 • Fax: (765) 494-0739

Copyright © 2016 Purdue University | An equal access/equal opportunity university | Copyright Complaints

Trouble with this page? Disability-related accessibility issue? Please contact the College of Science.