Bachelor of Science in Computer Science (BSCS) Degree

Program Learning Outcomes for the BSCS Degree

Upon completing the BSCS degree, students will be able to:

  1. Be knowledgeable about algorithms and their use. Students will analyze new problems, choose appropriate algorithms for their solutions, and develop analytical skills in the manipulation of algorithms.
  2. Demonstrate the ability to design and implement complex software systems. Students will demonstrate skill in their design and implementation and function effectively in teams.
  3. Be knowledgeable about programming languages and their use. Students will demonstrate an understanding of distinguishing and mapping two different programming languages.
  4. Communicate effectively to a client and user. 
  5. Be knowledgeable in three different subareas of Computer Science (systems, application domains, and theory). Students will be able to explain issues in each subarea and demonstrate a depth of knowledge. 

Requirements for the BSCS Degree

For general university requirements, see Graduation Requirements. Students pursuing the BSCS degree must complete:

  • A minimum of 20 courses (68-72 credit hours, depending on course selection) to satisfy the major requirements.
  • A minimum of 120 credit hours to satisfy degree requirements.
  • A minimum of 12 courses (40-44 credit hours, depending on course selection) taken at the 300-level or above.
  • A maximum of 5 courses (20 credit hours) from study abroad or transfer credit after matriculation at Rice may be applied towards specific major requirements. For additional departmental guidelines regarding transfer credit, see the Policies tab.

The BSCS degree is designed for students who are interested in an in-depth study of computer science to prepare themselves for a professional career in the computing industry.

The courses listed below satisfy the requirements for this major. In certain instances, courses not on this official list may be substituted upon approval of the major’s academic advisor or, where applicable, the department's Director of Undergraduate Studies. (Course substitutions must be formally applied and entered into Degree Works by the major's Official Certifier.) Students and their academic advisors should identify and clearly document the courses to be taken.

Summary

Total Credit Hours Required for the Major in Computer Science68-72
Total Credit Hours Required for the BSCS Degree120

Degree Requirements

Core Requirements
Math Courses 1
MATH 101SINGLE VARIABLE CALCULUS I3
or MATH 105 AP/OTH CREDIT IN CALCULUS I
MATH 102SINGLE VARIABLE CALCULUS II3
or MATH 106 AP/OTH CREDIT IN CALCULUS II
MATH 212MULTIVARIABLE CALCULUS3
or MATH 222 HONORS CALCULUS IV
or MATH 232 HONORS MULTIVARIABLE CALCULUS
Select 1 course from the following:3-4
RANDOM SIGNALS IN ELECTRICAL ENGINEERING SYSTEMS
PROBABILITY AND STATISTICS
HONORS PROBABILITY AND MATHEMATICAL STATISTICS
PROBABILITY & STATISTICS FOR ENGINEERS
PROBABILITY AND STATISTICS FOR DATA SCIENCE
Select 1 course from the following:3
MATRIX ANALYSIS
MATRIX ANALYSIS FOR DATA SCIENCE
HONORS CALCULUS III
HONORS LINEAR ALGEBRA
LINEAR ALGEBRA
Computer Science Courses
COMP 140COMPUTATIONAL THINKING4
COMP 182ALGORITHMIC THINKING4
COMP 215INTRODUCTION TO PROGRAM DESIGN4
COMP 222INTRODUCTION TO COMPUTER ORGANIZATION4
COMP 301COMPUTER ETHICS3
COMP 312INTRODUCTION TO PROGRAMMING LANGUAGES3
COMP 318CONCURRENT PROGRAM DESIGN4
COMP 321INTRODUCTION TO COMPUTER SYSTEMS4
COMP 382REASONING ABOUT ALGORITHMS4
Select 1 course from the following:4
PRODUCTION PROGRAMMING
SOFTWARE ENGINEERING METHODOLOGY
DISTRIBUTED PROGRAM CONSTRUCTION
GENOME-SCALE ALGORITHMS AND DATA STRUCTURES
ADVANCED COMPUTER GAME CREATION
SENIOR DESIGN IN A ROBOTIZED WORLD
Breadth Requirements
Systems
Select 1 course from the following:3-4
COMPILER CONSTRUCTION FOR UNDERGRADUATE STUDENTS
OPERATING SYSTEMS AND CONCURRENT PROGRAMMING
PARALLEL COMPUTING
INTRODUCTION TO COMPUTER SECURITY
INTRODUCTION TO COMPUTER NETWORKS
SECURE AND CLOUD COMPUTING
QUANTUM COMPUTING ALGORITHMS
DATABASE SYSTEM IMPLEMENTATION
Application Domains
Select 1 course from the following:3-4
IOT PROGRAMMING AND DATA ANALYSIS
WEB DEVELOPMENT
ARTIFICIAL INTELLIGENCE
REINFORCEMENT LEARNING
INTRODUCTION TO COMPUTER VISION
ALGORITHMIC ROBOTICS
MACHINE LEARNING WITH GRAPHS
FUNDAMENTALS OF ROBOTIC MANIPULATION
Theory
Select 1 course from the following:3-4
ADVANCED LOGIC IN COMPUTER SCIENCE
PRINCIPLES OF PROGRAMMING LANGUAGES
OPTIMIZATION: ALGORITHMS, COMPLEXITY AND APPROXIMATIONS
GENOME-SCALE ALGORITHMS AND DATA STRUCTURES
INTRODUCTION TO MATHEMATICAL CRYPTOGRAPHY
CONCRETE MATHEMATICS
COMPUTER GRAPHICS
PROBABILISTIC ALGORITHMS AND DATA STRUCTURE
AUTOMATA, FORMAL LANGUAGES, AND COMPUTABILITY
Elective Requirements
Select 2 courses from departmental (COMP) course offerings (a minimum of 3 credit hours each) at the 300-level or above 26
Total Credit Hours Required for the Major in Computer Science68-72
Additional Credit Hours to Complete Degree Requirements *17-21
University Graduation Requirements *31
Total Credit Hours120

