2026-2028 Catalog

Offered at: San Luis Obispo Campus

The BS in Software Engineering prepares students to become software professionals who develop software products on time, within budget, and that meet customer requirements. Building on the fundamentals of computer science, the program focuses on practical aspects of building and deploying software systems in a socially responsible way. The program’s educational mission supports the faculty in research and professional development that keeps them current in their field and in touch with current industry practices and trends. 

The hallmark of the program is “hands on” experience where students follow a curriculum that builds on traditional computer science but differs from the BS in Computer Science in the following ways: 

  1. Classes emphasize the team approach to building software and provide leadership opportunities for every student. 

  2. Classes place an emphasis on software processes and lifecycles.

  3. Classes include significant learning in engineering and management areas such as quality assurance, testing, metrics, maintenance, configuration management, and interpersonal management skills.

  4. The curriculum has a stronger emphasis on mathematics and the use of engineering methods in software design.

The software engineering curriculum culminates in a year-long capstone sequence where the students work in teams to build a large software system. 

The software industry increasingly requires both a software and an engineering background for their cutting-edge projects. Graduates with a BS in Software Engineering can expect to find significant opportunities in software development and management, software engineering, and marketing. 

The Software Engineering program has four broad program educational objectives (PEOs) that graduates are expected to attain within five years of graduation: 

  • Technical Competence. Graduates have applied the software engineering body of knowledge and other technical skills to specify, design, and implement complex software systems, doing so with state-of-the art technologies. 

  • Interpersonal Skills. Graduates have communicated effectively and worked collaboratively in a multi- disciplinary team environment. 

  • Professional Awareness. Graduates have maintained a positive and ethical attitude concerning the computing profession and its impact on individuals, organizations, and society. 

  • Intellectual Growth. Graduates have continued to grow intellectually and professionally in their chosen field, including successful pursuit of graduate study if such study was a desired goal. 

The BS Software Engineering program is accredited by the Engineering Accreditation Commission of ABET. 

Program Learning Objectives

  1. An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
  2. An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors.
  3. An ability to communicate effectively with a range of audiences.
  4. An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts.
  5. An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.
  6. An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
  7. An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

Degree Requirements and Curriculum

In addition to the program requirements listed on this page, students must also satisfy requirements outlined in more detail in the Minimum Requirements for Graduation section of this catalog, including:

  • 40 units of upper-division courses
  • 2.0 GPA
  • Graduation Writing Requirements (GWR)
  • U.S. Cultural Pluralism (USCP)

Note: No Major or Support courses may be selected as credit/no credit. In addition, no more than 12 units of cooperative or internship courses can count towards your degree requirements.

MAJOR COURSES
CSC/CPE 1000Computing Majors Orientation1
CSC 1001
1001L
Fundamentals of Computer Science
and Fundamentals of Computer Science Laboratory
4
CSC/CPE 1024Introduction to Computing2
CSC 2001
2001L
Data Structures
and Data Structures Laboratory
4
CSC/CPE 2050System Software Mechanics3
CSC 3001Modern Application Development4
CSC 3100Software Engineering4
CSC/CPE 3201Introduction to Computer Security3
CSC 3300Programming Languages3
CSC 3449Algorithms and Complexity4
CSC 3660Introduction to Databases 12-4
or CSC 3665 Introduction to Database Management Systems
CSC 4160Software Engineering Capstone I4
CSC 4161Senior Project - Software Engineering Capstone II4
Software Engineering Electives
Select from the following: 23-4
Software Evaluation
Special Advanced Topics in Software Engineering
User-Centered UI/UX Design
Human-Computer Interaction
Seminars in Software Engineering
Research Experience in Software Engineering
Projects in Software Engineering
Software Security
Special Advanced Laboratory
Special Advanced Activity
Modern Software Engineering
Special Advanced Topics in Software Engineering
Special Advanced Laboratory
Special Advanced Activity
Technical Electives
Select from the list in Technical Electives below: 23-7
SUPPORT COURSES
Select from the following: (5A & 5C) 34
Fundamentals of Chemical Structure and Properties
General Physics I
MATH 1151Linear Algebra3
Select from the following: (2) 38
Calculus I
and Calculus II
Calculus for Data Science I
and Calculus for Data Science II
MATH 2031Transition to Advanced Mathematics3
PHIL 3323Ethics, Science, and Technology (Upper-Division 3) 33
PSY 2201Introductory Psychology (4B) 33
Select from the following: 43-4
Small Group Collaboration and Creativity
Teamwork
STAT 3210Engineering Statistics (Upper-Division 2/5) 33
WGQS/ES 3350Gender, Race, Culture, Science, and Technology4
or WGQS 3351 Gender, Race, Class, Nation: Critical Computing and Engineering Studies
Life Science Support Electives
Select from the following: (5B) 34
General Biology
and Biology Laboratory for Non-Majors
Life: History and Diversity
Life: Molecules and Cells
General Botany
Introduction to Microbiology
Approved Mathematics/Statistics/Science Electives
Select from the list in Approved Mathematics/Statistics/Science Electives below:6
GENERAL EDUCATION (GE)
(See GE program requirements below)24
FREE ELECTIVES
Free Electives0
Total Units120
1

