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 CareerCast.com 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)

Prerequisite

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)

CIS268-A
Corso, Anthony J.
01/13/2020 WF 9:30 AM - 10:30 AM James Complex ONLN

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: EGR 181 or MAT 115. (3 units; Fall/Spring)

EGR121-D
Shade, Karen S
09/03/2019 MWF 3:45 PM - 4:45 PM Engineering 107
EGR121-E
Kolta, Michael J.
09/03/2019 MWF 9:30 AM - 10:30 AM Engineering 119
EGR121-B
Kolta, Michael J.
09/03/2019 MWF 8:15 AM - 9:15 AM Engineering 107
EGR121-F
Han, Mi_Kyung
09/03/2019 TTh 2:00 PM - 3:00 PM Engineering ONLN
EGR121-C
Shade, Karen S
09/03/2019 MWF 1:15 PM - 2:15 PM Engineering 107
EGR121-A
Kolta, Michael J.
09/03/2019 MWF 2:30 PM - 3:30 PM Engineering 107
EGR121-A
Kolta, Michael J.
01/13/2020 MWF 9:30 AM - 10:30 AM Engineering 302
EGR121-D
Xu, Xuping
01/13/2020 MWF 8:15 AM - 9:15 AM Engineering 302
EGR121-B
Kolta, Michael J.
01/13/2020 MWF 3:45 PM - 4:45 PM Engineering 302
EGR121-C
Shade, Karen S
01/13/2020 MWF 9:30 AM - 10:30 AM Engineering 107
EGR121-A
Kolta, Michael J.
09/08/2020 MWF 2:30 PM - 3:30 PM Engineering 107
EGR121-B
Kolta, Michael J.
09/08/2020 MWF 8:15 AM - 9:15 AM Engineering 107
EGR121-C
Shade, Karen S
09/08/2020 MWF 1:15 PM - 2:15 PM Engineering 107
EGR121-D
Shade, Karen S
09/08/2020 MWF 3:45 PM - 4:45 PM Engineering 107
EGR121-E
Kolta, Michael J.
09/08/2020 MWF 9:30 AM - 10:30 AM Engineering 119
EGR121-F
Han, Mi_Kyung
09/08/2020 TTh 2:00 PM - 3:00 PM Engineering ONLN

Lower Division Requirements

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)

EGR222-A
Han, Mi_Kyung
09/03/2019 MW 1:15 PM - 2:15 PM Engineering ONLN
EGR222-B
Han, Mi_Kyung
09/03/2019 MW 10:45 AM - 11:45 AM Engineering ONLN
EGR222-A
Han, Mi_Kyung
01/13/2020 TTh 9:15 AM - 10:15 AM Engineering ONLN
EGR222-A
Han, Mi_Kyung
09/08/2020 MW 1:15 PM - 2:15 PM Engineering ONLN
EGR222-B
Han, Mi_Kyung
09/08/2020 MW 10:45 AM - 11:45 AM Engineering ONLN

EGR227 Data Structures and Analysis

Fundamental data structures for implementation and analysis. Techniques for solving problems by programming. Analysis for complexity and performance trade-offs. Topics include object oriented design, debugging, abstract data types (ADTs), recursion, big-O notation, interfaces, inheritance, and encapsulation, linked lists, stacks, queues, hash tables, heap, trees, searching, sorting. Prerequisite: EGR 222. (3 units; Spring)

EGR227-B
Han, Mi_Kyung
01/13/2020 TTh 10:30 AM - 12:00 PM Engineering 203
EGR227-A
Han, Mi_Kyung
01/13/2020 TTh 12:15 PM - 1:45 PM Engineering 104

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)

EGR325-A
Clement, Larry W.
01/13/2020 TTh 12:15 PM - 1:45 PM Engineering 221

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)

EGR327-A
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. Prerequisites: EGR 101 and Permission of the Dean. (1-3 units; Fall)

