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 31 | I&C SCI 32 | I&C SCI 33 |
MATH 2A | MATH 2B | IN4MATX 43 |
WRITING 40 | WRITING 50 | I&C SCI 6B |
General Education III | WRITING 60 | |
Sophomore | ||
Fall | Winter | Spring |
I&C SCI 45C | I&C SCI 46 | COMPSCI 143A |
I&C SCI 51 | IN4MATX 113 | STATS 67 |
I&C SCI 6D | I&C SCI 6N | General Education III |
General Education III/VII | IN4MATX 131 | General Education IV/VIII |
Junior | ||
Fall | Winter | Spring |
I&C SCI 45J | COMPSCI 132 | COMPSCI 161 |
IN4MATX 115 | General Education IV | IN4MATX 124 |
IN4MATX 121 | IN4MATX 122 | General Education IV |
IN4MATX 101 | IN4MATX 151 | |
Senior | ||
Fall | Winter | Spring |
COMPSCI 122A | IN4MATX 191B | Software Engineering Elective |
IN4MATX 191A | I&C SCI 139W | Software Engineering Elective |
Software Engineering Elective | Software Engineering Elective | General 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.