CSC 3665 will satisfy this requirement and 2 units of Technical Electives.

2

A combined maximum of 6 units may be taken from CPE 4491, CPE 4492, CPE 4493, CSC 4091, CSC 4092, CSC 4093, CSC 4191, CSC 4192, CSC 4193, CSC 4291, CSC 4292, CSC 4293, CSC 4400, CSC 4495, CSC 4691, CSC 4692, CSC 4693, CSC 4791, CSC 4792, CSC 4793, CSC 4891, CSC 4892, CSC 4893, CSC 4991, CSC 4992, CSC 4993, DATA 4720, ENGR 2995, and ENGR 4995; of which up to a combined 4 units may be taken from CPE 4491, CSC 4091, CSC 4191, CSC 4291, CSC 4400, CSC 4495, CSC 4691, CSC 4791, CSC 4891, CSC 4991, and DATA 4720.

3

Required in Major or Support; also satisfies General Education (GE) requirement.

4

PSY 3350 will satisfy this requirement and 1 unit of Technical Electives.

Technical Electives

Guidelines: Courses used to satisfy any other Major, Support, or General Education requirement are not allowed to count toward the Technical Electives requirement. Credit/No Credit grading is not allowed.

REQUIRED COURSES
Select from the following: 13-7
Teaching Computing
Cryptography Engineering and Applications
Introduction to Privacy: Policy and Technology
Theory of Computation
Introduction to Non-Relational Database Systems
Game Design and Development
Introduction to Mixed Reality
Game Engineering and Critical Analysis
Mobile Application Development
Web Development
Seminars in Computer Science
Research Experience in Computer Science
Projects in Computer Science
Software Evaluation
Special Advanced Topics in Software Engineering
User-Centered UI/UX Design
Human-Computer Interaction
Seminars in Software Engineering
Research Experience in Software Engineering
Projects in Software Engineering
Software Security
Malware Design and Analysis
Binary Exploitation: Tools and Techniques
Web and Cloud Security
Interdisciplinary Privacy and Security Capstone I
Senior Project - Privacy and Security Capstone II
Special Advanced Topics in Computer Security
Seminars in Privacy and Security
Research Experience in Privacy and Security
Projects in Privacy and Security
Compiler Construction
Special Problems
Bioinformatics Algorithms
Special Advanced Topics
Special Advanced Laboratory
Special Advanced Activity
Cooperative Education Experience
Introduction to Operating Systems
Implementation of Operating Systems
Special Advanced Topics in Computer Systems
Database Management Systems Organization
Seminars in Data Engineering
Research Experience in Data Engineering
Projects in Data Engineering
Introduction to Computer Graphics
Advanced Rendering Techniques
Computer Animation
Real-Time 3D Computer Graphics Software
Special Advanced Topics in Computer Graphics
Seminars in Graphics
Research Experience in Graphics
Projects in Graphics
Artificial Intelligence
Computer Vision
Seminars in Artificial Intelligence and Machine Learning
Research Experience in Artificial Intelligence and Machine Learning
Projects in Artificial Intelligence and Machine Learning
Seminars in Game Development
Research Experience in Game Development
Projects in Game Development
Modern Software Engineering
Computing Education Research and Practice
Special Advanced Topics in Software Engineering
Computer Security and Privacy
Software Security
Advanced Network Security and Privacy
Special Advanced Topics in Computer Security
System Security
Special Advanced Topics in Programming Languages
Advanced Theory of Decidability and Reducibility
Advanced Algorithmic Graph Theory
Advanced Algorithm Design and Analysis
Research in Operating Systems
Special Advanced Topics
Special Advanced Laboratory
Special Advanced Activity
Advanced Database Management Systems
Distributed Computing
Special Advanced Topics in Computer Systems
Computer Graphics
Advanced Compute Shaders in Computer Graphics
Special Advanced Topics in Computer Graphics
Special Advanced Topics in Artificial Intelligence
Introduction to Computer Systems
Introduction to HDL and Digital Design Laboratory
Microcontrollers and Embedded Applications
Applied Parallel Computing
Network Security
Wireless Security
Introduction to Computer Networks
Advanced Computer Networks
Special Advanced Topics
Special Advanced Laboratory
Special Advanced Activity
Seminar in Computer Engineering
Research Experience in Computer Engineering
Projects in Computer Engineering
Scalable Server Implementation and Testing
Distributed Systems
Research Topics in Computer Networks
Introduction to Data Science
Graph Mining
Data Science Seminar
Vertically Integrated Project Experience I
Vertically Integrated Project Experience II
1

