Skip to content

Software Engineering

The Utah State Board of Regents approved Snow College’s request to offer a Bachelor of Science (BS) in Software Engineering in November 2016. The degree now includes four areas of emphasis which students may choose: Entrepreneurship, Digital Media Design, Web Development, and Data Science.

The demand for skilled and qualified software engineers has no end. This demand is fostered by a transforming economic landscape, driven by the need for computing technology solutions. With the advent of the Internet of Things, smart cities, green technology and big data, all industries are quickly becoming technology industries.

With such unprecedented growth in a multitude of fields, software engineers can pursue careers in any number of areas, including technology, healthcare, automotive manufacturing, green energy, remote sensing, aeronautics and finance. New jobs like automotive embedded software engineer, health informatics engineer and financial software engineer are becoming more commonly seen as each of these industries continue to expand.

Software engineering provides a student with knowledge regarding the software development process and how to apply this as an engineer. Computer science prepares a student for abstract problem solving and research on the development of computer technology.

Bachelor of Science in Software Engineering

Program Description

The Bachelor of Science in Software Engineering degree prepares software engineers: collaborative professionals working on a team to develop software products on time, within budget, and that meet customer requirements. Graduates of this program will possess the practical knowledge and skill of a defined engineering approach for complex systems analysis, planning, design and construction. The coursework builds upon computer science fundamentals and mathematical principles to cover the design, analysis, verification, validation, implementation, deployment, and maintenance of software systems.

There is often confusion regarding the differences between computer science, software engineering, and IT/IS.  The following diagram from the Association for Computing Machinery (ACM) provides insight into the relationship between each of the areas. 

SE difference
Figure 1: ACM Computing Curricula 2005 Overview Report

Electrical Engineers (EE) are primarily involved with hardware design, while Computer Engineers (CE) design systems that include both hardware and software. Computer Science (CS) covers the concepts and technology involved with how to make a computer do something (graphics, robotics, etc.), and software engineering (SE) focuses on how to design and build software. There is significant overlap between computer science and software engineering and the intersection between the two is often programming; however, there is a key difference. Computer scientists test theories and work at the edge of the unknown. Software engineering is an engineering discipline. Engineering starts with knowledge that has already been proven reliable and develops solutions for technical, societal and commercial problems. Information Technology (IT) and Information Services (IS) are focused on delivering technology solutions to an organization.

The Snow College Software Engineering program provides students with an educational experience that builds upon traditional computer science and engineering and produces software engineers that create high-quality software in a systematic, controlled, and efficient manner. This is accomplished in the following ways:

  • The degree has a strong emphasis on mathematics and use of engineering methods in software design.
  • Courses place an emphasis on software processes and lifecycles and utilize a team approach to building software with active learning (“learning by doing”) which also provides leadership opportunities, such as software development team lead roles, for every student.
  • Courses include significant learning in management areas such as project planning, resource allocation, quality assurance, testing, metrics, maintenance and troubleshooting, configuration management and personnel management.
  • Courses incorporate student teams to work on activities specifically designed to guide students to collaboratively construct their own understanding of key concepts, and, at the same time develop key process skills like communication, teamwork, critical thinking and problem solving.
  • Students will have a choice of an emphasis in:
    • Entrepreneurship: The combination of computational and entrepreneurial thinking to identify, assess and implement ideas that will create new markets and technologies.
    • Digital Media Design: The use of integrated media to communicate messages through electronic mediums such as the Internet, film, television and mobile technologies.
    • Web Development: The use of tools including HTML, CSS, and JavaScript to create and maintain high quality, interactive websites.
    • Data Science:  The application of computational and statistical tools to experimental discovery via the acquisition, organization, analysis, modeling, and visualization of data.

The software engineering curriculum culminates in a year-long capstone sequence where the students work in teams to build a software system reflective of current practices in the industry. Additionally, students are encouraged to participate in internships prior to and during enrollment in these capstone courses in order to gain direct industry experience and insight before embarking upon their own projects. Snow College will be partnering with businesses to develop these learning opportunities that will provide students with industry relevant experience.

The Snow College Software Engineering program prepares students to enter the software engineering profession immediately or to go on to pursue advanced educational opportunities. The first two years of the program are also compatible with transfer to an institution offering a degree in computer science.

Admission

Any student admitted to Snow College can begin the Software Engineering program and be classified as pre-major status.  Students must apply to be admitted as a Software Engineering full-major.  Full-major status is required to enroll in upper-division Software Engineering courses.  Applications for the Software Engineering full-major can be submitted anytime.  Candidates will only be considered for full-major status after completion of the pre-major coursework.  Selection of candidates for full-major status will be determined by the review committee and will take place after January 31st each year.  Students will be notified of their status by March 15th.  Selection will be based on the following criterion:

  • Evidence of ability to complete the academic program,
  • Evidence of potential to be successful as a Software Engineer,
  • Evidence of appropriate educational and career goals,
  • Evidence of ability to work in teams and leadership potential.

Candidates from underrepresented populations will be given special consideration.

The procedure to be admitted as a Software Engineering full-major:

  1. Get admitted to Snow College (https://snow.edu/admissions).
  2. Declare your major as Software Engineering.
  3. Successfully complete the pre-major coursework:
    • CS 2450
    • CS 2860
  4. Apply for full-major status.