The Computer Security Track

The Computer Security track is intended for students who wish to develop state-of-the-art knowledge of computer and network security technologies. Security considerations pervade personal, corporate, military, governmental, and national infrastructure systems and networks. This track will help you develop leading-edge knowledge in security.

1. Summary of Requirement

Students must complete at least a total of 30 graduate points and must maintain at least 2.7 overall GPA in order to be eligible for the MS degree in Computer Science.

  1. Security Track requires:

    - Breadth courses
    - Required Track courses (15pts)
    - Track Electives (6pts)
    - General Electives (6pts)

  2. 5 required courses (15 pts): COMS W4118 (OS), COMS W4156 (Adv. Software Engineering), COMS W4180 (Network Security), COMS W4187 (Security Architecture and Engineering), and either COMS W4261 (Introduction to Cryptography) or COMS E6185 (Intrusion Detection).

  3. 2 elective courses (6 pts) selected from the list of Elective Track Courses (See Section 4); at least 1 of these courses must be a 6000-level CS course.

  4. 1 general elective graduate CS course (3 pts), at 4000 level or above.

  5. Must have 6 points at the 6000-level, at least 3 of these 6000-level points must be selected from the list of Elective Track Courses (See Section 4).

Please use the Degree Progress Check to keep track of your requirements.

2. Breadth Requirement

Students are required to satisfy the Breadth Requirement by taking 1 course from Group 1, 1 course from Group 2, 1 course from Group 3, and 1 more course from any of the three groups. Track courses taken at Columbia can also satisfy the breadth requirement.

Group  Courses
Group 1 (Systems)

All CS 41xx courses except CS 416x and CS 417x
All CS 48xx courses, and CS 4340, 4444, and 4460

Group 2 (Theory)

All CS 42xx courses including CSOR W4231

Group 3 (AI and Apps)

All CS 47xx courses, and CS 416x and CS 417x


3. Required Track Courses

Students are required to complete the following five courses. Students who have taken equivalent courses in the past and received grades of at least a B may apply for waivers and take other CS courses instead.

Course ID


COMS W4118

Operating Systems

COMS W4156

Adv. Software Engineering

COMS W4180

Network Security

COMS W4187

Security Architecture and Engineering

Either COMS W4261
or COMS E6185

Introduction to Cryptography or Intrusion Detection


4. Elective Track Courses

Students are required to complete two courses out of the following list; at least one course must be 6000 level. Please note that courses with * are offered alternate years.

Course ID


COMS W4115

Programming Languages and Translators

COMS W4119

Computer Networks

COMS W4261

Introduction to Cryptography

COMS W4995

VOIP Security

COMS W4995

Introduction to Computer Security

COMS W4995

Crypto & Financial Processes

COMS E6118

Operating Systems, II

COMS E6181

Advanced Internet Services

COMS E6183


COMS E6184*

Privacy & Anonymity

COMS E6185

Intrusion and Anomaly Detection Systems

COMS E6261*

Advanced Cryptography

COMS E6901

Projects in Computer Science

COMS E6998

Advanced Topics in Security

COMS E6998 

Network Theory

COMS E6998

Virtual Machines

COMS E6998

Software Security and Exploitations

COMS E6998

Cloud Computing

COMS E6998

Formal Hardware & Software Verification

COMS E6998

Resilient Hardware Systems

COMS E6998

Cloud and Mobile Challenges

COMS E6998

Privacy in Online Social Networks

ELEN E4703

Wireless Communications

ELEN E6761

Computer Communication Networks

ELEN E6886 

Topics in Multimedia Security 

ELEN E6950

Wireless & Mobile Nets, I

ELEN E6951 

Wireless & Mobile Nets, II


5. General Electives

Candidates are required to complete at least 1 Computer Science graduate-level course. Students may take up to 3 points of non-CS/non-tech course approved by the advisor. Please complete a non-tech approval form, get your advisor's approval, and forward it to the CS Student Services.

6. Track Planning

Please visit the Directory of Classes to get the updated course listings. Please also note that not all courses are offered every semester, or even every year. A few courses are offered only once every two or three years or even less frequently. For more information, please see the SEAS Bulletin CS course-offering schedule (This schedule can change due to unforeseeable circumstances; thus, it should only be used as a reference).

7. Contact

Please direct all questions concerning the Computer Security Track to Prof. .

8. Graduation

Candidates preparing for graduation should submit a completed application for degree to the Registrar's Office and submit a track graduation form to CS Student Services.

Last Updated: 10/4/2013