Skip to main content

Computer Science (BS)

Hours - 66 Credit Hours
Effective Sep. 2020
Last Revised 7/17/2020

Program Requirements


Required courses for admission to the major – 17 Credits


Student must pass the following courses with a grade of C or better.

Course Number Title Semesters Offered Credit Hours
CIS 101 Beginning Programming F, W, S 3.0
CIS 202 Object-Oriented Programming I F, W, S 3.0
CIS 205 Discrete Mathematics I F, W, S 3.0
IT 280 Computer Networking F, W, S 3.0
MATH 212 Calculus I F, W, S 5.0

To be accepted into this major, you must pass all courses listed above with a C or better and you must pass CIS 202 and 205 with a B- or better. You must also have a cumulative GPA of 2.0 or higher. I understand that One retake is allowed per class, for up to three classes. Additional retakes require special permission. I understand that if I exhaust my repeats, I risk the chance of not being able to continue in the major or any other major in the computer science, information systems, or information technology faculty. Please sign the form below to acknowledge that you understand this policy and then submit it to your academic advisor.

Application PDF


Core Requirements – 42 Credits

Classes marked "MO" are for admitted majors only.

Course Number Title Semesters Offered Credit Hours
CIS 206 Discrete Mathematics II F 3.0
CIS 305 Systems Engineering I (MO) F, W 3.0
CIS 405 Systems Engineering II (MO) W, S 3.0
CIS 470 Ethics in Computer and Information Sciences (MO) F, S 3.0
CS 203 Object-Oriented Programming II F 3.0
CS 210 Computer Organization W 3.0
CS 301 Algorithms and Complexity (MO) W 3.0
CS 320 Introduction to Computational Theory (MO) W 3.0
CS 400 Computer Science Proficiency (MO) F, W, S 0.0
CS 401 Web Applications Development F 3.0
CS 415 Operating Systems Design (MO) F 3.0
CS 420 Programming Languages (MO) S 3.0
CS 490R Advanced Topics in Computer Science (MO) F, W, S 3.0
CS 490R Advanced Topics in Computer Science (MO) F, W, S 3.0
IS 350 Database Management Systems (MO) F, W 3.0


Math Requirement – 3 Credits

Course Number Title Semesters Offered Credit Hours
MATH 121 Principles of Statistics F, W, S 3.0


Science Requirement – 4 Credits

Choose one of the following courses.

Course Number Title Semesters Offered Credit Hours
PHYS 121/L Introduction to Newtonian Mechanics/Lab F, W 4.0
CHEM 105/L General Chemistry I/Lab F, W 4.0
BIOL 212/L Marine Biology/Lab F 4.0


    Supplemental Courses – 0 Credits

    For students considering graduate school, we recommend taking MATH 343 and one additional lab-based course from the list below.

    Course Number Title Semesters Offered Credit Hours
    MATH 343 Elementary Linear Algebra F-odd, W-odd, S-even 3.0


    1. One D+, D, D- is allowed above. All other credits must be C- or better.
    2. One retake is allowed per class, for up to three classes. Additional retakes require special permission.
    3. A program-approved assessment test must be taken during your last full semester at BYU–H.
    4. Students may seek one and only one major in either BCIS, CS, IS, or IT.

    Program Outcomes

    Upon completing a major in Computer Science, a student will have:

    • An ability to apply knowledge of computing and mathematics appropriate to the discipline.
    • An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
    • An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.
    • An ability to function effectively on teams to accomplish a common goal.
    • An understanding of professional, ethical, legal, security and social issues and responsibilities.
    • An ability to communicate effectively with a range of audiences.
    • An ability to analyze the local and global impact of computing on individuals, organizations, and society.
    • Recognition of the need for and an ability to engage in continuing professional development.
    • An ability to use current techniques, skills, and tools necessary for computing practice.
    • An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.
    • An ability to apply design and development principles in the construction of software systems of varying complexity.