Virginia Tech™home

Master of Engineering

Computer science faculty member Chandan Reddy works with graduate students.

Advance your career to mid-level or advanced positions in the computing industry by earning a Master of Engineering (MEng) degree from the Computer Science Department at Virginia Tech. The MEng degree prepares graduates with the knowledge and skills needed for mid-level and advanced positions in industries related to comvputing technology. It is completable by students participating part time, full time, or full time accelerated (i.e., in three semesters). 

The program provides students with in-depth knowledge about software development, the research and development process, communications skills, and ethical issues related to computing technology. It also provides access to a broad range of specialty areas within computer science, with an opportunity to specialize in topics such as software engineering, internet software development, human-computer interaction, data analytics and machine learning, computer security, and artificial intelligence.

Program Application Deadline

Fall 2021 Semester: 
March 1, 2021: US and International students.  
Spring 2022 Semester:

Credit Distribution Requirements

The MEng requires 30 credit hours of graded coursework. This must be at the 4000 level or higher, with a maximum of six credits at the 4000 level. The Final Exam requirement is typically completed by successfully passing CS5934 Capstone Project. Students must complete a three-course concentration area. Students satisfy University requirements related to ethics, diversity, conflict of interest, and conduct of research by taking CS5024 Ethics and Professionalism in Computer Science.

CS5040 Intermediate Data Structures, or an equivalent course, is required of all students seeking the MEng. This requirement can be waived (and another graduate course taken in its place) for students who have taken an equivalent course previously. This is typical for students with a CS undergraduate degree or minor. Note that students may not receive credit for both CS3114 and CS5040. 

Category of courses Credits Min
Credits Max Notes
CS courses at 4000 level and above 30             Cannot include CS5014, CS5894, CS5904, CS5944, CS5974*, CS5994, or CS7994. All courses must be in CS except that at most one course outside CS may be used if it appears in the list of approved cognate courses.
CS courses at 4000 level   6 4000-level courses on the cognate list and most CS4xxx courses can be used for graduate credit, except CS4944, CS4964, CS4974 and CS 4994. See here for a list of courses.
CS5040      Intermediate Data Structures 3 3 Students who have previously completed an equivalent course may request that this requirement be waived. Credit will not be given for both CS3114 and CS5040. Students who have completed CS3114 should not take CS5040.
CS5024       Ethics and Professionalism in CS     3 3 Satisfies ethics and diversity training requirements.
CS5934 Capstone Project 3 3 Satisfies final exam requirement.
Concentration Courses 9   At least three courses from a selected concentration.
Minimum  required graded credits 30    

Note: Each of the lines above must be interpreted as an individual, distinct, constraint so that all constraints have to be simultaneously satisfied. The columns are not meant to "add up", i.e., 30+3+3+9 is obviously not equal to 30.

All courses must be in CS, except that one course outside CS may be used if it appears on the cognate course list.

Additional credit hours may be taken in any category, but do not count toward degree requirements. Substitutions for degree requirements are allowed only under rare or exceptional circumstances. Requests for substitutions must be made to the GD.

All courses must be at the 5000 level or above with possibly at most two 4000-level courses included. If a 4000-level course is included, it must be from the list of CS 4000-level courses approved for graduate credit. Credits from CS5894 Final Examination, CS5904 Project and Report, CS5944 Graduate Seminar, CS5994 Research and Thesis, and CS7994 Research and Dissertation cannot be used to satisfy any MEng credit requirements.

*Normally CS5974 Independent Study may not be used to satisfy any MEng credit requirements. But under special circumstances, with permission, CS5974 may be substituted for CS5934 Capstone Project.

Advisor and Committee

The Program Director for the MEng program serves as the academic advisor for students in this program, and has authority to approve Plans of Study for the department. This degree does not require approval from an advisory committee for a Plan of Study.

Typical Schedule

The table below shows a typical distribution of courses and other responsibilities over the 2 years that is one path for a student to complete the MEng degree. Note that this assumes the student starts in the Fall. The order of courses shown is a recommendation, not a requirement. Courses marked with * satisfy a concentration requirement -- subsitute courses for the concentration that you intend to complete.

Year Fall
  • CS5040 Intermed Data Structures/Algs
  • CS5024 Ethics and Professionalism
  • *CS5704 Software Engineering
  • CS5834 Introduction to Urban Computing
  • *CS5774 User Interface Software
  • *CS5744 Software Design and Quality
  • CS5664 Social Media Analytics
  • CS5604 Information Storage and Retrieval
  • CS5560 Fundamentals of Info Security
  • CS5934 Capstone Project

Concentration Requirements

All students are required to satisfy a requirement for a 3-course concentration. Here is a list of concentration areas that have been approved.

1.    Data Analytics and Machine Learning: Pick 3 of CS5664 (Social Media Analytics), CS5525 (Data Analytics I), CS5526 (Data Analytics II), CS5824 (Adv Machine Learning)

2.    Computer Security: Pick 3 of CS5560 (Fundamentals Info Security), CS5580 (Cryptographic Engineering), CS5584 (Network Security), CS5590 (System and Software Security)

3.    AI: Pick 3 of CS5644 (Machine Learning with Big Data), CS5804 (Intro to AI), CS5814 (Introduction to Deep Learning), CS5824 (Adv Machine Learning), CS5834 (Introduction to Urban Computing), CS6524 (Deep Learning)

4.    Software Engineering: Pick 3 of CS5704 (Software Engineering), CS5714 (Usability Engineering), CS5744 (Software Design and Quality), CS5774 (User Interface Software)

5.    Human-Computer Interaction: Pick 3 of CS5714 (Usability Engineering), CS5724 (Models and Theories of HCI), CS5734 (Social Computing and Computer-Supported Cooperative Work), CS5754 (Virtual Environments), CS5764 (Information Visualization), CS5774 (User Interface Software)

6.    Internet Software Development: Pick 3 of CS5244 (Web Application Development), CS5254 (Mobile Application Development), CS5614 (Database Management), CS5774 (User Interface Software)

Graduate School Ethics, Inclusion, and Diversity Requirements

The Graduate School requires that all graduate students satisfy two sets of requirements: one addressing training in Scholarly Ethics and Integrity, and one addressing Inclusion and Diversity. This is done by completing CS5024 Ethics and Professionalism in Computer Science.

Background Requirements

Students are required to take CS5040 Intermediate Data Structures and Algorithms, but those with a degree in CS or similar field can petition to take another course instead.

Students are required to have as a minimum a course on their transcript that is equivalent to CS2114. Similar courses are taught at nearly all universities and colleges. Consult VT Undergraduate Transfer Equivalency Database to find CS2114 equivalent courses at other institutions. Students are strongly advised to have proficiency in the Java programming language prior to attempting CS5040.

While not required for entry into the program, other useful background would be a Discrete Math course, and a course in basic Computer Architecture or Computer Organization, similar to CS2505.