Computer Science

What makes computer science exciting?

Want to build robots? Interested in writing codes and debugging systems? Have you always dreamed of creating and animating characters like Mario and Zelda for a living? If you answered yes to the above questions then computer science is the program for you. As a computer science major you will write instructions that tell the computer how to perform specific tasks. You’ll learn how to design and maintain code to create programs with a variety of applications.

Watch our Hands-On video and see the Computer Science Department and their Unmanned Air Vehicles (UAVs) assist in search and rescue efforts.

Hands-On: UAV Search & Rescue[/text]

What's cool about studying computer science at BYU?

Undergraduate research makes classroom learning come alive and can help propel you into a professional career. You will have the opportunity to put your book knowledge into practice by working on real-life problems that are important to you, while gaining technical and research skills that will prepare you for careers and higher education.

BYU is a pioneer in this area—one of the few universities that allows undergrad students to work side by side with professors on research projects. This means that even though you may be fresh out of high school, you could find yourself assisting professors and grad students in developing technology that may someday be used by millions. Some students are even paid during their mentorships.

“We expect our undergraduate students to make significant contributions to real problems. Computer science is a particularly good field to do that.”

–Dr. Michael Jones

Major and minor options

• Majors

Computer Science

Computer Science: Animation Emphasis

Computer Science: Bioinformatics Emphasis

• Minors

Computer Science

Computer Science Teaching

For more information on required classes for these majors and minors, please see the current undergraduate catalog. You can declare one of these majors or minors by visiting the Advisement Center.

Featured videos

Hands-On: UAV Search & Rescue

Watch our Hands-On video and see the Computer Science Department and their Unmanned Air Vehicles (UAVs) assist in search and rescue efforts.

Teaching Computers to Learn on a Budget

See how researchers are teaching computers to be better students through active learning.

What makes BYU computer science undergrad research unique?

The BYU CS program is noted for its undergraduate mentoring and research opportunities in the department’s 20 research labs. A strong emphasis is placed on professor-student mentoring, creating research opportunities for undergraduates that are unique among most programs in the nation. In 2009, the department’s research projects brought in over one million dollars in grant funding, and CS faculty contributed to over 90 publications. In addition, students benefit from the on-campus resources including 14 open labs with nearly 360 work stations, free MSDN software, web space, supercomputing facilities, computer support, advisement, and student organizations.

“It’s enjoyable to be paid to do what you love to do. ”

–Timothy Major, computer science student

Research areas

Undergraduate students can do research in six areas. Specific projects within these areas include helping computers learn ancient languages, programming a computer program that can create its own art, teaching robots to help autistic children and much more.

• Artificial Intelligence & Machine Learning

Students research Bayesian reasoning, neural networks and learning algorithms, robotics, data mining, natural language processing, multi-agent learning, and computational computing.

• Computational Science & Control

Students work on DNA mapping, evolutionary family trees, biological network reconstruction, computational finance, computational economics, computational social science, organizational dynamics, feedback systems, predictive modeling, and control.

• Computer Networks, Systems, & Security

Students research computer security, networking, internet applications, programming language design, software model checking, and distributed algorithms and protocol design.

• Data & Text Analysis

Student research includes information retrieval, database applications, data engineering, data mining, data extraction, and natural language processing.

• Graphics & Computer Vision

Students work on animation, computer generated natural phenomena, advanced 3D graphics, computer vision, image processing, computer-aided design, isogeometric analysis, hyperdimensional graphics, and family history technology.

• Software Engineering & Human-Computer Interaction

Student research includes human-computer interaction, user interface design, interactive television, human-robot interaction, assistive robotics, empirical methods for software engineering, and software development teams.

Facilities / Equipment

People come from all over to use BYU’s facilities and equipment. CS resources include tablets, robotics, 3D projectors, hi-def TVs, multiple types of hand-held devices, and enough computer stations to accommodate each student. Specific labs in the Computer Science Department include:

• Computational Science Lab 

Contains equipment used to investigate algorithms for solving problems in computational biology, chemistry, and physics.

• Computer Graphics, Vision, & Image Processing Lab 

Contains equipment for researching anything related to digital graphics and image processing.

• Fulton Supercomputing Lab 

Houses 933 servers comprised of 9,880 processor cores supported by over 100 terabytes of high performance storage. Undergrad students can set up their own account and process a years’ worth of data in only a few days.

• Internet Research Lab

Contains instruments used to explore ways to progress the internet by advancing its reach, improving infrastructure, and extending services.

• Internet Security Research Lab 

Houses equipment used to improve the safety of the internet and establish trust between users.

• Neural Network & Machine Learning Lab 

Includes equipment used in predictive modeling, pattern/audio/facial recognition, and other techniques of artificial intelligence to advance machine learning.

• Object-oriented System Modeling Lab

Includes equipment used in engineering methods for object-oriented software systems.

• Performance Evaluation Lab

Contains tools that specialize in measuring and analyzing computer system performance to make improvements to hardware and software systems.

• Verification & Validation Lab

Contains tools to quickly detect errors in formal models of complex devices.

What can I do with an undergraduate degree in computer science?

Computers are everywhere -people who know how to “talk code” will never be hard pressed to find a job. Jobs you could get with an undergraduate degree in computer science include working as a:

• Computer Animator

• Computer Programmer

• Database Manager

• Software Engineer

• Videogame Designer

• Web Designer

How much money could I make?

With an undergraduate degree in computer science you could earn:

*Industry-wide estimate from:

What if I advance my education past an undergraduate degree?

Many of our students go on to get advanced degrees and additional experience that broaden their career opportunities. BYU alumni have found jobs with companies including:

• Adobe

• Amazon

• Apple

• The Church of

   Jesus Christ of Latter-day Saints

• Goldman-Sachs

• Google


• Intel

• Lockheed Martin

• Los Alamos National Laboratory

• Microsoft

Talk with a professional

“Computer Science is very fun, but very challenging. But the opportunities are literally boundless. You can do so many things!”

–Evan Child, Senior Developer Associate, Goldman Sachs

Computer Science Mentoring

Computer Science Mentoring

See how student researchers are developing pedigree spreads that are off the charts.

Screen shot 2013-09-30 at 3.13.16 PM

Hands On: Center for Animation

Have you ever wondered what it takes to make an animated movie, such as UP or Despicable Me? Our team went behind the scenes to watch the magic behind animation at in the Center for Animation. Watch...

Hands-On: UAV Search and Rescue

Watch our Hands-on video and see the Computer Science Department and their Unmanned Air Vehicles (UAVs) assist in search and rescue efforts.

Kites (Clip)

Kites (Clip)

Recipient of a 2009 Student Academy Award and a 2009 Student Emmy Award, “Kites” tells the story of a boy coping with the death of his grandfather.

Pinatas (Clip) Pinatas (Clip)

Pinatas (Clip)

Winner of a 2006 Student Emmy Award, “Las Piñatas” is the story of two piñatas and their fight for survival.

Teaching Computers to Learn on a Budget

Teaching Computers to Learn on a Budget

See how researchers are teaching computers to be better students through active learning.