Students entering the MS-SWE program must have course work or equivalent knowledge in the following five foundation areas: (1) introductory programming in any programming language;(2) knowledge of an object-oriented programming language such as Java, C++, or C#;(3) data structures and algorithms;(4) machine organization such as those given in computer system architecture or assembly language courses;(5) and topics in discrete mathematics, including sets, propositional and predicate logic,  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 graduate courses:

  • COMP 501 Computer Programming Foundations I
  • COMP 502 Mathematical Foundations of Computing I
  • COMP 503 Computer Systems Foundations I 
  • COMP 511 Computer Programming Foundations II 

Provisional admission is offered if a student has some deficiencies in preparation, but is otherwise a strong applicant. (Note: Due to federal requirements, students on F1/J1 visas are not eligible for provisional admission.) In such cases, students are advised of the necessary foundation courses to be satisfactorily completed with a grade of B or better before beginning the core curriculum. Foundation courses do not earn credit toward the MS degree. 

Provisional students have one opportunity to test out of their required foundation courses before beginning their first semester (Note: Test-outs are not an option for COMP students). Additionally, if a student feels they have taken an equivalent course that was overlooked, an appeal process is available. More information on these options can be found on the policies and procedures page.

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

Foundation Topics GMU Grad GMU Undergrad CS GMU Undergrad IT NVCC
Object-oriented programming COMP 501 CS 211 IT 206 or IT 209 CSC 223
Discrete math COMP 502 MATH 125 MATH 125 (not MATH 112) MATH 288
Machine organization COMP 503 CS 367 IT 342 none
Data structures COMP 511  CS 310 IT 306 or IT 309 none