Frequently Asked Questions
Frequently Asked Questions:
-
Toggle ItemWhich computer-related degree program is for me?
Computer Science—(74-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.
-
Toggle ItemWhat computer should I buy?
Please see our recommended computer requirements.
-
Toggle ItemShould I take CS 110 or CS 111?
CS 110: How to Program is designed for students who have little or no prior programming experience. Using Python, it teaches the basics of programming, including basic types (numbers, strings, booleans), control flow (while, if/else, for), functions, and data structures (lists and dictionaries). A significant focus of the course is problem decomposition, meaning learning how to break a problem down into smaller pieces using a set of functions.
CS 111: Introduction to Computer Science is designed to introduce students to core ideas in computer science, including higher-order functions, object-oriented programming, recursion, trees, iteration, regular expressions, and formal grammar. CS 111 is the beginning of the Computer Science core and is a prerequisite for most CS classes. Students taking CS 111 should already have experience with basic types, control flow, functions, and lists. The first two weeks is a review of how to program, so that students with prior experience in a different language can learn Python, and then the course moves quickly through the core CS concepts.
Guidance
Ultimately, the choice of which class to take is up to the student. While it is impossible to know with certainty which option would be the best fit, the following advice help you choose.You are likely a good fit for CS 110 if some of the following are true:
- You have never programmed before.
- You have struggled with programming in the past.
- You took one programming class but it has been several years and you are not sure you remember a lot of it.
- You have had only limited exposure to programming in very confined domains. For example, you have written R scripts for statistical analyses
You are likely a good fit for CS 111 if some of the following are true:
- You have taken AP Computer Science.
- You have written code already in an organized setting (coding club, class, job, etc.).
- You understand basic types, control flow, functions, and lists.
- You have prior experience with Java, C, C++, C#, or Python.
Most sections of CS 111 will have a corresponding section of CS 110 at the same time of day. If you try CS 111 first, and if during the 10 days of the semester you find the content and pace too challenging, in most cases you can easily switch to CS 110 without disrupting your class schedule.
-
Toggle ItemHow can I declare a Computer Science major or add a CS minor?
Click here to learn how to declare a CS Major or Minor:
-
Toggle ItemHow can I change my major to Computer Science?
Click here to learn how to change your major:
-
Toggle ItemCan I transfer a CS class from another University?
Read our transfer and substitution policy here.
-
Toggle ItemDo any of the CS requirements also fill General Education (University Core) Requirements?
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.
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.
Math 112, Math 113, and Statistics 221 are CS requirements which fill the Advanced Languages/Quantitative Reasoning University Core requirement.
English 316 is a CS requirement which fills the Advanced Writing GE requirement. -
Toggle ItemAre there any classes that I should avoid taking together?
You should follow the prerequisite flow chart on each degree page when 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.
There are a few courses with significant programming projects (CS 240, CS 312, CS 324, CS 340). We recommend taking 1 of these classes at a time. If you decide to take 2, we suggest avoiding other CS classes if possible. -
Toggle ItemHow do I test out of/waive a course?
CS 111 is the only course that students can test out of. We discourage testing out for students who have taken IS 303, since it is not equivalent. Likewise, significant prior programming experience alone is not necessarily sufficient to test out of the course. We recommend testing out only for students who know the concepts taught in the class.
These concepts include:- Functional programming and higher order functions
- Object-oriented programming
- Recursion Generators
- Exceptions and decorators
- Testing, e.g. pytest
- Linked Lists
- Tree-based data structures
- Regular expressions
If you wish to explore this option, please contact the , faculty undergraduate advisor, to learn more. You should make sure that you have significant experience in Python programming and know the concepts above. If you succeed in testing out of CS 111, we can waive this course for CS majors or minors. Students in other majors or minors will need to work with our advisors to follow a formal test out process so they can get credit for the course.
-
Toggle ItemHow can I get accommodations or resources for accessibilities?
Here are some resources for those with accessibilities.
You can find information about how to receive accommodations at the University Accessibility Center. -
Toggle ItemWhat 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.
-
Toggle ItemIf 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 class schedule and search future CS class offerings and MyMap as you are making your plans.
-
Toggle ItemWhat resources are available to me?
For those interested in Computer Science and programming, here are some materials to get you started!
There are many resources available to CS majors and students taking CS classes. There are many services on campus that are available to students. Resources for those with accessibilities are also offered.You can find information on courses 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 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.
-
Toggle ItemHow can I register for 300- or 400-level classes?
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 pass the Programming Exam, which is part of the CS 240 course. 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.
-
Toggle ItemAre there jobs in Computer Science?
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 here.
-
Toggle ItemCan 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)
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 section of the site. Also, major announcements and information are posted on the main page of the CS website. You can also see upcoming events on the home page.
Frequently Asked Questions:
-
Toggle ItemAre there jobs in Computer Science?
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 here.
-
Toggle ItemCan 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
-
Toggle ItemWhat sort of resources are available to CS students?
There are many resources available to CS majors and students taking CS classes. You can find 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 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.
-
Toggle ItemHow can I apply to an on-campus job in the CS department?
Click here for information about the hiring process, pay rates, and types of jobs that are available in the department!
-
Toggle ItemHow many hours can I work on campus?
- Your supervisor will determine the number of hours you can work (within the University parameters stated below). Pay periods last two weeks. Each employment week begins on Saturday and ends on Friday. This means if you are limited to a certain number of hours per week, those limits apply to the employment week not the actual week.
- Fall/Winter semesters: You can only work up to 20 hours per week if you are an undergraduate student or 28 hours per week if you are a non-international graduate student. International students may not work more than 20 hours per week according to federal regulations, unless they are on approved vacation (determined between you and the International Services Office, 1351 WSC).
- Spring/Summer terms: During the Spring and Summer terms, all students (including international students if they are on their approved vacation) can work up to 40 hours a week. You may not work more than 40 hours total for all jobs within an employment week. You must be either registered for spring/summer classes or registered for fall classes to be eligible to work during these terms. Contact csemployment@cs.byu.edu if you have additional questions.
-
Toggle ItemWhen can I start working?
The CS Department will notify the student when their employment has been authorized. Do not begin working before receiving this confirmation. NOTE: the email will include a start date. Do not start before the specified start date, even if you have received the email already.
-
Toggle ItemHow and when will I get paid?
According to BYU policy, all BYU employees are required to set up Direct Deposit through your BYU My Financial Center (this is how you will be paid). You will get paid the Friday after the pay period ends. Here is the current BYU pay period schedule.
-
Toggle ItemHow is my pay rate determined?
- If you are a TA, the department determines your pay rate based on the number of CS classes you have taken and prior semesters you have worked as a TA (see Pay & Compensation). Because of this, it is important to complete the user agreement on the Computer Science Dashboard.
- If you are an RA, your faculty supervisor determines your pay rate. It is still important, however, to submit the user agreement because many professors determine your rate based on your progression in the program.
-
Toggle ItemHow do I clock in/out?
All students must clock in through Workday. It can be accessed through: The Workday mobile app, online through workday.byu.edu, or the Workday wall-mounted touch screens in each campus building. Employees must make a timestamp at the beginning and end of each shift.
- Online: You can view your timesheet through the Workday website, which can be accessed from workday.byu.edu.
- Mobile App: Download the Workday App and log in, with “byu” as the organization. Select “Check In” to clock in.
- Wall-Mounted Touch Screens: The Workday time clock is located in the northwest corner of the Talmage building (TMCB) on the first floor (across the hall from 1112). Enter your BYU ID number, and click “Next.” The screen will now show your name, your job, and a menu to clock in, clock out, and view your total hours.
-
Toggle ItemHow do I view my timesheet?
Log in to Workday online. Select “ Time”, then choose the week you wish to view. Alternatively, you can view your timesheet on the mobile app, under “Time Tracking” and “Enter Time”.
-
Toggle ItemHow do I make corrections to my timesheet?
Hourly employees have the ability to correct many of their own missed punches--those that occur within the current pay period and have not been submitted for approval.
- To make a correction, complete the following steps:
- Open the Workday app
- Select “Time Tracking”
- Select “Enter Time”
- Select the date of the incorrect time punch.
- Select the incorrect time punch. From here, you can edit the in and out punch.
- Leave a comment about why you changed the punch.
- Select “Ok” at the bottom right.
- You can also correct your time on Workday online through a similar process, but under “Time”, instead of “Time Tracking”.
- The following Video may be helpful: Workday Correcting Time
- For those corrections that you can not change on your own, you will need to contact the Payroll Office. They will be able to make corrections to punches that have already been approved. Contact Payroll by email at payroll1@byu.edu or call them at 801-422-8186.
-
Toggle ItemWhat if I have more than one job?
Each job should be labeled according to job type, class, and/or supervisor (ex. CS RA Vandyke, or CS 110 TA). You must always select the correct job when clocking in and out. If you have more than one job you should be able to select the correct one when clocking in.
-
Toggle ItemWhen do I need to complete my I-9, and how do I do that?
- When being hired, students who have not previously worked on campus will receive an email explaining the process to complete an I-9 with the BYU Human Resources Operations Center located in 2024 WSC. Students can schedule an appointment here. Federal immigration regulations require each employee hired in the United States to prove their identity and eligibility to work by completing a Form I-9 at the time of hire.
- The Form I-9 must be completed before an employee is authorized to work. If the form is filled out late, your hire will be reported on the University’s monthly non-compliance report. BYU can be fined by the Department of Justice for each "late hire" in the event of an audit. You should not begin working and cannot be paid until this form has been filled out. Here is a list of acceptable documents for the I-9.
-
Toggle ItemWork eligibility questions? Tax questions?
The Student Employment Office has your answers.
Frequently Asked Questions
-
Toggle ItemWhat's the easiest way to include my paper as a chapter in my thesis?
Answer: Find a pdf file containing your paper. In the latex document for your thesis, use the pdfpages package and include the paper with the command
\includepdf[pages=-,pagecommand={}]{name-of-pdf.pdf}
Papers included in the sample chapters of the sample thesis use this command.
-
Toggle ItemI'm working on a dissertation not a thesis, what are the formatting requirements for a dissertation?
In this document the term "thesis" is used to refer to both a thesis and a dissertation unless the difference is significant. The formatting requirements for a thesis and a dissertation are the same.
-
Toggle ItemWhat happens if a student uses a manuscript as a chapter in their thesis, graduates and then the manuscript is rejected after the defense?
Nothing. The student defended their work as a research contribution, the committee voted to pass the student and the student is done regardless of what a program committee or journal editor decides to do with the work.
-
Toggle ItemWhat if... Student A uses a manuscript as a chapter in their thesis, defends and graduates. Student A's manuscript is eventually rejected in peer review. Later, Student B continues that same line of work, carries out additional research, and revises (not rewrites, but revises) the original manuscript for resubmission. Can Student B include the revised manuscript in their thesis even though Student A didn't include a statement about sharing the manuscript as per the requirements for sharing a manuscript as listed above?
Yes, Student B can include the revised manuscript because it is not a verbatim copy of the same manuscript included by Student A. Student B should describe what parts of the work and writing belong to Student B and which parts were generated by Student A. The thesis committee will need to decide whether or not Student B's work (along with any other work included in the thesis) is sufficient as a thesis.
-
Toggle ItemWhere does the bibliography go in my thesis?
Each paper or manuscript chapter includes it's own bibliography. Traditional chapters can include a bibliography after each chapter or the thesis may include a complete bibliography for the traditional chapters (but not the paper or manuscript chapters) at the end of the thesis. In latex, most authors find it easiest to include the bibliography for traditional chapters at the end of the thesis rather than at the end of each chapter. This is what is done in the sample thesis.
-
Toggle ItemIf I include the bibliography for each paper at the end of each chapter, I'll end up citing the same paper more than once. Is that ok?
Yes. Include each paper as-is as a chapter (following the guidelines above) including the bibliography.
-
Toggle ItemI've got a manuscript that's nearly ready for submission for peer review. It just needs some more editing and formatting adjustments. Can I use that as-is right now as a chapter in my thesis?
No. Manuscript chapters much be in a format suitable for peer review (with some modifications as described above). A manuscript that is not quite ready for peer review and will be included as a chapter in a thesis should be formatted as a traditional chapter.
-
Toggle ItemThis document seems to assume I'm going to prepare my thesis in Latex. But I'm going to use Word (or something else). How do I prepare my thesis in the right format using Word instead of Latex?
You will need to work with your advisor to figure out how to meet formatting requirements. The department has decided to focus it's support on Latex as a tool for formatting theses. You are free to use any tool you want, but you and your advisor will need to figure out how to meet formatting requirements. The Latex skills required to meet the formatting requirements are not advanced. For example, you might use Word to prepare your papers and manuscripts but if you can convert them to a pdf, which you likely will for peer review and publication, then you can include those pdfs in your thesis in Latex with minimal effort.