Master of Engineering
Meet Our Master of Engineering 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 program:
- Can be completed part time or full time.
- Can be completed in as little as three semesters if a student is full time.
- Is offered both at Virginia Tech's main campus in Blacksburg and at the Northern Virginia campus.
- Provides students with in-depth knowledge about software development, communications skills, and ethical issues related to computing technology.
- Provides access to a broad range of specialty areas such as software engineering, web development, human-computer interaction, data analytics, artificial intelligence, and computer security.
You can see information that compares the MS and MEng tracks here.
Fall 2021 Semester:
- March 1, 2021: Priority US and International students.
- Domestic applications will be accepted on a rolling basis through July 1st as space is available.
Spring 2022 Semester:
- October 1, 2021: International students.
- November 1, 2021: Domestic students.
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
|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.
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.
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)
*Students may not get credit for both CS5814 and CS6524.
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.
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.