Overview
The Doctor of Philosophy program in Computer Science is overseen by the Computer Science Graduate Committee (CSGC). The basic guidelines for approval of a student’s program are recommendations appearing in the Communications of the Association for Computing Machinery (ACM), the professional society in Computer Science.
Prerequisites for Admission
Completion of the following courses, or their equivalents, is prerequisite to entry into the program:
Code | Title | Credit Hours |
---|---|---|
CSC 120 | Computer Programming I | 4 |
CSC 220 | Computer Programming II | 4 |
CSC 314 | Computer Organization and Architecture | 3 |
CSC 317 | Data Structures and Algorithm Analysis | 3 |
CSC 427 | Theory of Computing | 3 |
MTH 161 | Calculus I | 4 |
MTH 224 | Introduction to Probability and Statistics | 3 |
MTH 309 | Discrete Mathematics I | 3 |
Total Credit Hours | 27 |
Students may be admitted with deficiencies, normally a maximum of 6 credits. These must be completed in addition to the degree requirements.
Curriculum Requirements
Code | Title | Credit Hours |
---|---|---|
Coursework | 24-42 | |
24-42 credits of courses with advisor's approval, including at least 12 credits from CSC7XX courses and at least one course from four of the following five core areas. | ||
Algorithms | ||
Data Security and Cryptography | ||
or CSC 616 | Cybersecurity | |
or CSC 632 | Introduction to Parallel Computing | |
or CSC 640 | Algorithm Design and Analysis | |
or CSC 645 | Introduction to Artificial Intelligence | |
or CSC 647 | Computational Geometry | |
or CSC 648 | Problem Solving for Bioinformatics | |
or CSC 732 | Parallel Algorithms | |
Data Science / Artificial Intelligence | ||
Statistical Learning with Applications | ||
or CSC 645 | Introduction to Artificial Intelligence | |
or CSC 646 | Introduction to Machine Learning with Applications | |
or CSC 648 | Problem Solving for Bioinformatics | |
or CSC 649 | Biomedical Data Science | |
or CSC 650 | Computational Neuroscience | |
or CSC 746 | Neural Networks and Deep Learning | |
or CSC 749 | Automated Reasoning | |
or CSC 751 | Semantic Web | |
or CSC 752 | Autonomous Robotic Systems | |
Software | ||
Introduction to Computer Graphics | ||
or CSC 631 | Introduction to Software Engineering | |
or CSC 632 | Introduction to Parallel Computing | |
or CSC 642 | Statistical Learning with Applications | |
or CSC 645 | Introduction to Artificial Intelligence | |
or CSC 646 | Introduction to Machine Learning with Applications | |
or CSC 647 | Computational Geometry | |
or CSC 648 | Problem Solving for Bioinformatics | |
or CSC 649 | Biomedical Data Science | |
or CSC 650 | Computational Neuroscience | |
Systems | ||
Data Security and Cryptography | ||
or CSC 616 | Cybersecurity | |
or CSC 629 | Introduction to Computer Graphics | |
or CSC 632 | Introduction to Parallel Computing | |
Theory | ||
Data Security and Cryptography | ||
or CSC 640 | Algorithm Design and Analysis | |
or CSC 751 | Semantic Web | |
Pre-Candidacy Course | 9-27 | |
Pre-Candidacy DOCTORAL DISSERTATION | ||
Post-Candidacy Course | 9-27 | |
Post-Candidacy Doctoral Dissertation | ||
Research in Residence | ||
Total Credit Hours | 60 |
Requirements for Graduation
Students must complete the Graduate School requirements, and the Departmental requirements described here.
Credits
For graduation students must complete at least 60 credits (as required by the Graduate School), including at least 24 classrom course credits (see below), at least 9 pre-candidacy credits (CSC830), and at least 9 post-candidacy credits (CSC840).
Written Qualifying Exam
The student must pass a three-hour written exam of general knowledge of Computer Science at the end of the first year. Upon failure, the student may petition the CSGC to allow a second attempt at the end of the second year. The exam will be administered once a year in the early weeks of the summer session. It will cover expected knowledge of all first-year graduate students. Included in this material are a fundamental understanding of algorithm analysis and design, advanced skills in programming, basic knowledge of computer architecture, and a general understanding of computer systems.
Classroom Courses
By the end of the first two years, the student must have completed at least eight classroom courses, for a total of at least 24 credits. At least four of these courses (12 credit hours) must be CSC7XX courses. The student must work with the Director of Graduate Studies to select approved courses. Maximally 12 credits from prior study may be pre-approved by the Director of Graduate Studies for transfer after completion of an equivalent number of credits at the University of Miami.
Selecting an Advisor
By the end of the second semester, the student must find a research supervisor. By the end of the third semester, the student must have made significant progress on a research project under the supervision of a faculty member. The student must write a detailed progress report that will become a public document and shall be kept on file by the Department. The student must present the report to a quorum of the CSGC at a time to be approved by the chairman of the Department. The supervisor and CSGC must approve the project as applicable toward candidacy for a Ph.D.
Annual Presentations
After passing the written qualifying exam, the student must make a public oral presentation to the Department at least once per year. These presentations include the thesis proposal and the thesis defense. The goals are to develop the student’s oral and presentation skills, to provide a means for the Department to check the research and progress of the student, and to present the opportunity for feedback to improve the student’s research.
Teaching Experience
Each student must teach a lab-based course for a minimum of one semester. Lab-based courses typically require the student to present material in a relaxed lecture format, re-emphasizing material learned in the general lecture as well as introducing new material to the students.
Mission
The Department's mission is to educate and perform scholarly activities in Computer Science.
Student Learning Outcomes
- Student has adequate knowledge of 1) hardware and software systems and 2) design and implementation procedures for software systems.
- Student has foundation of theoretical computer science including discrete mathematics, automata and language theory, design and analysis of algorithms, computational complexity, and correctness of programs.
- Student has understanding and knowledge of the state-of-the-art hardware and software applications in one or more research area and has identified one or more open and interesting problems that computer scientists are currently addressing.
- Student has applied knowledge of computer science theories and software development methodologies to solve an original research topic. The student has written a Ph.D. dissertation and presented to his dissertation committee.
- Student has received national and international recognition for presentation and publication of original research results.