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:
- Work effectively in teams to develop computational solutions to complex problems.
- Communicate technical ideas effectively in writing and verbally.
- 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 | |||
---|---|---|---|
AUCC | Credits | ||
CO 150 | College Composition (GT-CO2) | 1A | 3 |
MATH 156 or 1601 | Mathematics for Computational Science I (GT-MA1) Calculus for Physical Scientists I (GT-MA1) | 1B | 4 |
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 201 | Ethical Computing Systems (GT-AH3) | 3B | 3 |
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 Engineers | 3A | ||
Honors Seminar: Knowing in the Sciences | 3A | ||
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 Inclusion | 1C | 3 | |
Elective3 | 1-5 | ||
Total Credits | 30 | ||
Sophomore | |||
CS 165 | CS2--Data Structures | 4 | |
CS 220 | Discrete 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 Perspectives | 3D | 3 | |
Social and Behavioral Sciences | 3C | 3 | |
Elective | 0-4 | ||
Total Credits | 30 | ||
Junior | |||
CS 314 | Software Engineering | 4A,4B | 3 |
CS 320 | Algorithms--Theory and Practice | 3 | |
CS 356 | Systems Security | 3 | |
CS 370 | Operating 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 320 | Project Management for Information Systems | 3 | |
Advanced Writing | 2 | 3 | |
Electives | 8-9 | ||
Total Credits | 30 | ||
Senior | |||
CS 414 | Object-Oriented Design | 4C | 4 |
CS 415 | Software Testing | 4 | |
CIS 360 | Systems 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 1 | Critical | Recommended | AUCC | Credits | |
CO 150 | College Composition (GT-CO2) | 1A | 3 | ||
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) | 3A | 3 | |||
Diversity, Equity, and Inclusion | X | 1C | 3 | ||
Electives | 2-3 | ||||
MATH 124 and MATH 126 may be necessary for some students to fulfill pre-calculus requirements. | X | ||||
Total Credits | 15 | ||||
Semester 2 | Critical | Recommended | AUCC | Credits | |
CS 201/PHIL 201 | Ethical Computing Systems (GT-AH3) | X | 3B | 3 | |
MATH 156 or 160 | Mathematics for Computational Science I (GT-MA1) Calculus for Physical Scientists I (GT-MA1) | X | 1B | 4 | |
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) | 3A | 4 | |||
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 3 | Critical | Recommended | AUCC | Credits | |
CS 165 | CS2--Data Structures | 4 | |||
CS 220 | Discrete 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 | 3D | 3 | |||
Electives | 1-4 | ||||
Total Credits | 16 | ||||
Semester 4 | Critical | Recommended | AUCC | Credits | |
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 | X | ||||
Computer Organization | X | ||||
Select one course from the following: | 3-4 | ||||
Linear Algebra for Data Science | X | ||||
Linear Algebra I | X | ||||
Social and Behavioral Sciences | 3C | 3 | |||
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 5 | Critical | Recommended | AUCC | Credits | |
CS 314 | Software Engineering | 4A,4B | 3 | ||
CS 320 | Algorithms--Theory and Practice | X | 3 | ||
Advanced Writing | 2 | 3 | |||
Electives | 6 | ||||
CS 253 must be completed by the end of Semester 5. | X | ||||
Total Credits | 15 | ||||
Semester 6 | Critical | Recommended | AUCC | Credits | |
CS 356 | Systems Security | 3 | |||
CS 370 | Operating Systems | 3 | |||
CIS 320 | Project 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 7 | Critical | Recommended | AUCC | Credits | |
CS 414 | Object-Oriented Design | X | 4C | 4 | |
CIS 360 | Systems 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 8 | Critical | Recommended | AUCC | Credits | |
CS 415 | Software Testing | X | 4 | ||
Depth Course (See list on Concentration Requirements Tab) | X | 4 | |||
Electives | X | 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 |