Computer Science—(73-77 hours)—Students study the theory, design and development of software. The original Computer Science major and the Computer Engineering major share 29 hours of common core classes (11 hours math, 3 hours physics, 3 hours computer hardware, and 12 hours programming). This allows students interested in computers some time to explore both programs before deciding on a major. Computer science students receive a basic introduction to computer hardware (3 credit hours). The majority of the coursework (about 50 credit hours) concentrates on the theory and design of algorithms and algorithmic processes for a variety of software applications such as operating systems, artificial intelligence, graphics, compilers, databases, and networking. Students learn how to model, develop and program computer applications to solve significant problems. The department also offers a bioinformatics emphasis, designed for students who are interested in building software to assist in analyzing biological systems, and an animation emphasis, ideal for students wishing to pursue careers in animation and video game development studios. Computer science majors are in high demand and are best prepared for software design and development jobs.
Computer Engineering—(92-93 hours)—a cross between Computer Science and Electrical Engineering. Computer engineering students receive training in the fundamentals of software design and development from the computer science department (12 credit hours) as well as a basis in electronics and communications from electrical engineering (15 credit hours).Finally, they receive in depth training in the design of computer logic and circuitry (18 hours).Computer engineering students are in high demand and go into a variety of computer design and development jobs.
Information Technology—(77 hours)—focuses on the application of computer technology to solve problems. Students develop and design primarily at the system rather than the component level. Electronics Information Technology students receive a basic coverage of electronics (6 – 8 hours). Students receive a science background (8 hours calculus, 6 hours physics, 3 hours statistics) as well as a basic introduction to computers and computer programming (13 hours).The balance of the program (26 hours) concentrates on computer applications such as communications, networking, operating systems and databases with an emphasis on laboratory and project experience.
Information Systems—(74-75 hours)—teaches students to understand the effective and efficient use of information and communication technologies within a business setting. This major involves two broad areas: the acquisition, deployment, and management of an organization’s IS resources and services, and the development of computer-based systems and technology infrastructures for use in organization processes. The courses include programming (3 hours), database design (3 hours), systems analysis and design (6 hours), and data communications and enterprise applications (6 hours).Admission by application.
Read our transfer and substitution policy here: https://cs.byu.edu/credit-transfer-substitution-policy.
Yes. Information about the CS Minor is available at http://cs.byu.edu/minor_computer_science. Students can sign up for the minor in the College of Physical and Mathematical Sciences Advisement Office, N-179 ESC.
Although work experience, particularly high quality internships, is extremely valuable to students and is strongly encouraged by the department, no credit is offered. International students interested in taking CS 199R as an internship experience should speak to Dr. Dennis Ng (422-2835, 3322 TMCB)
Many of our students become computer game graphics programmers. Interested students should enroll in the CS Animation Emphasis or study as Computer Science Majors and specialize in graphics during their senior years. Students interested in the CS Animation Emphasis will need to speak to Dr. Parris Egbert, as the emphasis is not open enrollment.
The job market for CS majors is thriving. CS is one of the fastest growing fields in the nation, offering some of the highest salaries for new graduates. Students who have completed CS 240 should be able to get good summer programming jobs that will give them experience and help pay for college and living expenses. For more information on the CS industry, visit the Association for Computing Machinery's Computing Degrees and Careers website.
You should follow the prerequisite chart in selecting course order. We do not have any specific courses that students should avoid taking together. We do, however, recommend that students avoid taking more than 3 CS courses per semester.
CS 142 is the only course that students can waive. If you are enrolled or considering enrollment in CS 142 and believe you already have a solid understanding of the course content, you have this option. The Computer Science Department will waive CS 142 for students who have sufficient C++ programming skill. If you wish to explore this option, please contact the undergraduate advisor, Paul Roper (3370 TMCB, (Professor Paul Roper), to pursue this option. You should make sure that you are competent in C++ programming since CS 235 requires this competence. If CS 142 is waived, you will not receive a grade or credit for the course.
Talk to the professor who will be teaching the course to find out on what information the class actually depends. If the professor agrees to let you into the class, you may have to do some extra work to fulfill those dependencies. The exception to this rule is for the 300- and 400-level CS courses that depend on CS 240. You will not be allowed to register for 300- or 400-level CS courses until you have passed CS 240 with a C- or above and met with the undergraduate program assistant.
No, the graduation plan allows you to spot semesters when there may be conflicts with your courses and provides an opportunity for you to see when you might graduate. There is no problem if you decide to change things in the future. You should consult the 5 year projected offerings page and MyMap as you are making your plans.
A list of resources available to CS majors and students taking CS classes is available in the Student Resources section of the CS website. You can also find on this site information on the courses offered and research in the CS department. For employment, both as a student or intern and for full-time placement options, check out the Careers & Employment and internship sections of the site. Also, major announcements and information are posted on the main page of the CS website. A Calendar of Events is also available. There are many more resources available of interest to the CS student; however, these will help get you started.
Students are only allowed to take 300- or 400-level classes once they have passed CS 240 with a C- or higher and have completed a department interview. Once both are complete, the student will receive a "CS 240 flag" that will allow them to register for upper-level courses. If students are trying to register for the next semester, they can have the interview once they finish their Index Server Program with a score of 70% or higher. A flag will be temporarily granted. If the student doesn't at least receive a C- as a final grade for the course, then the flag will be removed, and the student will no longer be allowed to register for upper-level courses.
Please see our recommendations for computer requirements: https://cs.byu.edu/computer-requirements.