Computer Security

Blue CS@CU logo for MS students

Computer Security

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.


  • Complete a total of 30 points (Courses must be at the 4000 level or above)
  • Maintain at least a 2.7 overall GPA. (No more than 1 D is permitted).
  • Complete the Columbia Engineering Professional Development & Leadership (PDL) requirement
  • Satisfy breadth requirements
  • Take at least 6 points of technical courses at the 6000 level
  • At most, up to 3 points of your degree can be Non-CS/Non-track If they are deemed relevant to your track and sufficiently technical in nature. Submit the Non-CS/NonTrack form and the course syllabus to your CS Faculty Advisor for review

1. Breadth Courses

Visit the breadth requirement page for more information.

2. Required Track Courses

Students are required to complete the following 5 courses: COMS W4118 (OS), COMS W4156 (Adv. Software Engineering), COMS W4181 (Computer Security I), COMS W4182 (Computer Security II), and either COMS W4261 (Introduction to Cryptography) or COMS E6185 (Intrusion Detection). 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.

For students starting the program in Fall 2018 and later:

Course ID Title
COMS W4118 Operating Systems
COMS W4156 Adv. Software Engineering
COMS W4181 Computer Security I
COMS W4182 Computer Security II
Either COMS W4261 or COMS E6185 Introduction to Cryptography or Intrusion Detection

For students who started the program prior to Fall 2018:

Course ID Title
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

3. Track Electives

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

Course ID Title
COMS W4115 Programming Languages and Translators
COMS/CSEE W4119 Computer Networks
COMS W4186 Malware Analysis & Reverse Engineering
COMS W4261 Introduction to Cryptography
COMS W4995 Visit the topics courses page to see which COMS 4995 courses apply to this track.
COMS E6118 Operating Systems, II
COMS E6181 Advanced Internet Services
COMS E6183 Security
COMS E6184* Privacy & Anonymity
COMS E6185 Intrusion and Anomaly Detection Systems
COMS E6261* Advanced Cryptography
COMS E6424 Hardware Security
CSEE E6863 Formal Verification of Hardware and Software Systems
COMS E6901 Projects in Computer Science (Advisor approval required)
COMS E6998 Visit the topics courses page to see which COMS 6998 courses apply to this track.
CSEE W4824 Computer Architecture
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

4. General Electives

Students must complete the remaining credits with General Elective Courses at the 4000 level or above. Three credits must be from a graduate CS course and can be chosen from either the Track Electives listed above or from the CS department at the 4000 level or higher. Students may also request to use at most 3 points of Non-CS/Non-Track coursework if approved by the process listed below.

  • Non-CS/Non-Track: CS MS students may request up to 3 points of Non-CS/Non-Track points to count toward their 30-point MS program. CS Track advisor may review and approve if the course is determined to be relevant to the CS MS track and sufficiently technical in nature. Students should send the Non-CS/Non-Track Form and the course syllabus to your Track Advisor for review.

**Due to a significant overlap in course material, MS students not in the Machine Learning track can only take 1 of the following courses – COMS 4771, COMS 4721, ELEN 4903, IEOR 4525, STAT 4240, STAT 4400/4241/5241 – as part of their degree requirements.

Please note:
  • For the Security track, you must have six points at the 6000 level; at least three of these 6000-level points must be selected from the list of Elective Track Courses.
  • Students who waive track requirements by using previous courses must still complete 30 graduate credits. This can be done by expanding their elective selection to include courses listed as required track courses and elective track courses; or by taking other graduate courses
  • The Degree Progress Checklist should be used to keep track of your requirements. If you have questions for your Track Advisor or CS Advising, you should have an updated Checklist prepared


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.

Updated: 3/26/2024