Software engineering involves designing, implementing, and maintaining computer programs. Developing modern software systems requires more than programming skills and core computer science concepts. It requires software engineering skills, which are in high demand in the software industry.

The Software Engineering concentration focuses on the concepts, techniques, and tools necessary for software analysis, design, testing, maintenance, and teamwork. Courses will include hands-on work with the software engineering tools used in industry.

This concentration combines a rigorous computer science degree with courses in software design, software testing, project management, and system analysis and design.

Learning Objectives

Upon successfully completing this program, students will be able to:

  1. Work effectively in teams to develop computational solutions to complex problems.
  2. Communicate technical ideas effectively in writing and verbally.
  3. Confidently pursue graduate studies or professional employment in software engineering and computer science.

Potential Occupations

In addition to the career opportunities open to all computer science graduates, the software engineering concentration opens career paths that include:
 
Software developer, software architect, full-stack developer, software project manager, database programmer, computer systems analyst, web developer, computer and information systems manager, UX designer, cloud engineer, and mobile application developer.

Effective Fall 2023

A minimum grade of C (2.000) is required in CO 150 and in all CS, CIS, DSCI, MATH, and STAT courses which are required for graduation.

Freshman
AUCCCredits
CO 150College Composition (GT-CO2)1A3
MATH 156 or 1601Mathematics for Computational Science I (GT-MA1)
Calculus for Physical Scientists I (GT-MA1)
1B4
Select one group from the following:2 5-9
Group A:
  
Culture and Coding: Java (GT-AH3)
Culture and Coding: Python (GT-AH3)
3B 
CS1--Introduction to Java Programming
CS1--Computational Thinking with Java
  
Group B:
  
3B 
Python for STEM  
CS1--Introduction to Java Programming
CS1--Computational Thinking with Java
  
Group C:
  
3B 
CS1---No Prior Programming Experience  
CS 201/PHIL 201Ethical Computing Systems (GT-AH3)3B3
Select at least two courses totaling a minimum of 7 credits from the following (one course must be or include the sequenced laboratory): 7
Introduction to Astronomy (GT-SC2)3A 
Human Origins and Variation (GT-SC2)3A 
Principles of Animal Biology (GT-SC2)3A 
Principles of Plant Biology (GT-SC1)3A 
Fundamentals of Chemistry (GT-SC2)3A 
General Chemistry I (GT-SC2)3A 
Exploring Earth - Physical Geology (GT-SC2)3A 
The Blue Planet - Geology of Our Environment (GT-SC2)3A 
Geology of Natural Resources (GT-SC2)3A 
Physical Geology for Scientists and Engineers3A 
Honors Seminar: Knowing in the Sciences3A 
Attributes of Living Systems (GT-SC1)3A 
Biology of Organisms-Animals and Plants (GT-SC1)3A 
Introductory Genetics: Applied/Population/Conservation/Ecological (GT-SC2)3A 
Introductory Genetics: Molecular/Immunological/Developmental (GT-SC2)3A 
Fundamentals of Ecology (GT-SC2)3A 
Oceanography (GT-SC2)3A 
General Physics I (GT-SC1)3A 
General Physics II (GT-SC1)3A 
Physics for Scientists and Engineers I (GT-SC1)3A 
Physics for Scientists and Engineers II (GT-SC1)3A 
Diversity, Equity, and Inclusion1C3
Elective3 1-5
 Total Credits 30
Sophomore
 
CS 165CS2--Data Structures 4
CS 220Discrete Structures and their Applications 4
Select one group from the following: 4-5
Group A  
Software Development  
C++ Fundamentals  
Group B  
Software Development with C++  
Select one course from the following: 4
Computer Systems Foundations  
Computer Organization  
Select one course from the following: 3-4
Linear Algebra for Data Science  
Linear Algebra I  
Select one course from the following: 1-3
Introduction to Applied Statistical Methods  
Statistics Supplement: General Applications  
Introduction to Biostatistics  
Intro to Theory and Practice of Statistics  
Historical Perspectives3D3
Social and Behavioral Sciences3C3
Elective 0-4
 Total Credits 30
Junior
 
CS 314Software Engineering4A,4B3
CS 320Algorithms--Theory and Practice 3
CS 356Systems Security 3
CS 370Operating Systems 3
Select one course from the following: 3-4
Modern Web Applications  
Machine Learning Foundations and Practice  
CS course numbered 400- or above, excluding 480-499
  
CIS 320Project Management for Information Systems 3
Advanced Writing23
Electives 8-9
 Total Credits 30
Senior
 
