Virginia Tech™home

Master of Engineering

The Master of Engineering (MEng) degree prepares graduates with the knowledge and skills needed for mid-level and advanced positions in industries related to computing technology. It is completable by students participating part time, full time, or full time accelerated (i.e., in one year). 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.

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. CS5040 Intermediate Data Structures is required of all students seeking the MEng, but this requirement can be waived (and another graduate course taken in its place) for students who have taken an equivalent course previously. 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.

Program Contact

Questions about the program should be sent to Ms. Samantha Pipkin at


Concentration Requirements

All students are required to satisfy a requirement for a 3-course concentration. We plan to initially provide courses in the following three concentration areas. 

1.      Data Analytics and Machine Learning: Pick 3 of CS5664 (Social Media Analytics), CS5525-6 (Data Analytics), 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 CS5804 (Intro to AI), CS5824 (Adv Machine Learning), CS5834 (Introduction to Urban Computing)

As student enrollment increases, the following three concentrations will be added.

4.      Software Engineering: Pick 3 of CS5704 (Software 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), CS5764 (Information Visualization), and 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.


Credit Distribution Requirements





CS courses at 4000 level and above



Cannot include CS5894, CS5904, CS5944, 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



Most CS 4xxx courses may be used for graduate credit, except CS4974, CS4984, and CS4994. CS Capstone courses could be used with prior permisison of the instructor.

CS5040 Intermediate Data Structures



Students who have previously completed an equivalent course may request that this requirement be waived

CS5024 Ethics and Professionalism in CS



Satisfies ethics and diversity training requirements

CS5934 Capstone Project



Satisfies final exam requirement

Concentration Courses



At least three courses from a selected concentration

Minimum required graded credits




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.


Advisor and Committee

All graduate students have access to a faculty advisor who can help with both academic advising (i.e., issues related to getting a degree) and career advising. The composition for an MEng advisory committee typically consists of three members as follows:

  • The chair of the committee (advisor) is the instructor for CS5934 Capstone Project.
  • The MEng Program Director.
  • The Associate Department Head for Graduate Studies.


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.





  • 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

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, including community colleges. 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.