2024-25 Edition

Software Engineering, B.S.

The Software Engineering major gives students a strong foundation in software engineering as well as a solid basis in computer science. Students who complete the major will be able to be productive members of software engineering teams in a variety of application domains including, but not restricted to, Web and mobile applications. The acquired technical knowledge and appreciation for life-long learning, combined with the ability to place software in the social context in which it is developed, empowers students to create novel applications that have the potential to bring social change.

Freshman Applicants: See the Undergraduate Admissions section.

Transfer Applicants:

Transfer applicants who satisfactorily complete course prerequisites will be given preference for admission. All applicants must complete the following required courses: one year of approved calculus, one year of object-oriented programing (python, java, C++), additional courses as specified by the major, and completion of lower-division writing. Students are encouraged to complete as many of the lower-division degree requirements as possible prior to transfer. Visit the UCI Office of Admissions website for information on transfer requirements for our major.

All students must meet the University Requirements.
Lower-division
A. Select one of the following series:
Introduction to Programming
and Programming with Software Libraries
and Intermediate Programming
or
Python Programming and Libraries (Accelerated)
and Intermediate Programming
B. Complete:
I&C SCI 45C Programming in C/C++ as a Second Language
I&C SCI 45J Programming in Java as a Second Language
I&C SCI 46 Data Structure Implementation and Analysis
I&C SCI 51 Introductory Computer Organization
IN4MATX 43 Introduction to Software Engineering
MATH 2A- 2B Single-Variable Calculus I
and Single-Variable Calculus II
I&C SCI 6B Boolean Logic and Discrete Structures
I&C SCI 6D Discrete Mathematics for Computer Science
I&C SCI 6N Computational Linear Algebra
or MATH 3A Introduction to Linear Algebra
STATS 67 Introduction to Probability and Statistics for Computer Science
Upper-division
A. Core Requirements
COMPSCI 122A Introduction to Data Management
COMPSCI 143A Principles of Operating Systems
COMPSCI 132 Computer Networks
COMPSCI 161 Design and Analysis of Algorithms
IN4MATX 101/COMPSCI 141 Concepts in Programming Languages I
IN4MATX 113 Requirements Analysis and Engineering
IN4MATX 115 Software Testing, Analysis, and Quality Assurance
IN4MATX 131 Human Computer Interaction
IN4MATX 121 Software Design: Applications
IN4MATX 122 Software Design: Structure and Implementation
IN4MATX 124 Internet Applications Engineering
IN4MATX 151 Project Management
IN4MATX 191A Senior Design Project
IN4MATX 191B Senior Design Project
I&C SCI 139W Critical Writing on Information Technology
B. Select four of the following:
Concepts of Programming Language II
Computer Game Development
Project in Human-Computer Interaction Requirements and Evaluation
User Interaction Software
Project in User Interaction Software
Information Retrieval
Information Visualization
Project in Ubiquitous Computing
Social Analysis of Computing
Advanced Computer Networks
Computer and Network Security
Compilers and Interpreters
Language Processor Construction
Embedded Software
Programming in Multitasking Operating Systems
Project in Algorithms and Data Structures
Multiplayer Game Systems
Multiplayer Game Project
Software Engineering elective courses may not be counted as part of the Management minor.
Freshman
Fall Winter Spring
I&C SCI 31I&C SCI 32I&C SCI 33
MATH 2AMATH 2BIN4MATX 43
WRITING 40WRITING 50I&C SCI 6B
 General Education IIIWRITING 60
Sophomore
Fall Winter Spring
I&C SCI 45CI&C SCI 46COMPSCI 143A
I&C SCI 51IN4MATX 113STATS 67
I&C SCI 6DI&C SCI 6NGeneral Education III
General Education III/VIIIN4MATX 131General Education IV/VIII
Junior
Fall Winter Spring
I&C SCI 45JCOMPSCI 132COMPSCI 161
IN4MATX 115General Education IVIN4MATX 124
IN4MATX 121IN4MATX 122General Education IV
IN4MATX 101IN4MATX 151 
Senior
Fall Winter Spring
COMPSCI 122AIN4MATX 191BSoftware Engineering Elective
IN4MATX 191AI&C SCI 139WSoftware Engineering Elective
Software Engineering ElectiveSoftware Engineering ElectiveGeneral Education VI
General Educaiton III  
NOTES:

1. Students are advised that this sample program lists the minimum requirements; it is possible that students may have to take additional courses to prepare for required courses.

2. The lower-division writing requirement must be completed by the end of the seventh quarter at UCI.

3. This is only a sample plan. Course offerings may be moved due to unforeseen circumstances. It is strongly recommended that students meet with an academic advisor to create an academic plan tailored to meet their specific areas of interest.

4. Please pay close attention to course prerequisites while creating your academic plan. For example, IN4MATX 124 requires COMPSCI 132 and COMPSCI 132 requires STATS 67 .

5. In order to meet the prerequisites of the senior design project sequence, students should first complete the upper-division core requirements.