So You Think You Want to Major in Computer Science...

WONDERFUL!

If you are thinking about majoring in computer science, you should go to the Science Center and talk to a computer science professor. In the meantime, here are the requirements for a major. (Our entry in the College catalog is the official word on these matters, so read it, too.)

The Major

There are five required courses in the major:

* COSC 111 and 112:  Introduction to Computer Science I and II
* COSC 171:  Computer Systems
* COSC 211:  Data Structures
* COSC 311:  Algorithms

Each major must also take four or more electives and pass an oral comprehensive exam in the senior year. He or she must take a total of at least nine COSC courses numbered 111 or higher, not including thesis courses. This means that if a student covers any core course by advanced placement, an additional elective is required.

To Declare a Computer Science Major:

First, please send an e-mail to Prof. Rager, the chair of computer science (jerager@amherst.edu) and tell him:

1. What CS courses you have taken/are taking and what grades you got.
2. How many semesters you have left before you graduate.  
3. If you have preferences for your COSC advisor, what they are. (Note that advising loads need to be balanced, so you are not guaranteed to get your choice, but we try.)
 
Note that he will NOT make any sort of judgement.  He will check to see if there is any advice he needs to pass on at this point.  
 
Second, use Workday to add a major.  There are instructions.  Look for “Declare your major” on  https://www.amherst.edu/services/workday-at-amherst/advising-and-registration#

Course listings

You can use the Courses tab at the left (or these links) to access information on this semester and our full curriculum.

Major Explorations: Computer Science

Welcome

Computer Science is about analyzing what computers can do, what they can't do, what is possible, and what can be done better. We offer courses in data structures, algorithms, computer systems, artificial intelligence, computer graphics, programming languages, and more.