Software Engineering Minor

Why a Minor in Software Engineering?

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)

Corso, Anthony J.
01/10/2018 MWF 8:15 AM - 9:15 AM Yeager Center B113

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)

Kolta, Michael J.
01/10/2018 MWF 3:45 PM - 4:45 PM Engr Building 3739 Adams 100J
Xu, Xuping
01/10/2018 MWF 8:15 AM - 9:15 AM Engr Building 3739 Adams 100J
Im, Kyungsoo
01/10/2018 MWF 10:45 AM - 11:45 AM Engr Building 3739 Adams 100J
Kolta, Michael J.
01/10/2018 MWF 9:30 AM - 10:30 AM Engr Building 3739 Adams 210D

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)

Xu, Xuping
01/10/2018 MWF 9:30 AM - 10:30 AM Engr Building 3739 Adams 110D
Perkins, Arlene Louise
01/10/2018 TTh 10:30 AM - 12:00 PM Engr Building 3739 Adams 211Q

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)

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)

Clement, Larry W.
01/10/2018 TTh 10:30 AM - 12:00 PM BUS 253

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)

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)

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)

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)

Mumme, Malcolm A.
01/10/2018 - Online

EGR425 Real Time & Embedded Development

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)

Im, Kyungsoo
01/10/2018 M 3:45 PM - 5:45 PM Engr Building 3739 Adams ONLN

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.