A combined maximum of 6 units may be taken from CPE 4491, CPE 4492, CPE 4493, CSC 4091, CSC 4092, CSC 4093, CSC 4191, CSC 4192, CSC 4193, CSC 4291, CSC 4292, CSC 4293, CSC 4400, CSC 4495, CSC 4691, CSC 4692, CSC 4693, CSC 4791, CSC 4792, CSC 4793, CSC 4891, CSC 4892, CSC 4893, CSC 4991, CSC 4992, CSC 4993, DATA 4720, ENGR 2995, and ENGR 4995; of which up to a combined 4 units may be taken from CPE 4491, CSC 4091, CSC 4191, CSC 4291, CSC 4400, CSC 4495, CSC 4691, CSC 4791, CSC 4891, CSC 4991, and DATA 4720.

Approved Mathematics/Statistics/Science Electives

Guidelines: Courses used to satisfy any other Major or Support requirement are not allowed to count toward the Approved Mathematics/Statistics/Science Electives requirement. Credit/No Credit grading is not allowed.

REQUIRED COURSES
Select from the following:6
Stars and Planetary Systems
Galaxies and Cosmology
Biology of Sex
Plant Diversity and Ecology
Life Science for Engineers
Wildlife Conservation Biology
Orientation to Biotechnology
Human Genetics
Biology of Cancer
Genetic Engineering Technology
Principles of Genetics
Fundamentals of Chemical Reactivity
Physical Geology
Physical Geology Laboratory
Calculus III
Linear Analysis
Differential Equations
Introduction to Mathematical Optimization
History of Mathematics
Combinatorics I
Graph Theory
Number Theory
Euclidean Geometry
Mathematics of Data Science
Introduction to Numerical Analysis
Mathematical Programming
Combinatorics II
Differential Geometry
Game Theory
General Microbiology II
Wine Microbiology
Public Health Microbiology
Food Microbiology
The Oceans
The Oceans Laboratory
General Physics I
Statistics I
Introduction to Statistical Computing with R
Introduction to Probability and Simulation
Applied Regression Analysis
Statistics II
Introduction to Statistical Computing with SAS and SQL
Intermediate Statistical Computing with R
Probability Theory
Bayesian Reasoning and Methods
Survival Analysis Methods
Applied Multivariate Statistics

General Education (GE) Requirements

  • 43 units required, 19 of which are specified in Major and/or Support.
  • If any of the remaining 24 Units is used to satisfy a Major or Support requirement, additional units of Free Electives may be needed to complete the total units required for the degree.
  • See the complete GE course listing.
  • A grade of C- or better is required in one course in each of the following GE Areas: 1A (English Composition), 1B (Critical Thinking), 1C (Oral Communication), and 2 (Mathematics and Quantitative Reasoning). 
Lower-Division General Education
Area 1English Communication and Critical Thinking
1AWritten Communication3
1BCritical Thinking3
1COral Communication3
Area 2Mathematics and Quantitative Reasoning
2Mathematics and Quantitative Reasoning (3 units in Support) 10
Area 3Arts and Humanities
3AArts3
3BHumanities: Literature, Philosophy, Languages other than English 3
Area 4Social and Behavioral Sciences (Area 4 courses must come from at least two different course prefixes.)
4AAmerican Institutions (Title 5, Section 40404 Requirement)3
4BSocial and Behavioral Sciences (3 units in Support) 10
Area 5Physical and Life Sciences
5APhysical Sciences (3 units in Support) 10
5BLife Sciences (3 units in Support) 10
5CLaboratory (may be embedded in a 5A or 5B course) (1 units in Support) 10
Area 6 Ethnic Studies
6 Ethnic Studies3
Upper-Division General Education
Upper-Division 2/5Mathematics and Quantitative Reasoning or Physical and Life Sciences (3 units in Support) 10
Upper-Division 3Arts and Humanities (3 units in Support) 10
Upper-Division 4Social and Behavioral Sciences (Area 4 courses must come from at least two different course prefixes.)3
Total Units24
1

Required in Major or Support; also satisfies General Education (GE) requirement.

Coming soon