Undergraduate Computing Overview

Options

Several majors relate to some aspects of computing. You may know that you like computers and wonder if there's a major here for you. There probably is. Here is a brief description of several different computer-related fields you can explore.

Because these fields overlap, you can take introductory courses in your first two years that satisfy requirements for several of them. These introductory courses include math, physics, chemistry, and the basics of programming. You can decide in your fourth semester which computing major you prefer, and you'll be in fine shape to finish in the standard four years.

Opportunities

Many Rice students want to do more than just take the courses for a major and graduate. There are several ways you can do something a little extra if you want:

Results

It's natural to ask whether a degree in computer science leads to job, and if so, what kind? Rice can't guarantee you a job, but an large number of Rice computer science majors have gone on to graduate school, or to work for Microsoft, IBM, Trilogy, Shell, and other corporations. With a computer science degree, you are qualified to work as a programmer, software engineer, systems analyst, IT consultant, etc. Many such jobs are available. Many other fields are just entering the computer age, so it is possible to combine an interest in computing with an interest in art, architecture, the law, medicine, or another field, and find a job that applies computing to that field.

Starting - the CS way

The typical plan is for a CS major to take three computing courses as a freshman. These courses are also appropriate for non-majors.

For further details and alternate schedules, please see our comprehensive Undergraduate Scheduling Advice.

Starting - some other way

There are several courses in various departments that introduce computing from a different perspective than the computer science department offers.

Q & A

What computers do we use?

All educational computing is done on Owlnet, a campus-wide network connected to the Internet, consisting mainly of Unix workstations and some Microsoft Windows machines.

How can I use my own computer?

Owlnet has Ethernet connections in all residential college rooms for on-campus access, and dial-in lines for off-campus access. Programs submitted must work on Owlnet; where you write them is up to you.

Do I need any particular kind of software?

On Owlnet, all required programs are provided. On your personal computer, a terminal program is sufficient to connect to Owlnet, and a X Windows emulator is helpful. To work disconnected from Owlnet, you'll have to buy or download other software that will vary from class to class.

What programming languages do we use?

In chronological order, primarily Scheme, Java, C, and C++.

What do they look like?

A factorial function, in Scheme:
     (define (fact n)
       (cond [(zero? n) 1]
             [else      (* n (fact (sub1 1)))]))
     
and two versions in C or C++:
     int fact(int n)
     {
        if (n == 0)
           return 1;
        else
           return n * fact(n-1);
     }

     int fact(int n)
     {
        int i;
        int product = 1;

        for (i=n; i > 0; i -= 1)
            product *= i;
        return product;
     }
     
A Java version would be very similar to either of the latter two.