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 |