Footnotes and Additional Information 

Policies for the BSCS Degree 

Program Restrictions and Exclusions

Students pursuing the BSCS degree should be aware of the following program restriction:

  • As noted in Majors, Minors, and Certificates, under Declaring Majors, Minors and Certificates, students may not obtain both a BA and a BS in the same major. Students pursuing the Bachelor of Science in Computer Science (BSCS) Degree may not additionally pursue the BA Degree with a Major in Computer Science.

Transfer Credit 

For Rice University’s policy regarding transfer credit, see Transfer Credit. Some departments and programs have additional restrictions on transfer credit. Requests for transfer credit must be approved for Rice equivalency by the designated transfer credit advisor for the appropriate academic department offering the Rice equivalent course (corresponding to the subject code of the course content). The Office of Academic Advising maintains the university’s official list of transfer credit advisors on their website: https://oaa.rice.edu. Students are encouraged to meet with the applicable transfer credit advisor as well as their academic program director when considering transfer credit possibilities. 

Departmental Transfer Credit Guidelines 

Students pursuing the BSCS degree should be aware of the following departmental transfer credit guidelines:

  • All courses taken after matriculation at Rice and used for transfer credit must meet the following restrictions:
    • Such courses must have been offered as part of a regionally accredited four-year degree program in Computer Science at a U.S. or international college or university of similar standing.
    • Massive open online courses, continuing education courses, and courses designed solely for online degree programs will not be accepted.
    • No more than 5 courses (20 credit hours) may apply towards major requirements.
    • No more than 3 courses (12 credit hours) may apply towards the “Computer Science Courses” section of the Core Requirements.
    • No more than 2 courses (8 credit hours) may apply towards upper-level coursework within the “Computer Science Courses” section of the Core Requirements.
    • No more than 1 courses (4 credit hours) may apply towards the Breadth Requirement.

Additional Information 

For additional information, please see the Computer Science website: https://www.cs.rice.edu/.

Opportunities for the BSCS Degree

Academic Honors

The university recognizes academic excellence achieved over an undergraduate’s academic history at Rice. For information on university honors, please see Latin Honors (summa cum laude, magna cum laude, and cum laude) and Distinction in Research and Creative Work. Some departments have department-specific Honors awards or designations.

Fifth-Year Master's Degree Option for Rice Undergraduate Students 

In certain situations and with some terminal master's degree programs, Rice students have an option to pursue a master’s degree by adding an additional fifth year to their four years of undergraduate studies.

Advanced Rice undergraduate students in good academic standing typically apply to the master’s degree program during their junior or senior year. Upon acceptance, depending on course load, financial aid status, and other variables, they may then start taking some required courses of the master's degree program. A plan of study will need to be approved by the student's undergraduate major advisor and the master’s degree program director.

As part of this option and opportunity, Rice undergraduate students:

  • must complete the requirements for a bachelor's degree and the master's degree independently of each other (i.e. no course may be counted toward the fulfillment of both degrees).
  • should be aware there could be financial aid implications if the conversion of undergraduate coursework to that of graduate level reduces their earned undergraduate credit for any semester below that of full-time status (12 credit hours).
  • more information on this Undergraduate - Graduate Concurrent Enrollment opportunity, including specific information on the registration process can be found here.

Rice undergraduate students completing studies in science and engineering may have the option to pursue the Master of Computer Science (MCS) degree. For additional information, students should contact their undergraduate major advisor and the MCS program director. 

Additional Information 

For additional information, please see the Computer Science website: https://www.cs.rice.edu/.