- Undergraduate Program
- Academic Advisors
- Careers
- CODO
- Employment
- Student Life
- Frequently Asked Questions
- Student Concerns
- Undergraduate Research
- CS Course Proficiency Exams
- Curriculum
- Artificial Intelligence Degree Requirements
- Computer Science Degree Requirements
- Data Science Degree Requirements
- Minor in Computer Science
- BS/MS Degree Program in CS
- BS/MS Planning Tool
- Honors in Computer Science
- Cooperative Education Program
- Curriculum Resources
- Scholarships
- Bridge Program
Systems Software 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).
All major required courses, all track requirements and track selectives, and their pre-requisites, regardless of department, must be completed with a grade of C or better.
Course | Title |
---|---|
CS 35200 | Compilers: Principles and Practice |
CS 35400 | Operating Systems |
CS 42200 | Computer Networks |
The track requires three electives, chosen from the list below. In addition to elective courses listed, other courses, including project and independent study courses, will be approved as electives, provided the course involves systems programming (as opposed to web page scripting, or other high-level application programming). Faculty strongly recommend that students include a senior project as one of the three electives.
Course | Title |
---|---|
CS 30700 | Software Engineering I |
and |
Competitive Programming 2 and 3 The combination of (CS31100 and CS41100) satisfy one elective |
CS 33400 | Fundamentals of Computer Graphics |
CS 35100 | Introduction to Cloud Computing |
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 |
CS 48900 | Embedded Systems |
CS 49000-DS0 | Distributed Systems |
CS 49000-VR | Introduction to VR/AR |
Senior Project | Track Chair approval needed |
Note: Senior Project must be at least 3 credits and approved by the track chair. (Examples: EPICS 41100/41200 Senior Design, CS 49000, CS 49700 Honors Research Project)
Note: The Software Engineering Senior Project cannot be used as the Systems Software Senior Project unless student obtains approval from BOTH track chairs.