Research with a faculty member is an essential aspect of the Computer Science Ph.D. Newly admitted students are expected to work on one or more jointly-defined research projects with faculty members in the College. While one goal of this is for the student to gain practical experience in doing research, these semester-long projects also serve as a way for students and faculty to begin to explore potential advisor relationships.
Before students have a formal advisor, they are expected to register for CS 8903, Special Problems in Computer Science, under the supervision of a faculty member in the College. Registration for this course is restricted, and requires that students and the supervising faculty member complete form CS 8903 describing the research to be completed over the course of the semester. Students may occasionally participate in multiple 8903 research projects in any given semester, given time and other commitments, and may participate in 8903 research projects for several semesters until they have a formal research advisor.
Once students have a formal advisor, they are expected to focus on what will become their dissertation research under the supervision of their advisor. At this stage, students will register for CS 8999, Doctoral Thesis Preparation. Students and their advisor must fill out the CS 8999 permit form that indicates the general research direction and that confirms the establishment of the advisory relationship. This form only needs to be filled out one time.
After students pass their Qualifier, they must complete the Ph.D. Qualifier and Dissertation (CS 9000) Permit Form with their advisor and register for CS 9000 research credit. This form only has to be filled out one time.
GA Tech Thesis and Dissertation Policy
GT Responsible Conduct of Research Contact Us | Responsible Conduct of Research
As part of their degree requirements, doctoral students must complete two forms of RCR training:
Online Training: The online training, a CITI RCR course, must be successfully completed within 60 days of when applicable students begin the first full semester in their doctoral program.
RCR Course for Doctoral Students: Doctoral students covered by this policy are required to complete successfully CS 7001, PHIL 6000 OR an academic program's In-house RCR course for doctoral students. Students are strongly encouraged to complete an RCR course for doctoral students within the first 12 months of their doctoral program. In general, doctoral students who need to take PHIL 6000 are encouraged to do so during the first summer session after they begin their doctoral program at Georgia Tech.
The breadth component of the program is intended to give students a view into a variety of areas within computing. Each student must take classes in 4 of the 18 areas of computer science, totaling 12 credits minimum. All students must take at least one programming course, and one Theory course.
Of the four different courses, one must be from the Theory area. Students must earn an A or B in all of these courses, and more As than Bs total.
After completing the Breadth Requirement, fill out the 'Breadth Requirement Form' and route through Docusign for signatures. Once signatures have been collected, no further action is required by the student. The breadth requirement is considered met.
Students who have taken graduate level courses elsewhere before entering the program can petition to have those classes count towards filling the breadth requirement. See the Equivalency Credits section for details.
| Breadth Area | Classes |
|---|---|
| Computational Science and Engineering | CSE 6140 Computational Science and Engineering Algorithms CSE 6220 High Performance Computing CSE 6730 Modeling and Simulation: Foundations and Implementation CSE/Math 6643 Numerical Linear Algebra CSE/ISYE 6740 Computational Data Analysis |
| Computer Architecture | CS 6290 High Performance Computer Architectures CS 7290 Advanced Microarchitecture CS 7292 Reliability and Security in Computer Architecture Note: students who have not already taken CS 6290 or the equivalent should take CS 6290 to satisfy this requirement. Those who have already taken CS 6290, or CS 4290 (Advanced Computer Organization) or the equivalent, can satisfy this requirement by taking CS 7290 or CS 7292. |
| Database Systems | CS 4420 Database System Implementation CS 6400 Database System Concepts and Design CS 6411 Object-Oriented Database Models and Systems CS 6421 Temporal, Spatial, and Active Databases CS 6422 Database Systems Implementation CS 6430 Parallel and Distributed Database Systems and Applications |
| Graphics and Visualization | CS 6476 Computer Vision CS 6480 Computer Visualization Techniques CS 6491 Computer Graphics CS 6780 Medical Image Processing CS 7476 Advanced Computer Vision CS 7490 Advanced Image Synthesis CS 7491 3D Complexity CS 7496 Computer Animation CS 7497 Virtual Environments CS 7636 Computational Perception |
| Human Computer Interaction | CS 6451 Introduction to Human-Centered Computing CS 6455 User Interface Design and Evaluation CS 6456 Principles of User Interface Software CS 6470 Design of Online Communities CS 6750 Human-Computer Interaction CS 7450 Information Visualization CS 7451 Human-Centered Data Analysis CS 7460 Collaborative Computing CS 7470 Mobile and Ubiquitous Computing CS 7633 Human-Robot Interaction |
| Cryptography | CS 6260 Applied Cryptography CS 7560 Theoretical Foundations of Cryptography CS 8803 BC Blockchain and Cryptocurrencies CS 8803 SMC Secure Multiparty Computation CS 8803 SCP Secure Communication Protocols |
| Artificial Intelligence | CS 6601 Artificial Intelligence CS 6795 Introduction to Cognitive Science CS 7630 Autonomous Robotics CS 7631 Multi-Robot Systems CS 7632 Game AI CS 7633 Human-Robot Interaction CS 7634 AI Storytelling in Virtual Worlds CS 7636 Computational Perception CS 7637 Knowledge-Based AI CS 7641 Machine Learning CS 7643 Deep Learning CS 7647 Machine Learning with Limited Supervision CS 7648 Interactive Robot Learning CS 7649 Robot Intelligence: Planning CS 7651 Human and Machine Learning CSE 6740 Computational Data Analysis |
| Learning Sciences and Technology | CS 6460 Educational Technology: Foundations CS 6461 Computing Education Research CS 7465 Educational Technology: Design and Evaluation CS 7467 Computer Supported Collaborative Learning CS 8803 Special Topics: Cognition and Education |
| Machine Learning | CS 6476 Computer Vision CS 7545 Theoretical Foundations of ML CS 7616 Pattern Recognition CS 7641 Machine Learning CS 7643 Deep Learning CS 7646 Machine Learning for Trading CSE 6240 Web Search and Text Mining CSE 6242 Data and Visual Analytics CSE 6740 Computational Data Analysis |
| Networking and Communications | CS 6250 Computer Networks CS 7260 Internetworking Architectures and Protocols CS 7270 Networked Applications and Services CS 7280 Network Science |
| Network Security | CS 6262 Computer Network Security CS 6264 System and Network Defenses Lab CS 8803 ECS Empirical Computer Security CS 8803 EMS Advanced Network Security and Measurement CS 8803 SII Securing Internet Infrastructure |
| Programming Languages and Compilers | CS 6241 Design and Implementation of Compilers CS 6245 Compiling for Parallelism CS 6390 Programming Language Design CS 8803 Special Topics: Topics in Program Analysis |
| Privacy, Security, and Policy | CS 6268 Psychology of Cybersecurity CS 6725 Information Security Strategies and Policies CS 6726 Privacy, Technology, Policy, and Law CS 8803 SPD Security, Privacy, and Democracy |
| Social Computing | CS 6465 Computational Journalism CS 6470 Design of Online Communities CS 6474 Social Computing CS 6675 Advanced Internet Computing Systems and Applications CS 7270 Networked Applications and Services CS 7460 Collaborative Computing CS 7467 Computer-Supported Collaborative Learning CS 8893 Special Topics in Cognitive Science: Cognition and Culture |
| Software Methodology and Engineering | CS 6300 Software Development Process CS 6301 Advanced Topics in Software Engineering CS 6310 Software Architecture and Design CS 6320 Software Requirements Analysis and Specification CS 6330 Software Generation, Testing, and Maintenance CS 6340 Software Analysis and Testing CS 8803 Special Topics: Formal Modeling and Analysis of Computing Systems |
| Systems | CS 6210 Advanced Operating Systems CS 6235 Real-time Systems CS 6365 Introduction to Enterprise Computing CS 6675 Advanced Internet Computing Systems and Applications CS 7210 Distributed Computing |
| Systems Security | CS 6238 Secure Computer Systems CS 6263 Intro to Cyber Physical Systems CS 6265 Information Security Lab: Binary Exploitation CS 6402 Databases and Information Security CS 6747 Advanced Malware Analysis CS 8803 COD Cybersecurity of Drones CS 8803 ESC Exploiting Smart Contract/DeFi |
| Theory | CS 6505 Computability, Algorithms, and Complexity CS 6515 Intro to Graduate Algorithms CS 6520 Computational Complexity Theory CS 6550 Design and Analysis of Algorithms CS 7510 Graph Algorithms CS 7520 Approximation Algorithms CS 7530 Randomized Algorithm CSE 6140 Computational Science and Engineering Algorithms |
Q: May a student petition to utilize a course not previously approved as a breadth course to meet their breadth requirement?
If a student believes that a course meets one of the breadth requirements but is not pre-approved, they may petition to have it considered. In order to do so, students will first fill out a Petition to the Faculty form, appending the class syllabus and a justification for why the course should be approved. The form will be routed to Thomas Ploetz who will make the decision in collaboration with the area lead.
Q: May a student request to meet their programming breadth requirement with a course taken at another institution?
We discourage this. However, if a student thinks they have met this requirement with a class taken external to GT, they may petition to the faculty to have this request considered. This petition ultimately will be considered by the GCC (Graduate Curriculum Committee). See instructions under the Equivalency Credits section.
Q: Can a student use the same course to meet their minor, and breadth requirement?
No. This is not permitted as it takes away from the whole concept of a breadth.
Q: Can students have any number of 8803s applied to their breadth requirement?
8803s are classes that have not yet been assigned a permanent number. You can use as many as are approved to meet your breadth requirement. These 8803 classes need to be approved to count towards the breadth requirement via a petition to the faculty. This decision is made at the school level.
Q: Can 8903 count as a breadth requirement?
8903 cannot count toward the BREADTH requirements.
In addition, each student must complete a Programming Proficiency requirement. A single class may satisfy both the Programming Proficiency requirement and a Breadth area requirement. The Programming Proficiency requirement must be fulfilled at Georgia Tech and may not be satisfied by transfer credit or advanced standing.
The courses that can satisfy the Programming Proficiency Requirement are:
CS 6210 Advanced Operating Systems
CS 6241 Design and Implementation of Compilers
CS 6290 High-Performance Computer Architecture
CS 6476 Computer Vision
CS 7490 Advanced Image Synthesis
CS 7492 Simulation of Biology
CS 7637 Knowledge-Based AI
CS 7643 Deep Learning
CS 7646 Machine Learning for Trading
CS 7650 Natural Language
Q: Can I petition to use a course not on the above list to meet my programming proficiency requirement?
Yes, just so this course was taken at Georgia Tech. Courses taken outside of GT cannot meet the programming proficiency requirement.
Process:
A "Petition to the Faculty" form may be completed by a student when asking for an exception to an Institute rule or policy. These petitions are reviewed and acted upon by the Graduate Curriculum Committee which meets once a month.
The minor is a sequence of non-College of Computing courses with a coherent theme. The requirement is that students take a minimum of 2 courses totaling 6 credit hours. These courses should have a subject designator OTHER than "CS/CSE" as reported on your transcript. Their theme should somehow relate to the subject of the student's thesis and research.
The classes must be taken for a letter grade, with at least a "B" average. Courses should be at the graduate level, but one approved 4000-level course may be used. No more than three of the hours may be directed research.
After completing all the minor classes, download and fill out the Minor form.
Instructions on completing the minor form:
For purposes of the Minor form, the School/Program Graduate Coordinator is Theresa Nash.
The OGE Staff is Tatianna Richardson [email protected]
If you have taken courses while completing a Master's Degree program at Georgia Tech, these courses may be applied to the completion of your Minor or Breadth requirement just so they are approved as being relevant by your faculty advisor. No formal evaluation process is required.
Students who are pursuing two Master's degrees at Georgia Tech may double count a maximum of 6 hours of credit for both degrees. This ensures that each degree involves a minimum of 24 hours of coursework completed at Tech that is not double counted.
There is no formal transfer of credit for the PhD degree where classes taken at another institute would appear on the Georgia Tech transcript. However, graduate coursework completed at other schools may be used toward the Ph.D. coursework requirement.
Semester format count one-to-one; quarter format need to be adjusted (at the discretion of the course owner and Associate Chair).
There is no limit on the number of courses from other universities that students can "use" toward their breadth and minor.
In order to utilize Master's level coursework completed at other schools to support your minor, simply append the syllabus and transcript to your minor form. An evaluation is not required.
Q: Can a student request permission for a CS course to be included in their minor?
See the Equivalency Credits section below for full details and process.
Q: Can a student use the same course to meet their minor, and breadth requirement?
No. This is not permitted as it takes away from the whole concept of a breadth.
Q: Can students utilize 8803s to meet their minor requirement?
You can use as many non-CS 8803s as are approved for your minor.
Q: Can students utilize 8903s to meet minor requirement?
Students can use up to 3 hours of 8903 toward their minor if it is an area outside of their normal course of study.
Q: Can students utilize courses taken online at GT to meet program requirements?
No. Students may not use online courses to meet any course requirements.
CS PhD students are subject to their home unit's extra-curricular requirements in addition to the CS program and Institute requirements. Confirm with your home school what those are.
While Georgia Tech does not transfer graduate courses from other institutions into the Ph.D. program, students may request that eligible external coursework be considered as an equivalent course to satisfy breadth or minor requirements.
CS Program-wide transfer credit rules (from CS PhD Handbook):
Submit petition during your 2nd term or later (not 1st term).
Only graduate-level courses count. Courses used to satisfy an undergraduate degree are ineligible.
Up to 30 credit hours from a prior graduate degree (grade B or above) can count toward the PhD requirements.
Approved external courses count toward PhD requirements but will NOT appear on the GT transcript or in DegreeWorks.
Process: coordinated by your School Graduate Coordinator. Submit a petition letter describing which courses you believe should receive credit, an unofficial transcript from the prior institution, and syllabi for each course. Contact the GT faculty teaching the equivalent course for approval, then route to your Graduate Coordinator for final approval.
To be eligible for consideration, the coursework must:
Have been completed within the past six years.
Be graduate-level coursework.
Courses Taken at Georgia Tech: If you completed non-CS or CSE graduate courses while earning a master's degree at Georgia Tech, those courses may be used to satisfy your minor requirement, provided your faculty advisor determines they are relevant to your program of study. No formal evaluation is required. Simply list the course(s) on your Minor Form.
Courses Taken Outside Georgia Tech: Graduate-level non-CS or CSE courses completed at another institution may also be used to satisfy your minor requirement, provided your faculty advisor determines they are relevant to your program of study. No formal evaluation is required. Simply attach the course syllabus and an official or unofficial transcript to your Minor Form.
Using CS or CSE Courses Toward the Minor: Requests to apply CS or CSE courses toward the minor requirement require a formal Petition to the Faculty submitted through DocuSign. The petition is first reviewed by the School of Interactive Computing Associate Chair. If approved, it is forwarded to the Institute Graduate Curriculum Committee for final consideration.
Courses Taken at Georgia Tech: If you would like to use a course that has not already been approved as a breadth course to satisfy a breadth requirement, you must submit a Petition to the Faculty through DocuSign. Attach the course syllabus and transcript, provide a brief justification for your request, and route the petition to Thomas Ploetz, Associate Chair, for review. The Associate Chair will consult with the appropriate subject area lead before making a decision.
Courses Taken Outside Georgia Tech: If you would like to use graduate-level coursework completed at another university to satisfy a breadth requirement, please follow the steps outlined below. Note that the programming requirement should be taken at Georgia Tech.
Q: Can a student request permission to count a CS course toward the minor requirement?
Yes. If there is a compelling academic justification for including a CS course in the minor (for example, if the course is cross-listed or substantially equivalent to a course in another discipline, such as CS 7751 and ECE 7751), the student may submit a Petition to the Faculty through DocuSign. The petition should include a brief justification for the request. It will first be reviewed by the School of Interactive Computing Associate Chair and, if supported, forwarded to the Graduate Curriculum Committee for final consideration.
Q: Can I count grad-level courses I took as an undergraduate to count for my PhD?
You can only count TWO grad-level courses that you took and used toward your BS degree.
Q: May a student request to meet their programming breadth requirement with a course taken at another institution?
In general, no. We discourage requests to fulfill the programming breadth requirement with coursework completed outside of Georgia Tech. However, students who believe they have completed an equivalent course may submit a petition for faculty consideration. To do so, the student must first identify a Georgia Tech course that closely matches the external course. The student should then contact the Georgia Tech course instructor and provide the external course syllabus, asking the instructor to review the course and determine whether it is equivalent to the Georgia Tech course. If the instructor supports the request, the student may submit a Petition to the Faculty. The petition is first reviewed by the School of Interactive Computing Associate Chair. If approved, it is forwarded to the Graduate Curriculum Committee (GCC) for final consideration. Please note that this review process typically takes several months, and most petitions are not approved.
Q: Can 8903s be used to meet the minor requirement?
8903s are one-to-one faculty-student directed study. Students can use up to 3 hours of 8903 toward their minor if it is an area outside of their normal course of study.
Table of Content