The preferred qualifications for admitted OMSCS students are an undergraduate degree in computer science or a related field (typically mathematics, computer engineering, or electrical engineering) from a regionally accredited institution with a cumulative GPA of 3.0 or higher.
Applicants who do not meet these criteria are evaluated on a case-by-case basis. In these cases, the Admissions Committee is looking for a demonstrated, objectively documented basic capability and knowledge in computer science. This would generally include documented expertise with:
The fundamentals of programming.
Object-oriented design principles such as encapsulation, abstraction, polymorphism, and inheritance.
Data structures such as lists, stacks, queues, trees, and hashmaps.
Algorithms such as AVL, MST, Dijkstra’s, and dynamic programming.
Familiarity with multiple programming languages is recommended.
If you cannot currently demonstrate those competencies, but still wish to pursue eventual admission to the program, you do have some options. We recommend completing the verified certificate tracks (including all embedded assessments and exams) for the following three Georgia Tech professional certificate programs. All are available to the public in MOOC format:
Introduction to Python Programming, using the same material as CS1301: Introduction to Computing at Georgia Tech.
Introduction to Object-Oriented Programming with Java, using the same material as CS1331: Introduction to Object-Oriented Programming at Georgia Tech.
Data Structures & Algorithms, using the same material as CS1332: Data Structures & Algorithms at Georgia Tech.
These courses are taught by Georgia Tech faculty and instructional designers and are used to teach for-credit courses on campus. They supply the kind of fundamental CS knowledge we know is necessary to succeed in the program.
Please note that these courses provide the bare minimum qualifications for studying computer science at the graduate level. Completing them does not guarantee admission to the program; as noted above, those who do not meet the preferred qualifications are evaluated on a case-by-case basis. Regardless of which path you choose to improve the preparation for your application, the OMSCS Admissions Committee expects you to have completed the preparation by the time that your application is submitted.
For those looking to strengthen their application in other ways, we recommend referring to Computer Science Curricula 2013, a set of curriculum guidelines assembled by a joint task force of the Association for Computing Machinery (ACM) and IEEE Computer Society in 2013. Starting on page 55, you will see a listing of the ACM’s Body of Knowledge for a CS curriculum.
Use these pages to guide your pre-application preparation. Find 2-4 upper-level courses of interest that cover some of these areas and demonstrate the ability to earn a B or better in those courses. These may be for-credit classes at community colleges, other online universities, or courses delivered via university-affiliated extensions schools.
Other objectively-documented credentials may be considered - such as MOOCs with verified certificates and bootcamps - but it is rare that such instructional settings are as rigorous and well-documented as for-credit classes at recognized academic institutions. Transfer credit (up to six credit hours) may be available for those that, prior to matriculating, complete graduate-level for-credit classes at regionally-accredited institutions that are not otherwise counting toward an awarded degree.
The Committee is not looking for knowledge in a specific CS area; instead, it is looking for evidence that the applicant can succeed at upper level academic CS work.