Software Engineering and App Development Minor

The software engineering and app development minor at CBU (18 units) is designed to prepare students to add software engineering skills to their existing major so that they can build functional and modern computing solutions and applications to solve problems in their field of expertise. While not a “boot camp,” the software engineering and app development minor is designed to help engineering and non-engineering majors learn the essential skills to build mobile, web and cloud apps as quickly as possible.

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/05/2023 TTh 10:30 AM - 12:00 PM Engineering 221
EGR222-B
Clement, Larry W.
09/05/2023 TTh 8:45 AM - 10:15 AM Engineering 221
EGR222-B
STAFF, STAFF
01/08/2024 MWF 3:45 PM - 4:45 PM Engineering 119
EGR222-A
Clement, Larry W.
01/08/2024 TTh 8:45 AM - 10:15 AM Engineering 221

 

Complete one of the following courses:

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/05/2023 WF 9:30 AM - 10:30 AM Engineering ONLN
CIS268-A
Corso, Anthony J.
01/08/2024 WF 9:30 AM - 10:30 AM Engineering 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-E
Kim, Mark Sun
09/05/2023 MWF 3:45 PM - 4:45 PM Engineering 107
EGR121-B
Shade, Karen S
09/05/2023 MWF 8:15 AM - 9:15 AM Engineering 107
EGR121-A
Kim, Mark Sun
09/05/2023 MWF 2:30 PM - 3:30 PM Engineering 107
EGR121-C
Shade, Karen S
09/05/2023 MWF 1:15 PM - 2:15 PM Engineering 107
EGR121-D
Shade, Karen S
09/05/2023 MWF 9:30 AM - 10:30 AM Engineering 214
EGR121-A
Shade, Karen S
01/08/2024 MWF 10:45 AM - 11:45 AM Engineering 119
EGR121-D
Shade, Karen S
01/08/2024 MWF 8:15 AM - 9:15 AM Engineering 119
EGR121-C
Shade, Karen S
01/08/2024 MWF 2:30 PM - 3:30 PM Engineering 119
EGR121-B
STAFF, STAFF
01/08/2024 MWF 3:45 PM - 4:45 PM Engineering 301

Upper Division Requirements

 

CSC321 Web Application 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 222. (3 units; Spring)

CSC321-A
Knisley, Benjamin David
01/08/2024 TTh 5:30 PM - 7:00 PM Instructor OFFC

CSC322 Mobile Application 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 several mobile applications targeted at the primary mobile operating systems. Prerequisite: EGR 222 (3 units; Fall)

CSC322-A
Grissom, Daniel T.
09/05/2023 TTh 2:00 PM - 3:30 PM Engineering 229

EGR302 Engnrng Design and Documentation

Team design of industrial or self-designed projects. Requires the design and development of a process or product with oral and written reports. Includes a review and analysis of professional papers. Pre- or Co- Requisites: EGR 102 and one of the following: CSC 321, 322, or EGR 305. (3 units; Spring)

EGR302-G
Zhao, Xueyan Sarah
01/08/2024 WF 1:15 PM - 2:45 PM Engineering 224
EGR302-E
Rickard, Matthew J.
01/08/2024 TTh 12:15 PM - 1:45 PM Engineering 228
EGR302-A
Butler, John Stephen
01/08/2024 TTh 8:45 AM - 10:15 AM Engineering 106
EGR302-B
Grissom, Daniel T.
01/08/2024 TTh 8:45 AM - 10:15 AM Engineering 229
EGR302-F
Grissom, Daniel T.
01/08/2024 TTh 10:30 AM - 12:00 PM Engineering 203
EGR302-D
van Haaster, Philip Andrew
01/08/2024 TTh 12:15 PM - 1:45 PM Engineering 119
EGR302-C
Si, Xiuhua April
01/08/2024 TTh 10:30 AM - 12:00 PM Engineering 107

Upper Division Elective Requirements

 

Complete three (3) upper division units from the following:

CSC323 Cloud Comp and App Devel

Investigation of modern cloud computing platforms and the practice of creating scalable software solutions that utilize essential cloud computing products like serverless computing, serverless key-value NOSQL databases, cloud storage, publisher/subscriber messaging, identity access and permissions management, machine learning (ML) integration, etc. Prerequisite: EGR 226. (3 units; Spring)

CSC422 Machine and Deep Learning

This course covers introductory machine learning topics including supervised and unsupervised learning, linear and logistic regression, support vector machines, neural networks (MLPs, CNNs, RNNs, GANs) and more. Coursework includes instruction and programming assignments in algorithmic implementations and high-level library usage. Students also apply machine learning techniques to a unique research project. Prerequisites: EGR 121 or CIS 268, and one of the following: EGR 305, MAT 353, STA 144, 310, or one additional, approved statistic course. (3 units; Fall)

CSC431 InfoSecurityAndComptrForensics

This course provides an introduction to the field of Security in computing. Topics include common security standards and policies, cryptography and information security, access controls, attacks and countermeasures, and computer forensics. Prerequisite: EGR222 (3 units; Fall)

CSC431-A
Knisley, Benjamin David
09/05/2023 TTh 3:45 PM - 5:15 PM Instructor OFFC

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
Knaster, Andrew Gregg
01/08/2024 TTh 5:30 PM - 7:00 PM Instructor ONLN

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: CIS 268 or EGR 121. (3 units; Spring)

EGR325-A
Clement, Larry W.
01/08/2024 TTh 3:45 PM - 5:15 PM Engineering 104
EGR325-B
Clement, Larry W.
01/08/2024 TTh 2:00 PM - 3:30 PM Engineering 104

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
Knaster, Andrew Gregg
09/05/2023 TTh 3:45 PM - 5:15 PM Instructor OFFC

**CSC 323 and 422 each require additional prerequisites