Advancing your studies past the bachelors degree can be a wonderful experience. Learning about the cutting-edge of the field and possibly doing research that moves the field forward can be very rewarding. Students often have questions about graduate school and hopefully this page and the associated links will help you figure out if graduate school is for you.
That depends on your field. In computer science, the primary graduate degrees are the Masters and Doctorate (PhD) in computer science. The Masters degree is comprised primarily of coursework that builds on your undergraduate work and better prepares you for industry or further graduate studies. The Doctorate moves past the Masters course work to individual research in a specific area of computer science. A PhD can either be used in academia or to do research in industry.
If you think you might want to go to graduate school it is important that you start preparing early. Here is a list of things that are important for grad school admissions:
Your GPA is obviously important to a graduate admissions committee, but the committee will also look at several other factors. You will need to find between three and five faculty to write letters of recommendation for you. It is best if these faculty know you well. The best way to get to know a faculty member is to do an individual research project (CS 370 and possibly CS 379H). You should plan on starting this during your junior year so that your results can be reflected in your letters. You also need to take the general GRE exam. For some schools you will need to take the CS subject exam. You should take the general exam subject exam as late as possible so that you can use what you have learned in all of your courses.
Documenting research requires technical writing skills. Students considering graduate school may want to prepare by enrolling for CS 234 - Technical Writing. This is a small class with lots of opportunity for individual attention that will help satisfy your substantial writing component requirement.
For a list of other recommended courses, please visit our Research Opportunities page.
The answer to this question is very difficult. Your primary consideration should be a school in which you can succeed and accomplish your goals. Perhaps you want to go to a school that specializes in computer theory or maybe a school that is strong with no particular specialization.
There is an abundance of information on graduate schools on the internet. Here are some good resources: