BS Software Engineering

Catalog Home

Program Learning Outcomes

  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:

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

Note: No Major or Support courses may be selected as credit/no credit.

MAJOR COURSES
CSC/CPE 101Fundamentals of Computer Science4
CSC/CPE 202Data Structures4
CSC/CPE 123Introduction to Computing 14
CSC/CPE 203Project-Based Object-Oriented Programming and Design4
CSC 225Introduction to Computer Organization4
CSC 248Discrete Structures4
CSC 300Professional Responsibilities4
or PHIL 323 Ethics, Science and Technology
CSC 305Individual Software Design and Development4
CSC 308Software Engineering I4
CSC 309Software Engineering II4
CSC 349Design and Analysis of Algorithms4
CSC/CPE 357Systems Programming4
CSC 365Introduction to Database Systems4
CSC 402Software Requirements Engineering4
CSC 405Software Construction4
CSC 406Senior Project - Software Deployment4
CSC 430Programming Languages4
CSC 484User-Centered Interface Design and Development4
Technical Electives
Select from the lists in Technical Electives Guidelines below 2,316
SUPPORT COURSES
IME 314Engineering Economics3
or IME 315 Financial Decision Making for Engineers
MATH 141Calculus I (B4) 44
MATH 142Calculus II (B4) 44
MATH 143Calculus III (Area B Electives) 44
MATH 241Calculus IV4
MATH 244Linear Analysis I4
PHIL 230Philosophical Classics: Knowledge and Reality (C2) 44
or PHIL 231 Philosophical Classics: Ethics and Political Philosophy
or Any GE Area C2 Course
PSY 201/202General Psychology (E) 44
PSY 350Teamwork4
or COMS 217 Small Group Communication
STAT 312Statistical Methods for Engineers (Upper-Division B) 44
Life Science Support Elective
Select from the following (B2): 44-5
General Biology
Introduction to Cell and Molecular Biology
Life Science for Engineers
and Bioengineering Fundamentals
General Botany
Microbiology
General Microbiology I
Mathematics Support Elective
Select from the following:4
Methods of Proof in Mathematics
Combinatorial Math
Graph Theory
Numerical Analysis I
Physical Science Support Electives
Select one of the following series (B1 & B3; Area B Electives): 412
General Chemistry for Physical Science and Engineering I
and General Chemistry for Physical Science and Engineering II
and General Chemistry for Physical Science and Engineering III
General Physics I
and General Physics II
and General Physics III
GENERAL EDUCATION (GE)
(See GE program requirements below.)36
FREE ELECTIVES
Free Electives 50
Total units183-184

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.

Contact the Computer Science and Software Engineering department for further information.

