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:
- 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.
- Demonstrate the ability to design and implement complex software systems. Students will demonstrate skill in their design and implementation and function effectively in teams.
- Be knowledgeable about programming languages and their use. Students will demonstrate an understanding of distinguishing and mapping two different programming languages.
- Communicate effectively to a client and user.
- 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
Code | Title | Credit Hours |
---|---|---|
Total Credit Hours Required for the Major in Computer Science | 68-72 | |
Total Credit Hours Required for the BSCS Degree | 120 |
Degree Requirements
Code | Title | Credit Hours |
---|---|---|
Core Requirements | ||
Math Courses 1 | ||
MATH 101 | SINGLE VARIABLE CALCULUS I | 3 |
or MATH 105 | AP/OTH CREDIT IN CALCULUS I | |
MATH 102 | SINGLE VARIABLE CALCULUS II | 3 |
or MATH 106 | AP/OTH CREDIT IN CALCULUS II | |
MATH 212 | MULTIVARIABLE CALCULUS | 3 |
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 140 | COMPUTATIONAL THINKING | 4 |
COMP 182 | ALGORITHMIC THINKING | 4 |
COMP 215 | INTRODUCTION TO PROGRAM DESIGN | 4 |
COMP 222 | INTRODUCTION TO COMPUTER ORGANIZATION | 4 |
COMP 301 | COMPUTER ETHICS | 3 |
COMP 312 | INTRODUCTION TO PROGRAMMING LANGUAGES | 3 |
COMP 318 | CONCURRENT PROGRAM DESIGN | 4 |
COMP 321 | INTRODUCTION TO COMPUTER SYSTEMS | 4 |
COMP 382 | REASONING ABOUT ALGORITHMS | 4 |
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 2 | 6 | |
Total Credit Hours Required for the Major in Computer Science | 68-72 | |
Additional Credit Hours to Complete Degree Requirements * | 17-21 | |
University Graduation Requirements * | 31 | |
Total Credit Hours | 120 |
Footnotes and Additional Information
* | Note: University Graduation Requirements include 31 credit hours, comprised of Distribution Requirements (Groups I, II, and III), FWIS, and LPAP coursework. In some instances, courses satisfying FWIS or distribution requirements may additionally meet other requirements, such as the Analyzing Diversity (AD) requirement, or some of the student’s declared major, minor, or certificate requirements. Additional Credit Hours to Complete Degree Requirements include general electives, coursework completed as upper-level, residency (hours taken at Rice), and/or any other additional academic program requirements. |
1 | Typically, the Math courses are taken during the freshman and sophomore years. |
2 | At most 1 elective may be an independent study project (COMP 390, COMP 490, or COMP 491). Students may take courses at the 500-level. However, the only 600-level courses that may be used as electives are COMP 631 and COMP 646. |
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/.