Bachelors of Science Degree in Computer Science

Computer science majors are trained to think creatively, to solve complex problems, and to communicate with clarity and precision. Upon successful completion of the computer science program, graduates are actively recruited by major computer corporations, commercial software companies, and research institutions. In addition, graduates are sought after by employers in other fields, including graphics and animation, business, health, and banking. The degree programs in the Computer Science Department at BYU prepare students to be confident programmers, communicators, and problem solvers, training them for entrance into new areas where their skills will have increasingly significant impacts. Current national forecasts predict that a favorable market for technology-related jobs will continue well into the next decade.


See the current requirements for the Animation Emphasis, Bioinformatics Emphasis, Data Science Emphasis, and Software Engineering Emphasis in Computer Science.

The Major


The Bachelor's Degree in Computer Science at BYU, requiring 74–77 hours of prescribed courses above the university's GE requirements, is demanding of student time. After studying fundamentals in discrete mathematics, data structures, theory of computation, computer architecture, operating systems, algorithm analysis, and software design, students may take elective courses and tailor their academic experience to their individual interests. The elective courses explore computer graphics, interface software, networks, security, artificial intelligence, machine learning, verification/validation, distributed systems, software design, signal image processing, models, and optimization.

In addition to the general computer science major, the Computer Science Department offers a choice of emphases for students who want to specialize in a particular area of computer science. Students choosing an emphasis receive a BS in Computer Science with the chosen emphasis.

A Software Engineering emphasis is available for students who want to focus on creating software. Students completing the software engineering emphasis will gain skills in programming, software design, software architecture, and software development best practices. Upon graduation, software engineering students will be prepared to contribute to large software development projects at leading software development companies like Amazon and Google.

A Data Science emphasis prepares students with the practical and theoretical tools of modern data science. The emphasis draws on machine learning, statistics, optimization and big data to position students to contribute in this dynamic and fast-growing field in either industry or academia.

For students who want to work in animation, an Animation Emphasis is available. Students completing the animation emphasis will learn both the technical and artistic side of creating and implementing digital animations and games. Upon graduation, they will be prepared for technical positions at animation and game programming studios.

Students who want to build software to assist in analyzing biological systems are offered a Bioinformatics Emphasis. Bioinformatics students graduate with backgrounds in biology coupled with the software development and analytical skills necessary to implement large bioinformatics applications.

In addition to the Computer Science major and emphasis, a 19-credit Minor in Computer Science is also available.

The Discipline

Computer science touches virtually every area of human endeavor. Software is responsible for everything from the control of kitchen appliances to sophisticated climate models used in predicting future environmental change. Students in computer science learn to approach complex problems in business, science, and entertainment using their strong backgrounds in mathematics, algorithms, and data structures.

The degree programs in the Computer Science Department at BYU prepare students to be confident software developers and technical problem solvers. BYU's computer science graduates are known for solid preparation in the fundamental principles of the discipline. In addition to the core computer science courses, students are given the opportunity to broaden their analytical and scientific skills by completing course work in physics, statistics, and mathematics. This knowledge is then applied as students study the deep theoretical underpinnings of the science in class and in laboratory work, associated with most courses. This broad foundation gives students the power to maintain their skills and functionality in the rapidly changing world of technology.

The Computer Science program is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org/.

Learning Outcomes