Top blue bar image Department of Computer Science

Undergraduate Advising

Faculty advising is an important part of the undergraduate experience. Advisors can help you tailor a program to meet your particular situation and needs. The major advisors in the department are aware of the latest courses and other developments in the major and can give you personalized advice. When you declare your major you will be assigned a major advisor with whom you can meet as needed. We encourage you to meet with your major advisor at least once per semester to discuss courses, internships, careers, and other plans.

advising01

Undergraduate advisors are automatically assigned using the first two letters of  the student's last name. 

Advisor Email (@rice.edu) Extension Student last name (click here to sort)
Alan L. Cox alc 5730 Si-Wh
Scott Cutler cutler 2526 Db-Gz
John Greiner (majors & transfer) greiner 3838 Aa-Da
David B. Johnson dbj 3063 Ha-Ki
Mack Joyner
mjoyner
4397
Wi-Zz
Scott Rixner rixner 6353 Kj-Mz
Stephen Wong swong 3814 Na-Sh

Alan Cox (chair), John Greiner, Scott Rixner, and Stephen Wong also serve as members of the undergraduate committee.

Degree Requirements

The General Announcements are the final word in what is required to earn a degree at Rice. Click here for information on the Bachelor of Arts and Bachelor of Science degrees in computer science. The Engineering Advising Booklet ( see PDF) contains departmental information, advice, and sample degree plans for all semesters of study toward the undergraduate degrees.

These documents may also help when selecting courses for your major:

Need to choose an introductory computing course? Refer to these guidelines.

BSCS Capstone (CAP)

BSCS majors in their junior year need to submit a justification of their chosen BS capstone to their CS advisor for approval. This justification includes a description of the chosen area of focused study, the skills and knowledge needed for that area and how the chosen set of capstone courses will address those necessary skills and knowledge. Please see the BSCS Cap Justification Guide for detailed suggestions on how to write an effective BS CAP justification.

AP & IB Credit in Computer Science

The department grants credit for work done in Advanced Placement and International Baccalaureate programs, as confirmed by the corresponding standardized exams. Students receive credit as follows:

  • AP Computer Science A exam with a score of 4 or 5 yields 3 hours credit in COMP 110.
  • IB Computer Science score of 6 or 7 yields 3 hours credit in COMP 110.

Credit in other tests, such as Calculus or Physics, apply toward the corresponding degree requirements.

Distribution versus Major Requirements

COMP 110, 130 and 140 satisfy Group III distribution requirements and count toward your total hours requirement. COMP 110 does not satisfy any Computer Science major requirement, while COMP 130 and 140 do.

Transfer Credit

Students can request Rice credit for coursework taken at other institutions. See the Registrar's information on transfer credit for details. To get credit for a specific course that would apply towards your major or distribution requirements, you must get departmental approval.

To receive credit for a computer science course, the student must contact their departmental advisor, who will work with the student to determine if the transferred course is equivalent in content, scope, and difficulty to a Rice course. The amount of credit given will depend on specific circumstances; for example, a two-course sequence that is equivalent to COMP 311 will likely produce credit for only one course at Rice.

Courses with no equivalent in our curriculum can transfer as non-specific course numbers such as COMP 1XX, 2XX, 3XX, or 4XX. Such credit may count towards the electives and cap of a Computer Science major. Consult your departmental advisor for specific information.

Other departments that offer computing-related courses may grant transfer credit for courses that do not satisfy Computer Science's requirements. For example, an introductory programming course might be equivalent to CAAM 210 or an assembly-language programming course might be equivalent to ELEC 220. Consult the undergraduate advisors in those departments for specific assistance.

Opportunities for Independent Study

The Department offers a number of independent study or project courses. These courses all require close interaction with members of the faculty. The student must find a faculty member to supervise the project and evaluate the student's performance (e.g., provide a grade). In working out the details for one of these courses, the student and the professor must agree on the form of the project and the manner in which it will be evaluated. Consult your degree plan or your departmental advisor for information on the applicability of these courses to specific degree requirements.

  • COMP 491 involves being a laboratory assistant ("labby") for an undergraduate course. The work includes the typical labby duties of grading and holding office hours. To qualify for 491, the student must perform duties beyond the standard "for pay" labby job. This additional work might include developing assignments; lecturing in class, in a lab section, or in a tutorial; or developing other supporting materials. Credit for COMP 491 requires the approval of the Department's chair of both a written proposal (by the student early in the semester) and a final report (by the faculty member after the semester). A student may receive credit for COMP 491 multiple times.

  • COMP 290/390/490 exists to provide course credit for academic research. The numerical level of the course (i.e., 290 vs. 390 vs. 490) depends on the depth and originality of the work. The course allows for a variable number of credit hours. Student and supervising professor must agree, in advance, on the level and number of credit hours, as well as the means of evaluating the work. A student may receive credit for COMP 290/390/490 multiple times.