Major in Computer Science, Software Engineering Concentration
Program Overview
Major in Computer Science, Software Engineering Concentration
The Software Engineering concentration focuses on the concepts, techniques, and tools necessary for software analysis, design, testing, maintenance, and teamwork. 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
- Mobile application developer
Requirements
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
- CO 150: College Composition (GT-CO2) - 3 credits
- CS 201/PHIL 201: Ethical Computing Systems (GT-AH3) - 3 credits
- MATH 156 or MATH 160: Mathematics for Computational Science I (GT-MA1) or Calculus for Physical Scientists I (GT-MA1) - 4 credits
- Select one group from the following:
- Group A:
- CS 150A or CS 150B: Culture and Coding: Java (GT-AH3) or Culture and Coding: Python (GT-AH3) - 3 credits
- CS 162 or CS 164: CS1--Introduction to Java Programming or CS1--Computational Thinking with Java
- Group B:
- CS 152: Python for STEM
- CS 162 or CS 164: CS1--Introduction to Java Programming or CS1--Computational Thinking with Java
- Group C:
- CS 163: CS1---No Prior Programming Experience
- Arts and Humanities - 3 credits
- Group A:
- Select at least two courses totaling a minimum of 7 credits from the following (one course must be or include the sequenced laboratory):
- AA 100 & AA 101: Introduction to Astronomy (GT-SC2)
- ANTH 120 & ANTH 121: Human Origins and Variation (GT-SC2)
- BZ 110 & BZ 111: Principles of Animal Biology (GT-SC2)
- BZ 120: Principles of Plant Biology (GT-SC1)
- CHEM 107 & CHEM 108: Fundamentals of Chemistry (GT-SC2)
- CHEM 111 & CHEM 112: General Chemistry I (GT-SC2)
- GEOL 120 & GEOL 121: Geology and Society (GT-SC2)
- GEOL 122 & GEOL 121: Geoscience--Climate and Environmental Change (GT-SC2)
- GEOL 124 & GEOL 121: Earth Resources and Sustainability (GT-SC2)
- GEOL 150: Dynamic Earth (GT-SC2)
- HONR 292A: Honors Seminar: Knowing in the Sciences
- LIFE 102: Attributes of Living Systems (GT-SC1)
- LIFE 103: Biology of Organisms-Animals and Plants (GT-SC1)
- LIFE 201A: Introductory Genetics: Applied/Population/Conservation/Ecological (GT-SC2)
- LIFE 201B: Introductory Genetics: Molecular/Immunological/Developmental (GT-SC2)
- LIFE 220/LAND 220: Fundamentals of Ecology (GT-SC2)
- NR 150: Oceanography (GT-SC2)
- PH 121: General Physics I (GT-SC1)
- PH 122: General Physics II (GT-SC1)
- PH 141: Physics for Scientists and Engineers I (GT-SC1)
- PH 142: Physics for Scientists and Engineers II (GT-SC1)
- 1C: 3 credits
- Elective: 1-5 credits
Sophomore
- CS 165: CS2--Data Structures - 4 credits
- CS 220: Discrete Structures and the Applications - 4 credits
- Select one group from the following:
- Group A:
- CS 214: Software Development
- CT 301: C++ Fundamentals
- Group B:
- CS 253: Software Development with C++
- Group A:
- Select one course from the following:
- CS 250: Computer Systems Foundations
- CS 270: Computer Organization
- Select one course from the following:
- DSCI 369: Linear Algebra for Data Science
- MATH 369: Linear Algebra I
- Select one course from the following:
- STAT 301: Introduction to Applied Statistical Methods
- STAT 302A: Statistics Supplement: General Applications
- STAT 307: Introduction to Biostatistics
- STAT 315: Intro to Theory and Practice of Statistics
- Historical Perspectives: 3 credits
- Social and Behavioral Sciences: 3 credits
- Elective: 0-4 credits
Junior
- CIS 320: Project Management for Information Systems - 3 credits
- CS 314: Software Engineering - 3 credits
- CS 320: Algorithms--Theory and Practice - 3 credits
- CS 356: Systems Security - 3 credits
- CS 370: Operating Systems - 3 credits
- Select one course from the following:
- CS 312: Modern Web Applications
- CS 345: Machine Learning Foundations and Practice
- CS course numbered 400- or above, excluding 480-499
- Advanced Writing: 3 credits
- Electives: 8-9 credits
Senior
- CIS 360: Systems Analysis and Design - 3 credits
- CS 414: Object-Oriented Design - 4 credits
- CS 415: Software Testing - 4 credits
- Depth course - select two courses from the following:
- CS 430: Database Systems
- CS 435: Introduction to Big Data
- CS 440: Introduction to Artificial Intelligence
- CS 453: Introduction to Compiler Construction
- CS 455: Introduction to Distributed Systems
- CS 462: Engaging in Virtual Worlds
- CS 464: Principles of Human-Computer Interaction
- CS 465: Multimodal Interaction for 3D User Interfaces
- Electives: 11 credits
Program Total Credits
The total credits required for the program is 120 credits.
Distinctive Requirements for Degree Program
To prepare for the 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.
