- 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
Software Engineering Track - Prior to Fall 2019
Objectives
The 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, and
-
can effectively work in teams and communicate orally and in writing.
Required Courses
All track requirements, regardless of department, must be completed with a grade of C or higher.
Course | Title |
---|---|
CS 30700 | Software Engineering I |
or |
Compilers: Principles and Practice Operating Systems |
CS 40800 | Software Testing |
CS 40700 |
Engineering Projects In Community Service (EPICS), Vertically-Integrated Projects (VIP), etc. can be used in place of the Software Engineering Senior Project if approved by Software Engineering Track Chair. EPICS must be EPCS 41100 and EPCS 41200 (Senior Design), not EPCS 40100 and EPCS 40200 (Senior Participation).
Electives
Select at least 2 additional courses:
Course | Title |
---|---|
CS 34800 | Information Systems |
CS 35200 | Compilers: Principles and Practice |
CS 35300 | Principles of Concurrency and Parallelism |
CS 35400 | Operating Systems |
CS 37300 | Data Mining and Machine Learning |
CS 38100 | Introduction to the Analysis of Algorithms |
CS 42200 | Computer Networks |
CS 42600 | Computer Security |
CS 44800 | Introduction to Relational Database Systems |
CS 45600 | Programming Languages |
CS 47300 | Web Information Search And Management |
CS 48900 | Embedded Systems |
CS 49000-CLC | Cloud Computing |
CS 49000-DSO | Distributed Systems |
Software Security |
Note: Neither CS 35200 nor CS 35400 can be double counted toward the required and elective courses.