MASTER OF SCIENCE IN COMPUTER SCIENCE
Home People Undergraduate Graduate Research Contact
 
MASTER OF SCIENCE IN COMPUTER SCIENCE

General Information
Admission
Curriculum
Advising

CURRICULUM

The goals and objectives of the Master of Science in Computer Science program are to provide students with the following:

 
  • Maximum curriculum flexibility, allowing students to adapt their program to their ambitions and goals as well as to their educational and professional backgrounds
  • A solid grounding in the fundamentals of computer science
  • Professional level courses in computer science
  • Opportunity to specialize in selected technology areas of utmost interest
  • Opportunities for a research-oriented program, in preparation for the Ph.D. program in computer science.
Visit the Library
Tutoring Center

Master’s Degree Requirements
To satisfy the requirements for the master's degree, the student must complete a total of 30 credits, as described below, with an overall average of B. In addition, a B average is required across the six core courses, as indicated below.

The master's curriculum has two components: 18 credits of core-elective courses and 12 credits of general elective courses.

Core-electives and Requirements
The core electives are organized into three core areas: Computer Systems, Programming/Software, and Theory. Students are required to take a at least six core elective courses, with two courses coming from each of the core areas.

Systems Core Area
CS 6133 Computer Architecture I
CS 6143 Computer Architecture II
CS 6233 Operating Systems I
CS 6243 Operating Systems II
CS 6813 Computer Security
CS 6843 Computer Networking
CS 6823 Network Security
CS 6253 Distributed Operating Systems

Programming/Software Core Area
CS 6063 Software Engineering I
CS 6073 Software Engineering II
CS 6083 Principles of Database Systems
CS 9163 Application Security
CS 6373 Programming Languages
CS 6613 Artificial Intelligence I
CS 6533 Interactive Computer Graphics
CS 6413 Compiler Design and Construction I

Theory Core Area
CS 6003 Foundations of Computer Science
CS 6033 Design and Analysis of Algorithms I
CS 6043 Design and Analysis of Algorithms II
CS 6753 Theory of Computation
CS 9043 Modern Cryptography
CS 9703 Computational Geometry

In addition to two courses in each area, there are restrictions on which six courses an individual student may take as part of the core elective requirement.

  • Students who have taken an undergraduate version of these courses and earned a grade of B or higher (or equivalent) will not be allowed to take these courses without special permission.
  • Every student is required to take Computer Architecture I (CS 613), Operating Systems I (CS 623), Design and Analysis of Algorithms I (CS 603), and Programming Languages (CS 637), unless they have already taken an equivalent course or courses (at either the graduate or undergraduate level) with a grade of B or higher

General Electives Requirements

One of the following courses:

In addition to the core electives, students are required to take four general elective courses. There is considerable flexibility, with the only restriction being that no more than two of the courses being taken from outside the Department of Computer and Information Science. In particular,

  1. Master's thesis(6 credits) and/or independent study courses may be part of a student's 4 elective courses
  2. Any of the courses in the three core areas may be chosen as electives.
  3. Graduate level courses from outside of the department (at most two) may be chosen as electives.
  4. Any CS graduate course not included in the core areas may be chosen as electives. These courses include:


CS 6273 Performance evaluation of Computer Systems
CS 6643 Computer Vision & Scene Analysis
CS 6673 Neural Network Computing
CS 6093 Advanced Database Systems
CS 9093 Biometric Identification
CS 6923 Machine Learning
CS 6913 Web Search Engines
CS 9133 Emerging Technology for IP Development
CS 9093 Computer Simulation
CS 9103 Object Oriented Design with Java
CS 9013 Unix Systems (Perl) CS 9053 Introduction to Java
CS 9073 Human & Computer Interaction

Preparatory Courses

The Department offers two preparatory bridge courses for students who do not have a working knowledge of a high level, general-purpose programming language:

  1. CS 5303 Introduction to Programming
  2. CS 5403 Data Structures

Master's Thesis

Exceptional students may elect to write a master's thesis, for which no more than 6 credits may be earned toward the degree. Such students should find an appropriate adviser who has agreed to monitor the thesis research. Such research need not be original, but should adequately demonstrate the student's proficiency in the subject material. An oral defense of the master's thesis with at least three professors in attendance is required.

 
  poly thinking