CS 414Object-Oriented Design4C4
CS 415Software Testing 4
CIS 360Systems Analysis and Design 3
Depth course - select two courses from the following: 8
Database Systems  
Introduction to Big Data  
Introduction to Artificial Intelligence  
Introduction to Compiler Construction  
Introduction to Distributed Systems  
Engaging in Virtual Worlds  
Principles of Human-Computer Interaction  
Electives4 11
 Total Credits 30
 Program Total Credits: 120
1

MATH 156 recommended for computer science majors who do not already have MATH 160 credit.

2

Recommended sequence for most incoming students is Group A: CS 150B to CS 164.

3

CS 192 or other seminar course is a recommended elective for incoming, first semester, students.

4

Select enough elective credits to bring the program total to a minimum of 120 credits, of which at least 42 must be upper-division (300- to 400-level).

Distinctive Requirements for Degree Program:

To prepare for first semester: The curriculum for the Computer Science major assumes students enter college prepared to take calculus. Entering students who are not prepared to take calculus will need to fulfill pre-calculus requirements in the first semester. All students must maintain a C (2.000) or better in CO 150 and in all CS, CIS, DSCI, MATH, and STAT courses which are required for graduation.

Freshman
Semester 1CriticalRecommendedAUCCCredits
CO 150College Composition (GT-CO2)  1A3
First course from Group A, B, or C (See options in Concentration Requirements Tab)   2-4
Department Approved Science (See list on Concentration Requirements Tab)  3A3
Diversity, Equity, and InclusionX 1C3
Electives   2-3
MATH 124 and MATH 126 may be necessary for some students to fulfill pre-calculus requirements.X   
 Total Credits   15
Semester 2CriticalRecommendedAUCCCredits
CS 201/PHIL 201Ethical Computing Systems (GT-AH3) X3B3
MATH 156 or 160Mathematics for Computational Science I (GT-MA1)
Calculus for Physical Scientists I (GT-MA1)
 X1B4
Remaining course(s) from Group A, B, or C (See options in Concentration Requirements Tab)X  2-4
Department Approved Science Course with Lab (See list on Concentration Requirements Tab)  3A4
Electives   0-2
CO 150 must be completed by the end of Semester 2 with a grade of C or better.X   
 Total Credits   15
Sophomore
Semester 3CriticalRecommendedAUCCCredits
CS 165CS2--Data Structures   4
CS 220Discrete Structures and their Applications X 4
Select one course from the following:   1-3
Introduction to Applied Statistical Methods    
Statistics Supplement: General Applications    
Introduction to Biostatistics    
Intro to Theory and Practice of Statistics    
Historical Perspectives  3D3
Electives   1-4
 Total Credits   16
Semester 4CriticalRecommendedAUCCCredits
Select one group from the following:   4-5
Group A    
Software Development    
C++ Fundamentals    
Group B    
Software Development with C++    
Select one course from the following:   4
Computer Systems FoundationsX   
Computer OrganizationX   
Select one course from the following:   3-4
Linear Algebra for Data ScienceX   
Linear Algebra IX   
Social and Behavioral Sciences  3C3
CS 165 and CS 220 must be completed by the end of Semester 4.X   
MATH 156 or MATH 160 and MATH 369 or DSCI 369 must be completed by the end of Semester 4.X   
 Total Credits   14
Junior
Semester 5CriticalRecommendedAUCCCredits
CS 314Software Engineering  4A,4B3
CS 320Algorithms--Theory and Practice X 3
Advanced Writing  23
Electives   6
CS 253 must be completed by the end of Semester 5.X   
 Total Credits   15
Semester 6CriticalRecommendedAUCCCredits
CS 356Systems Security   3
CS 370Operating Systems   3
CIS 320Project Management for Information Systems   3
Software Engineering Breadth Course (See list on Concentration Requirements Tab) X 3-4
Electives   2-3
CS 314 and CS 320 and CS 370 must be completed by the end of Semester 6.X   
 Total Credits   15
Senior
Semester 7CriticalRecommendedAUCCCredits
CS 414Object-Oriented DesignX 4C4
CIS 360Systems Analysis and Design   3
Depth Course (See list on Concentration Requirements Tab)X  4
Electives   4
At least two 300- to 400-level CS classes must be completed by the end of Semester 7.X   
 Total Credits   15
Semester 8CriticalRecommendedAUCCCredits
CS 415Software TestingX  4
Depth Course (See list on Concentration Requirements Tab)X  4
ElectivesX  7
The benchmark courses for the 8th semester are the remaining courses in the entire program of study.X   
 Total Credits   15
 Program Total Credits:   120