MS in Computer Science Specializations
As a person seeking a master’s in computer science, you probably already have a good idea about which area of computer science you’d like to focus your master’s education on. However, you may want to explore all of your options before you make your commitment to a school.
Computer science programs aren't all generalist or generic – far from it. There is an opportunity to focus your education toward a particular domain at any point from the undergraduate level on. Programs typically offer a choice of concentrations. The concentration may be comprised of four or five courses that are interrelated and that will serve your future employment needs. There may be a required core as well as an array of electives.
Learn about the faculty members teaching courses in the concentration you are interested in. Maybe they are still involved in that particular industry or field of research. Faculty can be great connections for jobs after graduation.
Preparing to enroll? The following is a look at some of your choices.
Human Computer Interactions
A number of well respected universities offer concentrations in human-computer interactions. While colorful images may spring to mind, this doesn't have anything to do with conversing with robots! Students who choose this concentration focus on creating user-friendly interfaces. They learn to evaluate usability on existing applications and design new ones that eliminate potential problems. Developers must anticipate the problems that users may have. As students, they learn go through the development life cycle keeping the end user in mind; the first step would be a human-centered requirements analysis. Among the skills developed are data collection and prototyping.
Human-computer interaction can be pursued at the bachelor's or master's level. Advanced coursework and electives may focus on different types of platforms, systems, and interfaces. Students may also learn to create interfaces for individuals with special needs, for example, the disabled.
Cyber Security or Network Security
Computer security is a growing field, the BLS reports. Some schools make security its own track while others incorporate it into studies of computer systems. Students of cyber security learn steganography, encryption, and other ways of hiding data. They learn to analyze and correct software vulnerabilities. Some programs also include ethical hacking. (Yes, companies in the real world pay professionals to hack them – it’s a way of catching the vulnerabilities.)
Programs in cyber security may also touch on a variety of legal and societal issues: everything from copyright and digital rights to child pornography.
New Technologies: Mobile Applications, Cloud Computing, Distributed Systems
Some computer science programs offer concentrations in new technologies. Students who choose cloud computing learn to manage networks that link computers on a very large scale. Coursework may include distributed systems and parallel algorithms, as well as real world applications.
There are also programs that emphasize mobile technologies. Students can practice programming in common mobile environments. They may also learn about mobile networks and their unique security issues.
For those who are interested in computers that function more like humans, there is an opportunity to study artificial intelligence. The coursework may cover robotics as well as programs that work on traditional computers. Applications are varied: speech recognition, online assistants, data mining… creating the ultimate nonhuman gaming opponent. The University of Delaware describes artificial intelligence in two ways: that which is geared toward solving problems that don’t have algorithmic solutions and that which simulates some aspects of intelligence.
Courses may focus on pattern recognition, automated reasoning, and natural language processing. Artificial intelligence may captivate the imagination, but it is also academically rigorous.
Artificial intelligence can be good preparation for game design – but some computer science programs make game development its own track.
Bioinformatics is interdisciplinary, drawing from life sciences, but may be offered as a concentration within the computer science major. Future bioinformaticians learn to create software that will in turn help geneticists and other biologists generate new knowledge and solve problems.
Students take courses in natural science (chemistry, genetics) as well as courses in software development and database design.
A Master's in Computer science student may also concentrate on computational science or theory. There are a lot of other options out there, and some universities even allow students to design their own concentration. (Depending on department policy, students may need to submit a proposal.)
It can almost seem like there are too many choices. But for those who don’t have room in their schedules for everything that interests them, there’s always a PhD program.