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
Select from the following:4
Accelerated Introduction to Computer Science
Data Structures
CSC/CPE 123Introduction to Computing 14
CSC/CPE 203Project-Based Object-Oriented Programming and Design4
CSC 225Introduction to Computer Organization4
CSC 300Professional Responsibilities4
CSC 305Individual Software Design and Development4
CSC 308Software Engineering I4
CSC 309Software Engineering II4
CSC 348Discrete Structures4
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
Select Technical Electives based on guidelines below 2, 316
SUPPORT COURSES
ENGL 149Technical Writing for Engineers (A3) 44
IME 314Engineering Economics3
or IME 315 Financial Decision Making for Engineers
MATH 141Calculus I (B1) 44
MATH 142Calculus II (B1) 44
MATH 143Calculus III (Add'l Area B) 44
MATH 241Calculus IV4
MATH 244Linear Analysis I4
PSY 201/202General Psychology (E) 44
PSY 350Teamwork4
or COMS 217 Small Group Communication
STAT 312Statistical Methods for Engineers (B6) 44
Life Science Support Electives:
Select from the following: 44-5
General Biology (B2 & B4)
Introduction to Cell and Molecular Biology (B2 & B4)
Life Science for Engineers
and Bioengineering Fundamentals (B2)
General Botany (B2 & B4)
Microbiology (B2 & B4)
General Microbiology I (B2 & B4)
Mathematics Support Electives:
Select from the following:4
Methods of Proof in Mathematics
Vector Analysis
Graph Theory
Combinatorial Math
Numerical Analysis I
Physical Science Support Electives
Select one of the following series: 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 IA
and General Physics II
and General Physics III
GENERAL EDUCATION (GE)
(See GE program requirements below.)36
FREE ELECTIVES
Free Electives0
Total units183-184

Technical Electives Guidelines

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

Contact the CSC Department for further information.

Select Technical Electives from the following: 1,2
Personal Software Process
Teaching Computing
Introduction to Computer Security
Cryptography Engineering
Introduction to Privacy: Policy and Technology
Music Programming
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
Network and Web Security
Software Security
Current Topics in Computer Security
Compiler Construction
Introduction to Object Oriented Design Using Graphical User Interfaces
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
Current Topics in Human-Computer Interaction
Human-Computer Interaction Theory and Design
Deep Learning
Current Topics in Artificial Intelligence
Selected Advanced Topics 2
Selected Advanced Laboratory 2
Research Senior Project I
and Research Senior Project II
Software Engineering I
Software Engineering II
Computer Architecture
Computer Security
Languages and Translators
Theory of Computation II
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
Computer Architecture
Special Problems for Undergraduates 2
Autonomous Mobile Robotics
Applied Parallel Computing
Computer Vision
Introduction to Computer Networks
Advanced Computer Networks
Advanced Topics in Systems for Computer Engineering
Autonomous Robot Navigation
Microelectronics and Electronics Packaging
Introduction to Data Science
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 and CSC 348) or
2) Another technical elective
Select from the following:
Introduction to Privacy: Policy and Technology
Database Modeling, Design and Implementation
Current Topics in Software Engineering
Software Evaluation
Network and Web Security
Software Security
Current Topics in Computer Security
Compiler Construction
Introduction to Object Oriented Design Using Graphical User Interfaces
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
Knowledge Based Systems
Speech and Language Processing
Current Topics in Human-Computer Interaction
Human-Computer Interaction Theory and Design
Deep Learning
Current Topics in Artificial Intelligence
Research Senior Project I
and Research Senior Project II
Software Engineering I
Software Engineering II
Computer Architecture
Computer Security
Languages and Translators
Theory of Computation II
Operating Systems
Database Systems
Computer Networks: Research Topics
Topics in Advanced Data Mining
Computer Graphics
Artificial Intelligence
Computer Support for Knowledge Management
Computational Linguistics
Autonomous Mobile Robotics
Advanced Computer Networks
Up to 4 units may be taken from the approved external electives listed below:
Introduction to Aerospace Systems Engineering
Digital 3D Modeling and Design
Introduction to Entrepreneurship
Organic Chemistry I
Organic Chemistry II
Organic Chemistry III
Survey of Organic Chemistry
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
Linear Algebra I
Differential Equations I
Methods of Proof in Mathematics
Vector Analysis
Theory of Numbers
Mathematical Software
Introduction to Analysis I
Engineering Statics
Engineering Dynamics
Mechatronics
Epistemology
Philosophy of Mind
Research Methods in Psychology
Quantitative Research Methods for the Behavioral Sciences
Cognition
Applied Experimental Design and Regression Models
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.
  • See the complete GE course listing.
  • Minimum of 8 units required at the 300 level.
Area ACommunication
A1Expository Writing4
A2Oral Communication4
A3Reasoning, Argumentation and Writing (4 units in Support) 10
Area BMath, Science, and Quantitative Reasoning
B1Mathematics/Statistics (8 units in Support)0
B2Life Science (4 units in Support) 10
B3Physical Science (4 units in Support) 10
B4One lab taken with either a B2 or B3 course
B6Upper-division Area B (4 units in Support) 10
Additional Area B units (8 units in Support) 10
Area CArts and Humanities
C1Literature4
C2Philosophy4
C3Fine/Performing Arts4
C4Upper-division elective4
Area DSociety and the Individual
D1The American Experience (Title 5, Section 40404 requirement) (40404)4
D2Political Economy4
D3Comparative Social Institutions4
Area ELifelong Learning and Self-Development
ELower-division elective (4 units in Support) 10
Total units36