Students entering the MS-ISA, MS-ISYS, and MS-SWE programs must have course work or equivalent knowledge in the following areas: a modern, object oriented programming language such as Java; data structures and algorithms; machine organization, (e.g., as given in computer system architecture or assembly language courses); and topics in discrete mathematics including sets, relations, functions, trees, graphs, and inductive proofs. The level of knowledge required in these areas is equivalent to that taught in undergraduate courses, and may be achieved by taking the following George Mason University courses.

In addition, it is desirable, though not required, that entering students have at least one year of work experience in building and/or modifying software systems.

Upon acceptance, students are advised of the necessary foundation courses to be satisfactorily completed to meet this requirement. Foundation courses do not earn credit toward the MS degree; however, they must be successfully completed with a grade of B or better before enrolling in the core curriculum. Students may appeal the requirement to take one or more foundation courses by following the process described at the Foundation Course policy and procedures page. 

The following undergraduate courses offered at GMU will serve as equivalents for foundation classes.

Object-oriented Programming SWE 510 CS 211 IT 106 & IT 206
Discrete Math INFS 501 MATH 125 or 325 MATH 125 (Not MATH 112)
Machine Organization INFS 515 CS 367 or CS 465 IT 212 & IT 342
Data Structures INFS 519 CS 310 IT 306


  1. A grade of B or better must be obtained in each foundation course,
  2. Foundation classes must be completed before enrolling in the core curriculum,
  3. All students on F-1 or J-1 visas must satisfy any required foundation courses at GMU.

Students accepted into the MS-ISYS, MS-ISA, and MS-SWE programs who need undergraduate preparatory work should take the INFS or SWE courses listed above. However, if they have previously taken courses at NVCC, the following equivalents will be used:

Foundation NVCC
Object-oriented Programming CSC 202
Discrete Math Math 286
Machine Organization None
Data Structures None