Bachelor of Science (BS) in Software Engineering
What Is a Software Engineering Degree?
Grand Canyon University’s Bachelor of Science in Software Engineering degree program teaches students how to use state-of-the-art engineering, business and computer science practices and technologies to find solutions for complex software issues. Through GCU’s courses, students will develop strong communication skills and learn to work collaboratively in a multidisciplinary team environment. Leadership capabilities will also be explored by collaborating effectively with others, recognizing various leadership styles and examining the consequences of choice. In addition, a strong emphasis is placed on embedded systems, IoT and MLOps. This program helps prepare students to lead and work within the various stages of the Software Development Life Cycle (SDLC).
A large focus of GCU’s Bachelor of Science in Software Engineering program is personal growth. Students are expected to grow both professionally and intellectually, as well as learn to adapt to environmental, technical and organizational changes through group-study and self-study. This program will teach students how to show clarity and logic in thought by asking questions and pursuing knowledge based on historical, current and reliable information in the engineering and computer science fields.
What Skills Should a Software Engineer Have?
Software engineers concentrate on how a software project is performing by:
- Being knowledgeable of every phase in the Software Development Life Cycle (SDLC)
- Understanding how to engineer a software solution to complex problems
- Obtaining in-depth knowledge of how software can integrate with and make hardware come to life
- Differentiating software development processes
- Utilizing estimation techniques and measurement
- Exercising strong communication skills across disciplinary lines
- Performing risk management assessments
Software engineers are expected to have technical know-how, verifiable personal accomplishments and experience with utilizing embedded systems, as well as individual and team-based projects. Students in the software engineering degree program should be able to look after complicated systems and contribute to the analysis, design and program development of those systems. Additionally, software engineering students should be proficient with testing tools and methodologies, design patterns, Cloud and IoT integration, MLOps and fault-tolerant systems.
What You’ll Learn With a Bachelor's in Software Engineering
Software engineering courses are taught by experts in their respective fields who share extensive engineering, business and computer science knowledge and experience. This 128-credit program will cover topics including:
- Eliciting project requirements
- Writing algorithms
- Embedded systems
- FPGA design and development
- Software development and deployment
- System verification
- Design and architecture
- Software validation
- Software analysis and the Software Development Life Cycle (SDLC)
Through GCU’s thorough, hands-on curriculum, bachelor's in software engineering students will learn to use their logical and critical thinking skills to produce and maintain IT design, large scale data stores and cloud-based systems. Required courses include chemistry, calculus for science and engineering, physics, computer programming and more. Students are also required to submit a capstone project.
What Job Opportunities Are There for Graduates of a Software Engineering Degree?
Graduates of Grand Canyon University’s Bachelor of Science in Software Engineering program will have demonstrated and applied the software engineering body of knowledge and other state-of-the-art technical practices and technologies to solution for the design, development, validation and implementation of complex software systems.
Graduates may move on to pursue coveted roles within an organization, at any stage of the software development life cycle, including:
- Software developer
- Architectural and engineering manager
- Database architect
- Software quality assurance analyst and tester
- Postsecondary engineering teacher
Graduates of GCU's bachelor's in software engineering degree are prepared to work in a variety of settings including embedded applications development, social media companies, healthcare providers, large corporations, financial institutions and more.
Frequently Asked Questions About Software Engineering Degrees
The length of time it takes to earn a degree in software engineering depends on the program length and the respective college. GCU's bachelor's in software engineering has 128 credits in total, which can be completed as a full-time student in four years.
Earning a degree from a software engineering program is worth it if you have interest in stepping into a technology career within software engineering. The courses taught in GCU's software engineering program cover a range of topics used by experts in their respective fields. This includes the design, creation and maintenance of large-scale IT systems, the Software Development Life Cycle and creation and assembly of embedded systems. These courses help prepare students for careers throughout the software engineering and IT industries.
Graduates with a software engineering degree can pursue various positions within the software engineering and computer science fields. While the U.S. Bureau of Labor Statistics does not provide specific salary information for software engineers, the BLS does state that engineers have a median annual wage of $103,380 as of May 2020.1
1The earnings referenced were reported by the U.S. Bureau of Labor Statistics (“BLS”), Engineers as of May 2020. Due to COVID-19, data from 2020 may be atypical compared to prior years. The pandemic may also impact the predicted future workforce outcomes indicated by the BLS. BLS calculates the median using salaries of workers from across the country with varying levels of education and experience and does not reflect the earnings of GCU graduates as Engineers. It does not reflect earnings of workers in one city or region of the country. It also does not reflect a typical entry-level salary. Median income is the statistical midpoint for the range of salaries in a specific occupation. It represents what you would earn if you were paid more money than half the workers in an occupation, and less than half the workers in an occupation. It may give you a basis to estimate what you might earn at some point if you enter this career. You may also wish to compare median salaries if you are considering more than one career path.
General Education Requirements
General Education coursework prepares Grand Canyon University graduates to think critically, communicate clearly, live responsibly in a diverse world, and thoughtfully integrate their faith and ethical convictions into all dimensions of life. These competencies, essential to an effective and satisfying life, are outlined in the General Education Learner Outcomes. General Education courses embody the breadth of human understanding and creativity contained in the liberal arts and sciences tradition. Students take an array of foundational knowledge courses that promote expanded knowledge, insight, and the outcomes identified in the University's General Education Competencies. The knowledge and skills students acquire through these courses serve as a foundation for successful careers and lifelong journeys of growing understanding and wisdom.
Requirements
Upon completion of the Grand Canyon University's University Foundation experience, students will be able to demonstrate competency in the areas of academic skills and self-leadership. They will be able to articulate the range of resources available to assist them, explore career options related to their area of study, and have knowledge of Grand Canyon's community. Students will be able to demonstrate foundational academic success skills, explore GCU resources (CLA, Library, Career Center, ADA office, etc), articulate strategies of self-leadership and management and recognize opportunities to engage in the GCU community.
Course Options
- UNV-112, Success in Science, Engineering and Technology & Lab: 4
- UNV-103, University Success: 4
- UNV-303, University Success: 4
- UNV-108, University Success in the College of Education: 4
Requirements
Graduates of Grand Canyon University will be able to construct rhetorically effective communications appropriate to diverse audiences, purposes, and occasions (English composition, communication, critical reading, foreign language, sign language, etc.). Students are required to take 3 credits of English grammar or composition.
Course Options
- UNV-104, 21st Century Skills: Communication and Information Literacy: 4
- ENG-105, English Composition I: 4
- ENG-106, English Composition II: 4
Requirements
Graduates of Grand Canyon University will be able to express aspects of Christian heritage and worldview. Students are required to take CWV-101/CWV-301.
Course Options
- CWV-101, Christian Worldview: 4
- CWV-301, Christian Worldview: 4
Requirements
Graduates of Grand Canyon University will be able to use various analytic and problem-solving skills to examine, evaluate, and/or challenge ideas and arguments (mathematics, biology, chemistry, physics, geology, astronomy, physical geography, ecology, economics, theology, logic, philosophy, technology, statistics, accounting, etc.). Students are required to take 3 credits of intermediate algebra or higher.
Course Options
- MAT-154, Applications of College Algebra: 4
- MAT-144, College Mathematics: 4
- PHI-105, 21st Century Skills: Critical Thinking and Problem Solving: 4
- BIO-220, Environmental Science: 4
Requirements
Graduates of Grand Canyon University will be able to demonstrate awareness and appreciation of and empathy for differences in arts and culture, values, experiences, historical perspectives, and other aspects of life (psychology, sociology, government, Christian studies, Bible, geography, anthropology, economics, political science, child and family studies, law, ethics, cross-cultural studies, history, art, music, dance, theater, applied arts, literature, health, etc.). If the predefined course is a part of the major, students need to take an additional course.
Course Options
- HIS-144, U.S. History Themes: 4
- PSY-102, General Psychology: 4
- SOC-100, Everyday Sociology: 4
Required General Education Courses
Course Description
This is the first course of a two-semester introduction to chemistry intended for undergraduates pursuing careers in the health professions and others desiring a firm foundation in chemistry. The course assumes no prior knowledge of chemistry and begins with basic concepts. Topics include an introduction to the scientific method, dimensional analysis, atomic structure, nomenclature, stoichiometry and chemical reactions, the gas laws, thermodynamics, chemical bonding, and properties of solutions. Co-Requisite: CHM-113L.
Course Description
The laboratory section of CHM-113 reinforces and expands learning of principles introduced in the lecture course. Experiments include determination of density, classification of chemical reactions, the gas laws, determination of enthalpy change using calorimetry, and determination of empirical formula. Co-Requisite: CHM-113.
Course Description
This is the second course of a two-semester introduction to chemistry intended for undergraduates pursuing careers in the health professions and others desiring a firm foundation in chemistry. Upon successful completion of this course, students demonstrate knowledge and/or skill in solving problems involving the principles of chemical kinetics, chemical equilibrium, and thermodynamics; understanding chemical reactions using kinetics, equilibrium, and thermodynamics; comparing and contrasting the principal theories of acids and bases; solving equilibrium involving acids, bases, and buffers; describing solubility equilibrium; describing terms associated with electrochemistry and solving problems associated with electrochemistry; and describing fundamentals and applications of nuclear chemistry and organic chemistry. Prerequisites: CHM-113 and MAT-154 or higher. Co-Requisite: CHM-115L.
Course Description
The laboratory section of CHM-115 reinforces and expands learning of principles introduced in the lecture course. Experiments include determination of rate law, examples of Le Châtelier’s principle, the use of pH indicators, buffer preparation, experimental determination of thermodynamic quantities, the use of electrochemical cells, and qualitative and quantitative analysis. Prerequisites: CHM-113L and MAT-154 or higher. Co-Requisite: CHM-115.
Course Description
This course provides a rigorous treatment of the concepts and methods of elementary calculus and its application to real-world problems. Topics include differentiation, optimization, and integration. Software is utilized to facilitate problem analysis and graphing. Prerequisite: MAT-261 or ESG-162/162L.
Course Description
This course reviews the basic principles, tools, and techniques used in computer applications that enable communication, visualization, access to information, learning and entertainment. Students learn the methods of designing, implementing and evaluating techniques for effective communication in a technical, business, education or entertainment context. The laboratory reinforces and expands learning of principles introduced in the lecture. Hands-on activities focus on experiencing and implementing concepts discussed in the lecture. Students create applications that communicate ideas efficiently and are easy to use. This is a writing intensive course. Prerequisites: CST-201, MAT-262, and (CST-217 or CST-341).
Course Description
This course provides an insight into professional communications and conduct associated with careers in science, engineering and technology. Students learn about the changing modes of communication in these disciplines recognizing the advances in digital communications. They gain practical experience developing and supporting a thesis or position through written, oral, and visual presentations prepared and delivered individually and in groups. Students will explore concepts and issues in professional ethics and conduct such as privacy, discrimination, workplace etiquette, cyber-ethics, network and data security, identity theft, ownership rights and intellectual property. This is a writing intensive course.
Course Description
This course covers an analysis of Cyber warfare in the 21st Century and beyond. Cyberspace is a complex environment that controls every aspect of a country’s Economy, Communication, and Infrastructure. This course will examine cyber warfare from a case-study perspective, applying the battlespace doctrine developed by military cyber operations teams. At the conclusion of this course students will have a fundamental understanding of the cyberspace threatscape, ethical challenges, and be able to strategize and implement cyber warfare operations. Prerequisite: ITT-340 or SWE-310.
Core Courses
Course Description
This course introduces the fundamental concepts and syntax of the Java programming language. The course focuses on object-oriented techniques in Java with an emphasis on problem solving and fundamental algorithms.
Course Description
This course focuses on software development using the Java programming language. The course exposes the relationships between machine architecture and data organization through Java-based projects, including algorithmic machines. Prerequisite: CST-105.
Course Description
This course provides an in-depth coverage of object-oriented programming using most current application programming methods, languages, and tools. Students will design, create, run, and debug applications. The course emphasizes the development of correct, well-documented programs using object-oriented programming concepts. Prerequisite: CST-111 or CST-105.
Course Description
This course covers classical algorithms and data structures, with an emphasis on implementation and application in solving real-world computational problems. The course focuses on algorithms for sorting, searching, string processing, and graphs. Students learn basic strategies to evaluate divide-and-conquer, recursive backtracking, and algorithm efficiency. Hands-on activities focus on writing code that implements concepts and algorithm implementation techniques. Prerequisite: CST-210 or CST-239 or CST-135 or CST-250 or CST-227.
Course Description
This course provides a rigorous treatment of the concepts and methods of integral, multivariable, and vector calculus and its application to real-world problems. Prerequisite: MAT-262.
Course Description
This course is a calculus-based study of basic concepts of physics, including motion; forces; energy; the properties of solids, liquids, and gases; and heat and thermodynamics. The mathematics used includes algebra, trigonometry, and vector analysis. A primary course goal is to build a functional knowledge that allows students to more fully understand the physical world and to apply that understanding to other areas of the natural and mathematical sciences. Conceptual, visual, graphical, and mathematical models of physical phenomena are stressed. Students build critical thinking skills by engaging in individual and group problem-solving sessions. Prerequisite: MAT-262. Co-Requisite: PHY-121L.
Course Description
This calculus-based course utilizes lab experimentation to practice concepts of physical principles introduced in the PHY-121 lecture course. Students are able to perform the proper analysis and calculations to arrive at the correct quantifiable result when confronted with equations involving gravity, sound, energy, and motion. Prerequisite: MAT-262. Co-Requisite: PHY-121.
Course Description
This course covers the concepts, tools, and frameworks of Open Source software development. Using open source operating systems like Linux, students develop an acquaintance with compilers, scripting languages, frameworks, build tools, APIs, version control software, and their licensing constraints. Students also learn how to participate in and contribute to open-source projects. Prerequisite: CST-135 or CST-235.
Course Description
This calculus-based course is the second in a 1-year introductory physics sequence. In this course, the basics of three areas in physics are covered, including electricity and magnetism, optics, and modern physics. The sequence of topics includes an introduction to electric and magnetic fields. This is followed by the nature of light as an electromagnetic wave and topics associated with geometric optics. The final topic discussed in the course is quantum mechanics. Prerequisites: MAT-264, PHY-121, and PHY-121L. Co-Requisite: PHY-122L.
Course Description
This course utilizes lab experimentation to practice concepts of physical principles introduced in the PHY-122 lecture course. Some of the topics students understand and analyze involve the relationship between electric charges and insulators/conductors, magnetism in physics, energy transformations in electric circuits, the relationship between magnetism and electricity, and how they relate to the medical industry. Prerequisites: MAT-264, PHY-121, and PHY-121L. Co-Requisite: PHY-122.
Course Description
This course covers the role of statistics in engineering, probability, discrete random variables and probability distributions, continuous random variables and probability distributions, joint probability distributions, random sampling and data description, point estimation of parameters, statistical intervals for a single sample, and tests of hypotheses for a single sample. Prerequisite: MAT-253 or MAT-264.
Course Description
This in an introductory course in discrete mathematics with digital logic. Topics covered include Boolean algebra, circuits, number theory, sequences, recursion, sets, functions, and counting. An emphasis will be placed on writing computer programs that address key concepts discussed in lecture. Prerequisite: MAT-261 or CST-111 or CST-105.
Course Description
This course is intended primarily for mathematics, science, and engineering students. The goal of the course is to impart the concepts and techniques of modern linear algebra (over the real scalar field) with a significant level of rigor. Students write clearly about the concepts of linear algebra (definitions, counterexamples, simple proofs), and apply theory to examples. The course emphasizes the practical nature of solutions to linear algebra problems. Students implement some of these solutions, where appropriate, as computer programs. Prerequisite: MAT-264 or MAT-253
Course Description
Overview of ethical values for engineering requirements analysis and design of large multifaceted software systems. Introductory discussions on software process models, approaches of project planning, documentation, tracing, quality assurance, and communication. A focused emphasis on project initiation and requirements analysis is taken. Group projects, technical oral and written presentations will be completed throughout the duration of this course. Prerequisite: CST-201.
Course Description
This course introduces current trends in computer architecture with a focus on performance measurement, instruction sets, computer arithmetic, design and control of a data path, pipelining, memory hierarchies, input and output, and a brief introduction to multiprocessors. The laboratory reinforces and expands learning of principles introduced in the lecture course. Hands-on activities focus on writing assembly language code that implements concepts discussed in the lecture course, focusing on registers, processes, threads, and I/O management. Prerequisites: (CST-210 and CST-215), or EEE-315.
Course Description
An introduction to embedded systems, including fundamentals of embedded system hardware and firmware design will be explored. Students will also be introduced to the C programming language in the context of embedded systems software development. A popular microcontroller will be leveraged in the course. The course will culminate with a significant final project which will extend a base microcontroller board that provides a complete practical hardware and software based embedded system. Prerequisite: CST-307.
Course Description
This course covers 2D and 3D concepts, algorithms, and implementation methods using shader-based programming. Main topics covered include coordinate systems, transformations, material simulation, and animation. The laboratory reinforces and expands learning of principles introduced in the lecture. Hands-on activities focus on writing vertex shaders and fragment shaders to implement light equations for coloring effects, textures, materials, and animation. Prerequisites: CST-201, MAT-262, and MAT-345.
Course Description
This course explains the concepts, structure, and mechanisms of modern operating systems. The course covers computational resources, such as memory, processors, networks, security, and how the programming languages, architectures, and operating systems interact. The laboratory reinforces and expands learning of principles introduced in the lecture. Hands-on activities focus on writing a shell that implements process management, file management, and I/O management. Prerequisite: CST-307.
Course Description
The first capstone course provides students the opportunity to work in teams to tackle real world applied research and design projects in their chosen area of interest. Students develop a project proposal, conduct a feasibility study, learn to protect intellectual property, develop teamwork skills, budgets, and a schedule for completing the project. Students conduct extensive research, integrate information from multiple sources, and work with a mentor through multiple cycles of feedback and revisions. Students use this course to further develop technical writing and business presentation skills. This is a writing intensive course. Prerequisites: CST-307, CST-315 and department approval.
Course Description
An introduction to the Software Development Life Cycle (SDLC), including the various tools, artifacts, and delivery practices will be explored. An overview of team process infrastructure and resource estimation to support appropriate levels of quality is discussed. Traditional system and software delivery methodologies as well as agile and lean delivery methodologies will be discoursed. This course will be comprised of several individual, in-class, and group projects that implement the practices reviewed. Prerequisite: SWE-310.
Course Description
This course examines the design, development, implementation, and maintenance of relational database structures. Emphasis is on appropriate application and implementation. Prerequisite: BIT-200 or BIT-205 or CST-110, or CST-111 or CST-105 or ITT-111.
Course Description
Continuation of the development process, protocols and devices for the implementation, integration, testing and maintenance of large multifaceted software systems. Familiarity with various software development and test environments. Group projects, technical oral and written presentations will be completed throughout the duration of this course. Prerequisite: SWE-310 & CST-215.
Course Description
Continuation of the SDLC process and delivery methodologies, including the various tools, artifacts, and delivery methodologies is explored. Traditional system and software delivery methodologies as well as agile and lean delivery methodologies will be discussed. An understanding of selecting the correct development life cycle (methodology), creating realistic plans, and managing a project team through each project phase is examined. Students must complete a programming project of mid-level complexity and delivery of a sizeable software product by a student team. Prerequisites: SWE-451, SWE-410, CST-307, and CST-315.
Course Description
The second capstone course provides students the opportunity to implement and present the applied research project designed, planned, and started in the first capstone course. The capstone project is a culmination of the learning experiences while a student in the Computer Science program. Students conduct extensive research, integrate information from multiple sources, and work with a mentor through multiple cycles of feedback and revision. This is a writing intensive course. Prerequisite: Successful completion of STG-451 with a grade of C or better.
Course Description
This course covers the characteristics of object-relational and NoSQL databases and their application in business. The course also focuses on the main principles of object-oriented, object-relational, and NoSQL databases, and their relative advantages. Students gain working knowledge of object-relational features as implemented in standard SQL database management systems. Students also learn to manage unstructured and semi-structured data with XML. Prerequisite: SYM-400.
Course Description
Continuation of the embedded system hardware and firmware design will be explored. A popular microcontroller will be leveraged in the course. Students will also be introduced to an assembly language in the context of embedded systems software development. Peripherals, I/O, real time processing, and real time Operating Systems will be discussed. The architecture and instruction set of the microcontroller will be discussed. This course will culminate with a significant final project which will extend a base microcontroller board that provides a complete practical hardware and software based embedded system. Prerequisites: SWE-350, CST-307, and CST-315.
Join Grand Canyon University’s vibrant and growing campus community, with daytime classes designed for traditional students. Immerse yourself in a full undergraduate experience, complete with curriculum designed within the context of our Christian worldview.
* Please note that this list may contain programs and courses not presently offered, as availability may vary depending on class size, enrollment and other contributing factors. If you are interested in a program or course listed herein please first contact your University Counselor for the most current information regarding availability.
* Please refer to the Academic Catalog for more information. Programs or courses subject to change.