Skip navigation
Brigham Young University
Login
Computer Science

Computer Science

Frequently Asked Questions

  1. Which computer-science oriented degree program is for me?
  2. Do any of the CS requirements also fill University Core Requirements?
  3. I have taken a course at another school that I think is equivalent to a CS required course. How can I get credit for it and how much credit can be transferred?
  4. Is there a CS Minor offered?
  5. Can I get a CS teaching minor if I am not an education major?
  6. Can I get credit for my internship or work experience?
  7. Can I study video game programming or something related to video games at BYU?
  8. I have heard that the job market is really poor for CS majors. What do you think?
  9. Are there any classes that I should avoid taking together?
  10. I want to take a challenge exam for a CS course; how do I do it?
  11. How do I waive a course?
  12. What should I do if I need to take a class without taking the prerequisites?
  13. If I fill out a graduation plan, am I committed to following it?
  14. What sort of resources are available to CS students?

Which computer oriented degree program is for me?

Computer Science—(72-84 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—(76.5 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.

Do any of the CS requirements also fill General Education (University Core) Requirements?

Yes

  1. Physics 121 is a CS requirement which partially fills the Physical Science University Core requirement. The remainder of the Physical Science University Core requirement can be filled by taking an additional approved chemistry or geology course. Please see MyMap at http://mymap.byu.edu for more information.
  2. Physics 220 fulfills a CS elective. However, Physics 220 may NOT be used to fulfill any other University Core or departmental requirements if used to fulfill this elective.
  3. Math 112, Math 113, and Statistics 221 are CS requirements which fill the Advanced Languages/Quantitative Reasoning University Core requirement.
  4. English 316 is a CS requirement which fills the Advanced Writing GE requirement.

I have taken a course at another school that I think is equivalent to a CS required course. How can I get credit for it and how much credit can be transfered?

Determine which classes you think should transfer by looking at the web pages for the classes at http://www.cs.byu.edu/courses/.
Take your proposed list of transfer classes to the College Advisement Center (N-179 ESC). If your classes are from a school that we do not have an articulation agreement with, you will need to meet with the CS Undergraduate Advisor. Please be sure to bring your proposed list of transfer classes, your ABC report and your transcripts with you to the meeting. Normally, only 12 credit hours transfer.

Is there a CS Minor Offered?

Yes. Information about the CS Minor is available at http://cs.byu.edu/undergraduate/cs_minor. Students can sign up for the minor in the College of Physical and Mathematical Sciences Advisement Office, N-179 ESC.

Can I get a CS teaching minor if I am not an education major?

No.

Can I get credit for my internship or work experience?

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)

Can I study video game programming or something related to video games at BYU?

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.

I've heard that the job market is really poor for CS majors. What do you think?

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 .

Are there any classes that I should avoid taking together?

You should follow the prerequisite chart in selecting course order. Some courses are more challenging than others and require a greater allotment of time during the semester in which they are taken. CS 240, CS 345, and CS 360 are particularly time consuming. Students should avoid taking more than 2 other CS courses during the semesters in which these courses are taken, and under no circumstance should they be taken together.

I want to take a challenge exam for a CS course; how do I do it?

With the exception of CS 142, which a small number of students challenge, there are no standard challenge exams for CS courses. Students should contact the professor who is teaching the course that they want to challenge and work with him/her to create a challenge process. The nature of Computer Science makes it difficult to create typical exams, so professors may ask for a significant amount of written code as part of the challenge process. Most professors do not allow any challenge exams for their courses. For information on challenging CS 142, see the course website or question #12 below, or speak to the undergraduate program assistant.

How do I waive a course?

Waiving or challenging rarely occurs for any class other than CS 142. If you feel that you are comfortable with Java and would like to waive or challenge the course, you have the following options.

  1. Waive CS 142. The Computer Science Department routinely waives CS 142 for students who have sufficient programming skill or have passed the high school Advanced Placement Computer Science AB exam. If you wish to explore this option, please contact the undergraduate coordinator (Paul Roper, 3370 TMCB). You should make sure that you are competent in Java programming since CS 235 requires this competence. If CS 142 is waived, you will not receive a grade or credit for the course.
  2. Challenge exam. If you want a grade and the associated credit toward the 120 credit hours required for any student to graduate from BYU, you can challenge CS 142 by taking a final exam and completing selected programming assignments. If you want to challenge the course you should:
    1. Obtain the Challenge Examination Form from the Records Office (B-150 ASB).
    2. Pay the required $20.00 fee at the Cashier's Office (D-155 ASB).
    3. Complete lab assignments 6, 7, 9, and 11 (available at http://students.cs.byu.edu/~cs142ta/index.html). You will not be able to have TA help in completing these assignments.
    4. Print out your source code for these assignments (including a comment at the beginning that your solution represents your own work) and have the TA initial them as completed.
    5. Give the Challenge Examination Form and initialed print outs of your source code to the undergraduate program assistant (3361 TMCB). She will then give the paper version of the exam.
    6. When you have completed the final exam, your assignment solutions and the final exam will be evaluated to determine your final grade. Keep in mind that if you are registered for the course and then decide to challenge, you must drop the course before the discontinuance deadline or receive a W on your transcript.

What should I do if I need to take a class without taking the prerequisites?

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.

If I fill out a graduation plan, am I committed to following it?

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.

What sort of resources are available to CS students?

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, resume database, 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.