Should I Get a Master's in Computer Science?

A master's degree in computer science can be useful for those wishing to pursue a career in technology, such as software and web development, or for professionals in a related field who may want to get a competitive edge. Learn about the prerequisites, typical program length, and common courses. Schools offering Computer Science degrees can also be found in these popular choices.

Information for Master's Computer Science Degrees

Master's degrees in computer science typically last 1-2 years, with core courses covering topics such as advanced algorithm, computer language theory, and software development. A bachelor's degree is required, and although it may vary by school, it is not a prerequisite to study undergraduate computer science or a related major; however, computer science master's programs are typically designed for professionals in computer science and other related fields.

Database Systems

A database systems course will teach database creation, implementation, and usability of a database from the user and creator perspectives. Students will learn and apply concepts such as data modeling, computing on data, designing schemas, and querying and manipulating databases. Students should come away from the course with a thorough knowledge of database systems and know how to use a database system to create a data-driven application.

Analysis of Algorithms

In algorithm analysis courses, students will explore fundamental techniques such as recursion, Fourier transform ordering and dynamic programming for efficient algorithm construction. Course topics include the different types of algorithms, such as polynomial-time, randomized and approximation algorithms. Additional course topics may include arithmetic and algebraic algorithm, and algorithmic game theory.

Foundations of Artificial Intelligence

At the graduate level, it is recommended that students taking a course in the foundations of artificial intelligence have good programming and algorithm analysis skills. This course will discuss current research directions in artificial intelligence and topics surrounding it such as knowledge representation, natural-language processing, and game-play. Students will understand how AI is built, how it works, and what it can be used for.

Web Technologies

Students in web technology classes should have an understanding of at least two programming languages. Web Technologies studies different programming languages and how they apply to the Web. Students will learn how to use these languages from the client-side and server-side.

Introduction to Data Mining

Introduction to data mining classes explore the basic concepts, principles, methods, implementation techniques, and applications of data mining, with a focus on pattern discovery and cluster analysis, which are two major data mining functions. Some topics covered are privacy-preserving data-mining and multi-dimensional categorization of cluster analysis. Upon successful completion, students will understand the principles and applications of pattern discovery and cluster analysis.

Text Information Systems

Text information systems courses study the basic concepts of text retrieval and text mining, the ideas behind the major models and algorithms, and how major models and algorithms for these things work. Students will gain hands-on experience and learn how to develop text data applications. By the end of the course, students will be able to explain how to implement commonly used algorithms, as well as explain how to evaluate text retrieval and text mining applications.

Computer Networks

Computer networks courses cover the theory, design, engineering, and installation of networks to connect digital computers. Topics include peer-to-peer networks, the client-server model, and network operating systems. By the end of the course, students will be able to understand the principles and concepts behind computer networks, master computer network applications, and master the knowledge behind designing and building a complete system.

Principles of Computer Architecture

Principles of computer architecture course teach the understanding of various aspects of modern computer architecture designs, such as memory hierarchy, instruction set design, pipelining, out-of-order execution and speculation, among other things. Another major topic covered is quantitive analysis approaches to design trade-off in terms of cost, performance, and energy efficiency. Students will be able to understand the interplays between architecture design and software, as well as how they can impact each other.

Operating Systems

Students taking an operating systems course at the graduate level will learn about the theory and practice of operating design and implementation and will research, read, analyze, and discuss research papers on the topic. Some topics within the subject matter that will be discussed are memory management, file systems, concurrency, virtualization, distributed systems, and mobile systems. Students should walk away from the course knowing how to describe and evaluate advanced concepts in operating system design and have a further-developed ability to conduct research on the topic.

Computer science courses in a 1-2-year master's degree program cover topics relating to the subject at an advanced level. Although it may vary by school, a bachelor's degree in computer science or a related subject is not required, but graduate programs are typically designed for professionals with experience in the field.

To continue researching, browse degree options below for course curriculum, prerequisites and financial aid information. Or, learn more about the subject by reading the related articles below:

  • 1. Degree Options:
The schools in the listing below are not free and may include sponsored content but are popular choices among our users. Tuition and costs will vary across programs and locations. Be sure to always request tuition information before starting a program.

Popular Schools

  1. 1
  2. 2
  3. Next »