EGR491-D
Kong, Seong Deok
09/03/2019 MW 10:30 AM - 12:00 PM Engineering 228
EGR491-F
Clark, Daniel Eugene
09/03/2019 - Online
EGR491-E
Si, Xiuhua April
09/03/2019 - Online
EGR491-B
Park, Joshua James
09/03/2019 M 12:00 PM - 3:30 PM Engineering 228
EGR491-C
Zhao, Xueyan Sarah
01/13/2020 - Online
EGR491-B
Corso, Anthony J.
01/13/2020 MWF 8:15 AM - 9:15 AM Engineering 129

Upper Division Elective Requirements

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)

EGR423-A
Kolta, Michael J.
09/03/2019 TTh 5:30 PM - 7:00 PM Engineering 303

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)

EGR424-A
Kim, Mark Sun
01/13/2020 M 4:00 PM - 7:00 PM Engineering 203

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)

EGR425-A
Im, Kyungsoo
01/13/2020 MW 1:15 PM - 2:15 PM Engineering ONLN

Complete one of the following:

EGR323 Sftwr Req, Analysis and Testing

This course covers techniques for discovering and eliciting requirements using languages and models for representing requirements, analysis, and validation techniques, including need, goal, and use case analysis, requirements in the context of system engineering, and requirements documentation standards. With a focus on traceability, human factors, and requirements management, software change requests become manageable. Quality assurance, verification, inspections, and reviews of the requirements proceed using statistical approaches to quality control. Prerequisite: EGR 222. (4 units; Spring)

EGR323-A
Kolta, Michael J.
01/13/2020 Th 3:45 PM - 6:45 PM Engineering ONLN

EGR324 Engineering Economics

Economic concepts of supply, demand, and production; cost-benefit analysis and break-even analysis; return on investment; analysis of options; time value of money; management of money: economic analysis, accounting for risk applied to the engineering process. (3 units; Fall/Spring)

EGR324-A
Im, Kyungsoo
09/03/2019 MW 10:45 AM - 11:45 AM Engineering ONLN
EGR324-B
Im, Kyungsoo
09/03/2019 MW 9:30 AM - 10:30 AM Engineering ONLN
EGR324-A
Peters, Kim Y.
01/13/2020 TTh 10:30 AM - 12:00 PM Engineering 104

EGR326 Software Design and Architecture

An in-depth look at software design. Study of design patterns, frameworks, and architectures. Survey of current middleware architectures. Component based design. Measurement theory and appropriate use of metrics in design. Designing for qualities such as performance, safety, security, reusability, reliability, etc. Measuring internal qualities and complexity of software. Evaluation and evolution of designs. Basics of software evolution, reengineering, and reverse engineering. Prerequisite: EGR 327. (3 units; Spring)

EGR326-A
Peters, Kim Y.
01/13/2020 TTh 2:00 PM - 3:30 PM Engineering 216

EGR329 Computer Architecture

Introduces students to the organization and architecture of computer systems, beginning with the standard von Neumann model and then moving forward to more recent architectural concepts. Introduction to assembly language programming. Prerequisites: EGR 121 and 225. (3 units; Fall)

EGR329-A
Sanders, Benjamin L.
09/03/2019 MWF 9:30 AM - 10:30 AM Engineering 221

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)

EGR423-A
Kolta, Michael J.
09/03/2019 TTh 5:30 PM - 7:00 PM Engineering 303

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)

EGR424-A
Kim, Mark Sun
01/13/2020 M 4:00 PM - 7:00 PM Engineering 203

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)

EGR425-A
Im, Kyungsoo
01/13/2020 MW 1:15 PM - 2:15 PM Engineering ONLN

EGR427 Software Project Management

Project planning, cost estimation and scheduling. Project management tools. Analysis of options and risks. Release and configuration management. Software process standards and process implementation. Approaches to maintenance and long-term software development. Prerequisite: EGR 222. (3 units; Fall)

EGR427-A
Peters, Kim Y.
09/03/2019 MWF 10:45 AM - 11:45 AM Engineering 229