Software Engineering Minor

Have a major impact on the world by minoring in software engineering. A minor in software engineering can dramatically expand your career opportunities. A recent article ranked software engineering as the number one best job based on factors like starting income level, job outlook and stress levels.

With a minor in software engineering you can combine your subject matter expertise from your major with the skills and knowledge of software development and have a dynamic combination, opening more doors and making you more competitive in the job market.

Program Enrollment and Degree Data

Software Engineering Minor Requirements (19 units)


Choose one of the following:

CIS268 Computer Programming Languages

In this course concepts of computer programming languages are presented. Attention is given to the common constructs of programming languages as well as a structured approach to program development. The programming language may change from semester to semester. (3 units; Spring)

EGR121 Intro Computer Programming C++

Introduction to computer science. Covers problem solving methods and algorithm development; modern programming methodologies; and fundamentals of high-level block structured language using C++. Prerequisite: MAT 115 and his/her demonstrable computer literacy. Prerequisite: EGR 181 or MAT 115. (3 units; Interdisciplinary; Fall/Spring)

Han, Mi_Kyung
09/03/2019 TTh 2:00 PM - 3:00 PM Engineering ONLN
Shade, Karen S
09/03/2019 MWF 3:45 PM - 4:45 PM Engineering 107
Kolta, Michael J.
09/03/2019 MWF 2:30 PM - 3:30 PM Engineering 107
Kolta, Michael J.
09/03/2019 MWF 9:30 AM - 10:30 AM Engineering 119
Kolta, Michael J.
09/03/2019 MWF 8:15 AM - 9:15 AM Engineering 107
Shade, Karen S
09/03/2019 MWF 1:15 PM - 2:15 PM Engineering 107

Lower Division Requirements

EGR221 Data Structures

Develops discipline in program design, style, debugging, testing. Examines linked data structures, trees, introduction to graphs, and recursion. Prerequisite: CIS268 or EGR 121. (3 units; Fall)

EGR222 Software Engineering

Overview of the software development process. Includes requirements, design, construction, and testing of software. Software project planning. Analysis, architecture, and design of software systems using UML. Evaluating designs. Implementing designs using appropriate data structures, frameworks, and APIs. Prerequisite: CIS 268 or EGR 121. (3 units; Fall)

Han, Mi_Kyung
09/03/2019 MW 1:15 PM - 2:15 PM Engineering ONLN
Han, Mi_Kyung
09/03/2019 MW 10:45 AM - 11:45 AM Engineering ONLN

Upper Division Requirements

EGR325 Database Systems

Overview of current database technologies with an emphasis on relational database technology. Introduction to database design, entity relationship diagraming, structured query language, and stored procedures. Prerequisite: EGR 222. (3 units; Spring)

EGR327 Software Construction

Coverage of software construction fundamentals including minimizing complexity, anticipating change, and constructing for verification. Discussion will include best practices like patterns, object orientated programming and agility. Management of the construction process and accounting for practical considerations will also be examined. Prerequisites: EGR 221 and 222. (3 units; Fall)

Im, Kyungsoo
09/03/2019 MW 1:15 PM - 2:15 PM Engineering ONLN

EGR491 Research Project

This special registration permits the completion of upper division degree requirements for transfer or other students, program requirement changes, or other special circumstances in which students have partial but not full credit toward a specific degree requirement. It also provides the opportunity for recognition of supervised academic experiences that are not included in traditional curriculum. Registration requires approval by the dean and sponsoring faculty member. The determination of degree credits is at the time of registration. Prerequisite: EGR 101 and Permission of the Dean. (1-3 units; Fall)

Kong, Seong Deok
09/03/2019 MW 10:30 AM - 12:00 PM Engineering 228
Park, Joshua James
09/03/2019 M 12:00 PM - 3:30 PM Engineering 228

Upper Division Software Engineering Elective Requirement

Complete one of the following:

EGR423 Mobile Applications Development

Investigation of mobile operating systems and associated software development environments. Consideration of unique constraints and techniques for creating software designed for mobile devices. Design and development of a mobile application. Prerequisite: EGR 327. (3 units; Fall)

Kolta, Michael J.
09/03/2019 TTh 10:30 AM - 12:00 PM Engineering 302

EGR424 Web Applications Development

The design and development of data driven web applications. The integration and exploitation of HTML, JavaScript, server-side programming languages and database technology. Prerequisite: EGR 325. (3 units; Spring)

EGR425 Real Time and Embedded Develpmnt

Focus on Programming real-time applications on an embedded platform running a real-time operating system (RTOS). Consideration will be given to cross-compiled software development, embedded system debugging, multitasking, real-time scheduling, inter-task communication, software design for deterministic execution time, software performance analysis and optimization, device drivers. Prerequisites: EGR 222 and 327. (3 units; Spring)

Complete three additional upper division units in software engineering from the following: EGR 320, 323, 324, 326, 329, 423, 424, 425, 427.

NOTE: EGR 121, CIS 268 or instructor approval required for enrollment in EGR 221.

NOTE: Two units for EGR 491 required for Electrical and Computer Engineering majors.