Curriculum

Degree Requirements

To satisfy the requirements for the master’s degree, you must complete 30 credits, as described below, with an overall average of B. In addition, a B average is required across the 6 core courses, as indicated below. The master’s curriculum has 2 components: 18 credits of core elective courses and 12 credits of general elective courses.

Core Courses

Core electives are organized into 3 core areas: Computer Systems, Programming/Software, and Theory. Students must take at least 6 core elective courses, with 2 courses coming from each of the core areas.

Systems Core Area

CS 6133 Computer Architecture I, Credits: 3.00
CS 6143 Computer Architecture II, Credits: 3.00
CS 6233 Introduction to Operating Systems, Credits: 3.00
CS 6243 Operating Systems II, Credits: 3.00 
CS 6253 Distributed Operating Systems, Credits: 3.00
CS 6843 Computer Networking, Credits: 3.00
CS 6813 Information, Security and Privacy, Credits: 3.00
CS 6823 Network Security, Credits: 3.00

Theory Core Area

CS 6003 Foundations of Computer Science, Credits: 3.00
CS 6033 Design and Analysis of Algorithms I, Credits: 3.00
CS 6043 Design and Analysis of Algorithms II, Credits: 3.00
CS 6753 Theory of Computation, Credits: 3.00
CS 6903 Modern Cryptography, Credits: 3.00
CS 6703 Computational Geometry, Credits: 3.00

Programming/Software Core Area

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

Additionally, the rule below applies for these 4 courses:

  • CS 6133 Computer Architecture I, Credits: 3.00
  • CS 6233 Introduction to Operating Systems, Credits: 3.00
  • CS 6033 Design and Analysis of Algorithms I, Credits: 3.00
  • CS 6373 Programming Languages, Credits: 3.00

You are required to take the course unless you have taken an equivalent course (at either the graduate or undergraduate level) with a grade of B or higher. If you have taken an equivalent course and received a B grade or higher, you may not take the course at Polytechnic as part of this master’s program without special permission.

Electives

In addition to the core electives, you are required to take 4 general elective courses but have considerable flexibility. The only restriction is that no more than 2 of the courses may be taken from outside the Department of Computer Science and Engineering. In particular:

  • Master’s thesis (6 credits) and/or independent study courses may be part of a student’s 4 elective courses
  • Any of the courses in the 3 core areas may be chosen as electives.
  • Graduate-level courses from outside of the department (at most 2) may be chosen as electives.
  • 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, Credits: 3.00
CS 6643 Computer Vision and Scene Analysis, Credits: 3.00
CS 6673 Neural Network Computing, Credits: 3.00
CS 9013 UNIX and PERL, Credits: 3.00
CS 9053 Introduction to Java, Credits: 3.00
CS 9073 Human Computer Interaction, Credits: 3.00
CS 6093 Advanced Database Systems, Credits: 3.00
CS 9093 Biometrics, Credits: 3.00
CS 9093 Biometrics, Credits: 3.00
CS 9103 Object Oriented Design in Java, Credits: 3.00
CS 6923 Machine Learning, Credits: 3.00
CS 6913 Web Search Engines, Credits: 3.00
CS 9133 Emerging Technology for IP, Credits: 3.00
CS 9153 Game Programming, Credits: 3.00

Preparatory Courses

We offer 2 preparatory bridge courses for students who do not have a working knowledge of a high level, general-purpose programming language:

  • CS 5303 Introduction to Programming
  • 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.

(see overview)