Select Technical Electives from the following: 1,2
Teaching Computing
Introduction to Computer Security
Cryptography Engineering
Introduction to Privacy: Policy and Technology
Music Programming
Introduction to Networked, Distributed, and Parallel Computing
Database Modeling, Design and Implementation
Introduction to Distributed Computing
Game Design
Introduction to Mixed Reality
Interactive Entertainment Engineering
Special Problems 2
Current Topics in Software Engineering
Software Evaluation
Binary Exploitation: Tools and Techniques
Network Security
Software Security
Wireless Security
Current Topics in Computer Security
Compiler Construction
Mobile Application Development
Dynamic Web Development
Theory of Computation I
Bioinformatics Algorithms
Introduction to Operating Systems
Implementation of Operating Systems
Current Topics in Computer Systems
Knowledge Discovery from Data
Database Management Systems Implementation
Distributed Systems
Introduction to Computer Graphics
Advanced Rendering Techniques
Computer Animation
Real-Time 3D Computer Graphics Software
Scientific and Information Visualization
Current Topics in Computer Graphics
Artificial Intelligence
Knowledge Based Systems
Speech and Language Processing
Human-Computer Interaction Theory and Design
Deep Learning
Selected Advanced Topics 2
Cooperative Education Experience 2
Selected Advanced Laboratory 2
Research Senior Project I
and Research Senior Project II
Software Engineering I
Software Engineering II
Computing Education Research and Practice
Computer Architecture
Computer Security
Advanced Network Security
System Security
Languages and Translators
Theory of Computation II
Advanced Algorithm Design and Analysis
Operating Systems
Database Systems
Computer Networks: Research Topics
Topics in Advanced Data Mining
Distributed Computing
Current Topics in Computer Science
Computer Graphics
Artificial Intelligence
Computer Support for Knowledge Management
Computational Linguistics
Advanced Deep Learning
Computer Architecture
Microcontrollers and Embedded Applications
Special Problems for Undergraduates 2
Autonomous Mobile Robotics
Applied Parallel Computing
Computer Vision
Introduction to Computer Networks
Advanced Computer Networks
Microelectronics and Electronics Packaging
Introduction to Data Science
Quantum Computing
The following restrictions must be satisfied
4 of these units must be satisfied by a course that has as a prerequisite either
1) An upper-division course required by the major (excluding CSC 357) or
2) Another Technical Elective or
3) A course that has CSC 202 or CSC 203 listed as a prerequisite
Select from the following:
Individual Software Design and Development
Teaching Computing
Introduction to Privacy: Policy and Technology
Database Modeling, Design and Implementation
Introduction to Distributed Computing
Game Design
Introduction to Mixed Reality
Interactive Entertainment Engineering
Current Topics in Software Engineering
Software Evaluation
Binary Exploitation: Tools and Techniques
Network Security
Software Security
Wireless Security
Current Topics in Computer Security
Compiler Construction
Dynamic Web Development
Bioinformatics Algorithms
Implementation of Operating Systems
Knowledge Discovery from Data
Database Management Systems Implementation
Advanced Rendering Techniques
Computer Animation
Real-Time 3D Computer Graphics Software
Scientific and Information Visualization
Current Topics in Computer Graphics
Artificial Intelligence
Knowledge Based Systems
Speech and Language Processing
Human-Computer Interaction Theory and Design
Deep Learning
Cooperative Education Experience
Research Senior Project I
and Research Senior Project II
Software Engineering I
Software Engineering II
Computer Architecture
Computer Security
Advanced Network Security
Languages and Translators
Theory of Computation II
Advanced Algorithm Design and Analysis
Operating Systems
Database Systems
Computer Networks: Research Topics
Topics in Advanced Data Mining
Computer Graphics
Artificial Intelligence
Computer Support for Knowledge Management
Computational Linguistics
Advanced Deep Learning
Computer Architecture
Autonomous Mobile Robotics
Advanced Computer Networks
Introduction to Data Science
Up to 4 units may be taken from the Approved External Electives listed below:
Introduction to Aerospace Systems Engineering
The Art of Mixed Reality
Digital 3D Modeling and Design
Introduction to Entrepreneurship
Organic Chemistry I
Organic Chemistry II
Organic Chemistry III
Organic Chemistry: Fundamentals and Applications
Econometrics
Electric Circuit Theory
and Electric Circuits Laboratory
Introduction to Communication Systems
Microprocessor System Design
Introduction to Remote Sensing
Sustainable Environmental Engineering
Operations Research I
Manufacturing Automation
Software Product Management
The Industrial Internet of Things
Linear Algebra I
Differential Equations I
Methods of Proof in Mathematics
Theory of Numbers
Mathematical Software
Introduction to Analysis I
Engineering Statics
Engineering Dynamics
Mechatronics
Epistemology
Philosophy of Mind
Modern Physics I
Research Methods in Psychology
Quantitative Research Methods for the Behavioral Sciences
Cognition
Introduction to Probability and Simulation
Design and Analysis of Experiments I
Applied Regression Analysis
Statistical Computing with SAS
Statistical Computing with R
Applied Linear Models
Statistical Analysis of Time Series
Categorical Data Analysis
Applied Multivariate Statistics
Statistical Learning: Methods and Applications
Total units16

General Education (GE) Requirements

  • 72 units required, 36 of which are specified in Major and/or Support.
  • If any of the remaining 36 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: A1 (Oral Communication), A2 (Written Communication), A3 (Critical Thinking), and B4 (Mathematics/Quantitative Reasoning). 
Area AEnglish Language Communication and Critical Thinking
A1Oral Communication4
A2Written Communication4
A3Critical Thinking4
Area BScientific Inquiry and Quantitative Reasoning
B1Physical Science (4 units in Support) 10
B2Life Science (4 units in Support) 10
B3One lab taken with either a B1 or B2 course
B4Mathematics/Quantitative Reasoning (8 units in Support) 10
Upper-Division B (4 units in Support) 10
Area B Electives (8 units in Support) 10
Area CArts and Humanities
Lower-division courses in Area C must come from three different subject prefixes.
C1Arts: Arts, Cinema, Dance, Music, Theater4
C2Humanities: Literature, Philosophy, Languages other than English (4 units in Support) 10
Lower-Division C Elective - Select a course from either C1 or C2.4
Upper-Division C4
Area DSocial Sciences
D1American Institutions (Title 5, Section 40404 Requirement)4
Area D Elective - Select either a lower-division D2 or upper-division D course.4
Area ELifelong Learning and Self-Development
Lower-Division E (4 units in Support) 10
Area FEthnic Studies
F Ethnic Studies4
Total units36