Skip navigation
Brigham Young University
Login
Computer Science

Computer Science

Undergraduate Program

Picture of BYU campus from above.

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.

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 Major

The Bachelor's Degree in Computer Science at BYU, requiring 72-76 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. Students who want to build software to assist in analyzing biological systems are offered a BS in Computer Science with a Bioinformatics Emphasis (84 hours). Bioinformatics students graduate with backgrounds in biology coupled with the software development and analytical skills necessary to implement large bioinformatics applications. As of Fall 2008, an Animation Emphasis (79-80 hours) is also 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. In addition, a15-credit Minor in Computer Science is also available.


Fall 2008 Changes to the Program

Computer Science students are no longer required to take additional science electives above and beyond the University Core Requirements and Physics 121.

Stat 221 is required in place of Stat 321.

New options are available for students who do not wish to take Phscs 220. Students may substitute one of the following courses in place of Phscs 220:

  • An additional 400-level CS course, with the exception of CS 404
  • ECEn 224, 324, or 425
  • Math 214, 315, 334, 350, 355, 371, or 410
  • Biol 120 / PDBio 120
  • Chem 111 or 112
  • Geol 111 or 112
  • Stat 321, 331, 332, 421, or 441
  • Phscs 123

NOTE: These courses may not, under any circumstance, double count toward University Core Requirements or other CS major requirements. These substitutions can be made in the CS Department (3361 TMCB).

Please contact Kiersten with any questions.

Fall 2007 Changes to the Program

The Computer Science Department has recently made several changes in the required courses for the major. Two courses, CS 340--Software Design and Testing, and CS 360--Internet Programming, have been added to the required curriculum and will replace CS 224 and CS 324, which are no longer required for the CS program.

As of Fall 2007, the new requirements will be standard for all students entering the program. However, CS students who entered the program prior to Fall 2007 have several options as well. Students who have declared themselves to be Computer Science students in the College Advisement Center (N-179 ESC) prior to Fall 2007 can either stay with their current graduation requirements or choose from the following options:

  1. Students who haven't taken CS 224 and/or CS 324, and students who have taken CS 224 and/or CS 324 but would still like to graduate under the new requirements, can do so. Beginning in Fall 2007, students can ask the College Advisement Center (N-179 ESC) to move them to the new requirements, which include CS 340 and CS 360.
  2. Students who entered the CS program prior to Fall 2007 and have taken CS 224 but do not want to take CS 324 can take either CS 340 or CS 360 to fulfill the CS 324 requirement. Please contact Kiersten when you are enrolled in the course to make the substitution.
  3. Students who have taken both CS 224 and CS 324 can substitute one or both of CS 340 and CS 360 for 400-level electives. Please contact Kiersten when you are enrolled in the courses to make the substitutions.

Note: CS 360 will not substitute for CS 345 for students without the substitution explicitly listed on their MAPs. CS 345 is a prerequisite for CS 360 and should be taken before CS 360. Students who do not take CS 345 will face a steeper learning curve in CS 360 than they would otherwise.


The Computer Science Department is accredited by the Computing Accreditation Commission of ABET, 111 Market Place, Suite 1050, Baltimore, MD 212-4012, Telephone 410-347-7700.

Learning Outcomes