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

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.
09/07/2021 WF 8:15 AM - 9:15 AM Engineering ONLN
CIS268-A
Corso, Anthony J.
01/10/2022 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 & OPS)

EGR121-D
STAFF, STAFF
09/07/2021 MWF 3:45 PM - 4:45 PM Engineering 107
EGR121-F
Kim, Mark Sun
09/07/2021 MWF 10:45 AM - 11:45 AM Engineering 119
EGR121-A
STAFF, STAFF
09/07/2021 MWF 2:30 PM - 3:30 PM Engineering 107
EGR121-B
Kim, Mark Sun
09/07/2021 MWF 8:15 AM - 9:15 AM Engineering 107
EGR121-C
Kim, Mark Sun
09/07/2021 MWF 1:15 PM - 2:15 PM Engineering 107
EGR121-E
Shade, Karen S
09/07/2021 MWF 9:30 AM - 10:30 AM Engineering 302
EGR121-A
Shade, Karen S
01/10/2022 MWF 9:30 AM - 10:30 AM Engineering 302
EGR121-B
Kim, Mark Sun
01/10/2022 MWF 3:45 PM - 4:45 PM Engineering 302
EGR121-C
Kim, Mark Sun
01/10/2022 MWF 1:15 PM - 2:15 PM Engineering 107
EGR121-D
Xu, Xuping
01/10/2022 MWF 8:15 AM - 9:15 AM Engineering 302

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
Clement, Larry W.
09/07/2021 TTh 10:30 AM - 12:00 PM Engineering 221
EGR222-B
Clement, Larry W.
09/07/2021 TTh 8:45 AM - 10:15 AM Engineering 221
EGR222-A
Clement, Larry W.
01/10/2022 TTh 8:45 AM - 10:15 AM Engineering 104

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-A
Knisley, Benjamin David
09/07/2021 MWF 3:45 PM - 4:45 PM Engineering 221
EGR227-A
Knisley, Benjamin David
01/10/2022 TTh 12:15 PM - 1:45 PM Engineering 104
EGR227-B
Knisley, Benjamin David
01/10/2022 TTh 10:30 AM - 12:00 PM Engineering 305

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/10/2022 TTh 12:15 PM - 1:45 PM Engineering 229
EGR325-B
Clement, Larry W.
01/10/2022 TTh 10:30 AM - 12:00 PM Engineering 229

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 222 and 227. (3 units; Fall)

EGR327-A
STAFF, STAFF
09/07/2021 MWF 1:15 PM - 2:15 PM Engineering 221

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-A
Nalbandian, Michael J.
09/07/2021 - Engineering 222
EGR491-C
Knisley, Benjamin David
01/10/2022 - Online
EGR491-B
Ni, Liya
01/10/2022 - Online
EGR491-A
Zhao, Xueyan Sarah
01/10/2022 - Online

Upper Division Elective Requirements

 

Complete three (3) upper division units in software engineering from 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. Prerequisites: EGR 325 and 327. (3 units; Fall)

EGR423-A
Grissom, Dan
09/07/2021 MWF 9:30 AM - 10:30 AM Engineering 229

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/10/2022 T 5:45 PM - 8:45 PM Engineering 229

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
STAFF, STAFF
01/10/2022 MW 1:15 PM - 2:15 PM Engineering ONLN

 

Additional Upper Division Elective Requirement

Complete three (3) additional upper division units in software engineering from 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
STAFF, STAFF
01/10/2022 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-B
Im, Kyungsoo
09/07/2021 MWF 9:30 AM - 10:30 AM CBU Virtual SYNC
EGR324-A
Im, Kyungsoo
09/07/2021 MWF 10:45 AM - 11:45 AM CBU Virtual SYNC
EGR324-A
Kim, Mark Sun
01/10/2022 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
STAFF, STAFF
01/10/2022 TTh 2:00 PM - 3:30 PM Engineering 203

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-B
Grissom, Dan
09/07/2021 TTh 8:45 AM - 10:15 AM Engineering 107
EGR329-A
Grissom, Dan
09/07/2021 TTh 12:15 PM - 1:45 PM 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. Prerequisites: EGR 325 and 327. (3 units; Fall)

EGR423-A
Grissom, Dan
09/07/2021 MWF 9:30 AM - 10:30 AM Engineering 229

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/10/2022 T 5:45 PM - 8:45 PM Engineering 229

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
STAFF, STAFF
01/10/2022 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
Grissom, Dan
09/07/2021 MWF 10:45 AM - 11:45 AM Engineering 229