Every serious computer science student quickly realizes that there is more to selecting a graduate program than just rankings.
Although name recognition and ranking are important, several other factors must be considered before choosing a master's or doctoral program. These factors include program specialization, faculty research, location, and financial support.
20 Top Graduate Programs in Computer Science
Note on Methodology:
The Academic Ranking of World Universities lists the following 20 graduate computer science programs as the best in the United States (only Toronto in Canada, Oxford in England, and a handful of schools in Israel and Switzerland rank with these U.S. schools). The first nine schools on this list are also the best worldwide.
1. Stanford University
Interested in robotics or A.I.? Stanford has received plenty of recognition for its research efforts in revolutionary areas such as robotics, artificial intelligence and scientific computing.
Founded in 1965, the Stanford Computer Science (CS) Department program offers Master's of Science and Doctor of Philosophy degrees. The department continues to lead the world in computer science research and education. The department often performs interdisciplinary research and work in areas such as physics, engineering, and medicine.
Donald Knuth, a notable Computer Science alumnus and a Stanford professor emeritus, authors an on-going, mammoth, seven-volume series called The Art of Computer Programming, recognized as the industry's ultimate go-to guide. Knuth is well-known for his historical contributions to the study of algorithms and computer programming design.
2. Massachusetts Institute of Technology (MIT)
From revolutionary medical electronic devices harvesting energy to a child's LeapPad Learning System, the Electrical Engineering and Computer Science Department (EECS) at MIT has a solid reputation for making a global technological impact in the world.
The Computer Science department offers master's and doctoral programs with courses in areas such as algorithms, information theory, multicore programming, and robotics.
The MIT Computer Science and Artificial Intelligence Laboratory (CSAIL), the largest research laboratory at MIT, is also one of the world's most vital centers for information technology research.
The EECS has 130 faculty members, all expert researchers in their fields. Graduates become leaders in areas such as academia, materials science, biomedical technology and nanotechnology, to name a few.
Once in the program, students follow in the footsteps of notable alumni like William Hewlett (co-founder of Hewlett-Packard) and Robert Metcalf (co-founder of 3Com), as well as current faculty members such as Anant Agarwal, Professor of Electrical Engineering and Computer Science, who has co-founded several companies including Tilera Corporation, which created the Tile multicore processor, and Virtual Machine Works.
3. University of California Berkeley
The Electrical Engineering and Computer Sciences (EECS) division of UC Berkeley has turned out some of the biggest names in technology such as the ever-quirky Steve Wosniak, co-founder of Apple Computers, and William Joy, co-founder of Sun Microsystems.
Among many notable current EECS faculty members, Pieter Abbeel has won several awards, including the Sloan Research Fellowship. Popular media outlets such as the New York Times, the BBC, and the Discovery Channel have featured Abbeel's advanced work in robotics and aerobatics.
The EECS program offers Master of Science and Ph.D. degrees in areas such as computer architecture, operating systems, robotics, database management systems, and scientific computing.
Master's degree students receive preparation for research both in theoretical areas and in hands-on experience; most are laying the groundwork for a Ph.D.
4. Princeton University
Princeton, New Jersey
Are you interested in designing the latest software technology to help those suffering from speech impairments brought on by strokes or head trauma?
Or how about researching chromosomal abnormalities and their role in cancer?
The Princeton Computer Science (CS) Department offers Master's of Science in Engineering (M.S.E.) and Ph.D. degrees with research projects and internships in both of those important areas, as well as projects in theory, computational markets, networks and systems, computer architecture, and programming languages, just to name a few.
Some areas of study include algorithms and data structures, computational linguistics, computer music, cryptography, and programming languages.
Alan Turing and Alonzo Church, the theoretical fathers of computer science and artificial intelligence, are just some of the many notable Princeton CS alumni who have made indelible marks in the field.
Working with computer science alumni and faculty such as William “Red” Whittaker---who led the Tartan Racing team to victory in the 2007 DARPA Grand Challenge and who is currently leading a graduate team competing for the Google Lunar X Prize (space competition to land a robot on the moon)---is just one of the many advantages of attending the Carnegie Mellon University School of Computer Science (SCS).
Carnegie Mellon has received recognition for having the world's first machine learning department.
SCS offers Master's in Science and Ph.D. degree programs ranked highly in specialty and interdisciplinary areas such as machine learning, artificial intelligence, systems, and theory.
SCS offers more than 15 Ph.D. programs and interdisciplinary tracks across several departments. Some tracks offered in the program include applied logic, computational biology, language and informational technologies, and robotics.
6. Cornell University
Ithica, New York
The cartoon series “The Jetsons” gave Americans a glimpse into the world of household robots. Today, students can learn alongside Cornell faculty such as Ashutosh Saxena, who conducts research in robot learning. His work, which has been featured in BBC World News, highlights breakthrough research in robotics manipulation and how personal robots can truly be useful in common household and office spaces.
The Cornell Department of Computer Science Master's of Science and Ph.D. programs offer courses and research topics in areas such as database systems, security, graphics, robotics, and computer architecture, to name a few.
The M.S. program includes core courses and thesis research requirements. The CS Ph.D. program includes different field and graduate school requirements including teaching, breadth requirement, research projects, completing residencies, and taking exams.
Los Angeles, California
Did you ever see the movies Avatar or Spider-Man 2? Paul Debevec, a research associate professor in the Computer Science department of the University of Southern California (USC) Viterbi School of Engineering, received a Scientific and Engineering Academy Award for the design and engineering used in both films.
Did you ever have a computer virus? Thanks to USC alumnus Fred Cohen, inventor of computer virus defense techniques, viruses can be contained and eliminated.
The USC Department of Computer Science has 40 research faculty members contributing to the fields of computing both nationally and internationally since 1968.
Both Master's of Science and Ph.D. students work in interdisciplinary research projects, including DNA computing, neuroscience, Internet technologies, software architectures, and computer graphics. Research and specialized areas include games design, artificial intelligence, computer networks, intelligent robotics, and software engineering, just to name a few.
8. The University of Texas at Austin
Dell Computers founder Michael Dell may have dropped out of the University of Texas at Austin, but his contributions to technology and his financial contributions to the University of Texas Computer Science (UTCS) department will forever live on.
Just one of many notable alumni, UTCS has 45 faculty members who collectively garnered over 150 national and international awards, including two Turing awards.
Recently, NPR did a radio segment on one such UTCS professor, Peter Stone, and his work in creating a robot that plays soccer.
The Master's of Science program includes major and minor coursework in areas such as computer architecture, multimedia systems, and artificial intelligence. Students may opt to finish the program with or without a thesis. The Ph.D. program offers foundational requirements as well as breadth; however, most of the program is research-based in areas such as formal methods, model-driven engineering, bioinformatics, and graphics and visualization, to name a few.
9. Harvard University
Bill Gates, co-founder of Microsoft, is unquestionably one of the most technologically famous individuals to attend Harvard University (he did not graduate). The Bill and Melinda Gates Foundation underwrote one of the main research facilities at Harvard, which houses students from the School of Engineering and Applied Sciences (SEAS) and all of its groundbreaking activities.
The SEAS Computer Science department, which offers both Master's and Ph.D. programs, continues to lead the world in advances in areas such as imaging, security, artificial intelligence, linguistics, and computational theory.
The Master's program requires two components to graduate: the general requirements of SEAS and additional work specific to the Computer Science degree. Doctoral students are required to take a minimum of 10 courses, along with a plan of study which includes research.
All graduate students are required to choose a path in one of five areas: Applied Mathematics, Applied Physics, Computational Science and Engineering, Computer Science, or Engineering Sciences.
10. California Institute of Technology (Caltech)
Caltech's Computing and Mathematical Sciences department is home to some of the most innovative research in the world. For example, faculty member Professor Erik Winfrees's breakthrough research in molecular programming aims to put this technology in the hands of users in biology, chemistry, and physics.
Facebook, the social media giant, has hired Caltech graduates in research positions to improve long-term web performance and user latency optimization.
The Doctorate in Computer Science program aim towards a Ph.D. and include courses in areas such as information theory, robotics, and operating systems. The core coursework and thesis necessary for the M.S. degree do not lead to a terminal degree, but are a required part of the Ph.D. program.
The doctoral program consists of research, breadth requirement, a thesis, and a final examination.
11. University of Illinois at Urbana-Champaign
Champaign County, Illinois
Many alumni of the University of Illinois's Computer Science department (CS @ Illinois) are true pioneers and leaders in the technology industry.
Alumnus Ray Ozzie, Microsoft's chief software architect, develops the company's next-generation software services platform. Alumnus Max Levchin is the CEO of Slide, the largest social entertainment company in the world. Alumnus Jawed Karim is the co-founder of the video-sharing website YouTube.
CS @ Illinois graduate students continue to conduct ground-breaking research in areas of computer science and technology.
The Computer Science program offers both Master's of Science and Ph.D. degrees. Master's students need coursework, thesis research, and breadth requirements to complete the program.
The doctoral program includes thesis research, coursework, a teaching assistantship, and exams or dissertation defense.
12. University of Maryland College Park
College Park, Maryland
Have you ever heard of a little company called Google? Sergey Brin, Co-founder and President of Technology at Google, is one of many famous alumni from University of Maryland College Park's (UMCP) Department of Computer Science.
At UMCP, students can also work alongside some of the most distinguished faculty in solving complex issues such as data security problems, online fraud, and other forms of abuse. Professor Elaine Shi's significant research achievements in cryptography and oblivious computation may shape the monitoring and protection aspects of online security.
The UMCP Department of Computer Science offers M.S. and Ph.D. degrees. The department performs research in areas such as computer vision, bioinformatics, artificial intelligence, and graphics, to name a few.
The department offers the M.S. degree with and without thesis options, along with relevant coursework. The doctoral program includes coursework, oral exams, and dissertation research.
13. University of California San Diego
San Diego, California
Dr. Micheal Taylor of the University of California San Diego's (UCSD) Computer Science and Engineering (CSE) Department is developing a prototype processor called the GreenDroid, designed to dramatically reduce energy consumption in smart phones. UCSD participates in this type of cutting-edge research and other forward-thinking projects.
The CSE department offers Master's and PhD programs in areas such as spanning theory, computation, software, and hardware. It houses 400 graduate students and 50 faculty members.
For the M.S. program, students take core courses, decide on one technical concentration area, and then choose from several options to complete the program. These options include a thesis, a comprehensive exam, and a project, or else an interdisciplinary plan.
The doctoral program includes research breadth and depth requirements, exams, a teaching assistant requirement, and dissertation.
14. University of Michigan Ann Arbor
Ann Arbor, Michigan
Do you download music? Well, thanks to University of Michigan (UM) alumnus Tony Fadell and his creation of the iPod, music lovers have access to hundreds of thousands of songs and albums anywhere, anytime.
Tony Fadell, former Senior Vice President of Apple's IPod's division, is just one of many distinguished alumni from the University of Michigan's Electrical Engineering and Computer Science program (EECS).
The Master's in Computer Science program includes core courses and specific topics of study and research such as robotics, computer vision, programming languages, and coding theory.
The doctoral program includes advanced courses in areas such as computer theory, architecture, and interactive systems, as well as a research dissertation.
West Lafayette, Indiana
The film Gravity not only won several Oscars, but it also has something in common with Purdue University's Computer Science Department alumnus, Dr. Kevin Grazier.
Grazier was the science adviser during the movie's filming, as well as on several other science TV series and shows. His contributions extend to NASA---he was science planning engineer for 15 years at the Jet Propulsion Laboratory, where he wrote award-winning mission planning and analysis software.
Graduate students can reach for the stars through obtaining their Master's and Ph.D. degrees in computer science from this world-renowned university. The graduate program prepares students for research and teaching and offers research projects in areas such as data mining, computational biology, software engineering, and distributed systems, to name a few.
The online Master's in Computer Science program allows for both on-campus and distance learning. The Ph.D. program encompasses breadth requirements, oral and written exams, and a thesis.
16. Columbia University
New York City, New York
With Alumni such as Saul Amarel, pioneer in Artificial Intelligence, and Stephen G. Perlman, OnLive founder and developer of Mova Contour motion capture technologies, it's no wonder graduate students look to Columbia University's Department of Computer Science for educational and research excellence.
The department falls under the Fu Foundation School of Engineering and Applied Science and offers both master's and doctoral degrees.
The Master's of Science program includes core courses and a thesis, as well as specialty track areas such as natural language processing, software systems, and computer security, to name a few.
The Ph.D. program includes directed, advanced research with faculty like Dana Pe'er and her breakthrough cancer research using computational biology.
The doctoral requirements also include community service, breadth and depth requirements with exam or coursework, teaching, and a dissertation.
17. University of Washington
The University of Washington's (UW) Computer Science & Engineering (CSE) Department offers several programs to graduate students, as well as multidisciplinary students, covering computer science fundamentals, research, and innovation.
University of Washington's CSE program offers a Professional Master's Program (PMP) and a regular Master's Program, as well as a Ph.D. degree program. The PMP program is designed for fully employed professionals who plan on continuing working while attaining skills to move them into higher-level positions and projects of greater depth. The program offers educational courses in areas such as Human Computer Interaction, Applied Algorithms, and Parallel Computation, and allows for both on-campus and distance learning.
The regular Master's program offers coursework similar to that of the PMP program, as well as a capstone project and thesis component.
The Ph.D. program offers a strong computer science research program, as well as multidisciplinary projects in fields such as Computer Graphics, Vision, Animation, and Game Science. For example, Prof. Zoran Popovic,in collaboration with UW biochemist David Baker, created an online multi-player visual game called Foldit that eventually led to the discovery of the structure of an AIDS-related protein that baffled scientists for over a decade.
The Doctorate in Computer Science program encompasses breadth requirements, seminars, research, and a dissertation.
18. Georgia Institute of Technology (Georgia Tech)
Georgia Tech's School of Computer Science has resources like faculty member Tom Conte and his groundbreaking research in computer architecture and compiler code generation, which allow graduate students to work alongside some of the biggest pioneers in computer science today.
Graduate students also follow in the footsteps of alumni such as Krishna Barhat, Google research scientist and creator of Google News, and Jim Allchin, former high-level executive with Microsoft.
The School of Computer Science offers both Master's and Ph.D. programs and provides an online M.S. degree program in Information Security.
The Master's program offers degrees in bioengineering, computer science, and information security. The school provides doctoral programs in algorithms and optimization, bioengineering, bioinformatics, and computer science,
19. University of California Los Angeles (UCLA)
Los Angeles, California
UCLA Computer Science alumnus Vint Cerf, who wears three-piece suits in an industry known for casual attire, has received recognition as an Internet pioneer and been dubbed one of “the fathers of the internet.” His contributions have garnered him the National Medal of Technology, the Turing Award, and the Presidential Medal of Freedom.
This description paints a portrait of just one of many distinguished and highly honored alumni and faculty in the UCLA Computer Science department.
The department offers both Master of Science and Doctor of Philosophy degrees. The master's program entails either a thesis plan of study or an examination plan of study. Each plan includes core coursework which students can usually complete in a year and a half.
The doctoral program includes breath requirements and courses, exams, and a dissertation.
20. Yale University
New Haven, Connecticut
With notable alumni such as Grace Hopper, computer language pioneer, it is no wonder students seek to enter the field of computer science at Yale University.
The Yale Computer Science department offers two graduate programs: Doctor of Philosophy (Ph.D.) degree and a terminal Master of Science (M.S.) degree. It typically takes a year to get a master's, and between four and six years to obtain a doctorate.
The Master's degree requires taking eight courses. The Ph.D. program focuses on research. The first three terms of the doctoral program have breadth requirements, but the third term has its main focus on research, guided by an adviser and supervisory committee.
Some of the areas of research include computer music, robotics, computer graphics, scientific computing and applied math, and machine learning and artificial intelligence.
Students can expect to work alongside notable faculty such as Brian Scassellati, whose research project in the robotics lab builds human-like robots to aid in the understanding human development (more specifically, the social development of children). Scassellati believes robotics offers a new kind of interdisciplinary tool for investigating human behavior.
Choosing the Right Program for You
With computer science encompassing such a wide range of sub-fields, you will want to select a program that specializes in the area you are interested in researching.
Interested in theory? Then MIT and Cornell would be better choices than Yale or Caltech.
Is machine learning the area you'd like to specialize in? Then you cannot beat Carnegie Mellon, home of the world's first machine learning department, with over 40 core and affiliated faculty in this area of research.
Take time to find the top programs that are also strong in the area you want to study. Choosing a school based on area of specialization will provide you with more research opportunities and be a better fit academically.
Additionally, you will want to choose a school with faculty working on research projects that interest you. Getting accepted to a top program does not guarantee that you will find a project you can become passionate about; you additionally need to find an adviser whose particular research interests coincide with yours.
Graduate school is the opportunity to learn and conduct research under the brightest minds in your field, so make sure the school you choose has a good number of faculty working on projects you find personally interesting.
Moreover, you will want to take practical matters, such as location and financial support, into account. If you are a die-hard surfer from Orange County, California, a move to Urbana-Champaign, Illinois, may not be an option for you. Location should be lower on your list of priorities, but still relevant in making your decision. Computer Science Doctoral programs last anywhere from four to seven years, so be sure to visit any campus you are seriously considering before you make your final selection.
More important than location, financial support should rank chief among your concerns when selecting a program. Graduate life is difficult, and financial anxiety will only compound any academic stress you face.
Avoid schools that offer minimal or no financial support, and avoid piling up debt in the course of your graduate education. There is no point in accumulating debt when many good programs provide full financial support through teaching assistantships and research fellowships. Find programs willing to provide financial support for students of your academic background, and ask about duration and continuation guarantees when assessing any offer.
Taking these factors into consideration will help you choose a program that is right for you and provides the best opportunity or you to succeed as a graduate student.
Online Graduate Degrees in Computer Science
Some of the programs on the list may offer fully or partially online Master's in Computer Science programs or Doctorate in Computer Science online programs. These online degrees typically carry the same weight as their on-campus counterparts, and required internships or research projects can often be completed at an approved location near the student's home.
Applying to Schools
After narrowing your choices based on research interests and other factors, you are still faced with the decision of how many and which schools to actually apply to. Although this process will be different for each student, a few general guidelines are useful.
An optimal number of programs to apply to is between five and eight. Admissions processes are notoriously arbitrary. With so many students applying for so few positions, getting admitted to a top program can, even for superlative students, be a crapshoot.
So don't risk your academic career on a single school that may or may not accept you. Although applying to 100 schools may sound like a good way initially to improve your odds, the $70--$80 cost for each application should quickly dissuade you from such a strategy.
Even for those who can afford it, this strategy is a poor one, since you are either an ideal applicant or you are not. If you are, it will be a burden turning down the 80 schools that accept you, not to mention the cash you will waste in the process. You can only accept one offer in the end.
If you are not the type of student graduate programs are competing for, why would you apply to schools like MIT, Stanford, and Berkeley, when they are almost certain to reject you? The application process calls for a dose of realism, even in the midst of optimism. Your wallet will thank you later.
To be sure, apply to some top schools you would die to get into. But also apply to some mid-level schools you would be happy to attend, and one or two safety schools. A good, balanced strategy would be to apply to:
1. Two “reach” schools (such as Carnegie Mellon, MIT, Berkeley, or Stanford for top students; or UCLA or Texas for competitive students). If you can get into one of these, then there is no need to apply to all of them. However, applying to more than one may improve your chances of being admitted.
2. Two solid choices that you have a reasonable chance of being admitted to, if you are a good student (such as Georgia Tech or Ohio State). These are reputable schools with programs you would be proud to participate in. The exact choice of schools will depend on the caliber of student you are, but choose two that you have some likelihood of being admitted to based on your academic profile.
3. One or two "safety" schools. These are schools which you are almost sure to get into and only serve as a back-up in case you are not accepted into any of your preferred schools. If you choose your mid-level schools wisely, you should not need to rely on these; however, it is always a good idea to have a Plan B ready, just in case your Plan A does not pan out. Many smaller state and private schools can serve as such back-up schools.
Throughout the application process, talk to others, such as professors and mentors, regarding which schools are a good fit for your interests and academic profile. Although no one likes to have one's dreams shot down, applying to MIT with a GPA of 3.0, no publications, and GRE scores of 600Q/400V is simply a waste of money. Choose your schools wisely, since the application process is expensive and time-consuming.
You should also begin the process early and maintain a spreadsheet tracking all the applications you are submitting, their due dates, and the forms needed for each. As you make progress on the applications you can mark off which forms you have sent in and which still need to be submitted. This spreadsheet will serve as your “command center” during the application process and will help you avoid missed deadlines and incomplete applications.
As a final note, don't be discouraged if you are turned down by one (or possibly several) schools. The process contains a large element of luck. We know students who were accepted by Carnegie Mellon, yet were rejected by UC San Diego and Penn. Different schools are looking for students with different strengths and interests, so a school may not consider you a good fit for its faculty.
Try to enjoy the application process and keep yourself from being discouraged. If you applied to schools wisely, you should get into at least one program you will be happy with. As with marriage, in choosing a graduate program in computer science, you don't need everyone to want you, just the right one.