Jump to main page content
Purdue signature

College of Science

Computer Science

Computer Science Major — Computer Science Tracks

Software Engineering

This track is designed to prepare students to become software engineers who:

  • understand and can use the principles and techniques of software engineering essential for the design and development of large software products
  • are familiar with, and can effectively use, a variety of tools for software analysis, design, testing and maintenance
  • can effectively work in teams and communicate orally and in writing

Course Requirements

18 credits

Required Courses:
CS 30700 (Software Engineering I) (3 cr.); 
CS 35200 (Compilers: Principles and Practice) (3 cr.) or CS 35400 (Operating Systems) (3 cr.); 
CS 40800 (Software Testing) (3 cr.); 
Approved Senior Project, preferably team-based, from CS 49000 (Independent Study) (3 cr.), CS 49700 (Honors Research Project) (3 cr.), or EPCS 41100 (1 cr.) and EPCS 41200 (2 cr.) (Senior Design Participation in EPICS)


Two additional courses from the following list:
CS 34800 (Information Systems); (3 cr.) CS 35200 (Compilers: Principles and Practice) (3 cr.); 
CS 35400 (Operating Systems) (3 cr.); 
CS 38100 (Introduction to the Analysis of Algorithms) (3 cr.); 
CS 42600 (Computer Security) (3 cr.); 
CS 44800 (Introduction to Relational Database Systems) (3 cr.); 
CS 45600 (Programming Languages) (3 cr.)

Note: Neither CS 35200 (Compilers: Principles and Practice) nor CS 35400 (Operating Systems) can be double-counted toward the required and selective courses.