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)
Electives
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.
