Graduate Academic Programs
Undergraduate Academic Programs
International Exchange & Language Programs
General University Information
Course Listing
UM Home > Academic Bulletin > Graduate Academic Programs > College of Arts & Sciences > Computer Science

Academic Bulletin

COLLEGE OF ARTS AND SCIENCES - GRADUATE
www.as.miami.edu

COMPUTER SCIENCE Dept. Code: CSC
www.cs.miami.edu

Degree Programs

The department of Computer Science offers a Master of Science in Computer Science and a Doctor of Philosophy in Computer Science.

MASTER OF SCIENCE IN COMPUTER SCIENCE

The Master of Science program in Computer Science is overseen by the Computer Science Graduate Committee (CSGC). The basic guidelines for approval of a students program are recommendations appearing in the Communications of the Association for Computing Machinery (ACM), the professional society in Computer Science.

Prerequisites

Completion of the following courses, or their equivalents, is prerequisite to entry into the program: CSC 120, CSC 220, CSC 314, CSC 517, CSC 527, MTH 111, MTH 224, and MTH 309. Students may be admitted with deficiencies; these must be completed in addition to the degree requirements.

Requirements

Students must complete either the thesis option or the coursework option.

1. Thesis option:

• CSC 710 - Masters Thesis (6 credits) and coursework, one of:
• 12 credits from CSC 6XX courses and 15 credits from other approved courses.
• 9-11 credits from CSC 6XX courses and 19-21 credits from other approved courses.

2. Coursework option:

• 36 credits of approved courses, including, at least 18 credits from CSC 6XX courses.
• At least 18 credits, exclusive of the thesis credits, must be earned in courses offered by the Department of Computer Science.
• Each program must include both theoretical and experimental topics, and may not include more than 3 credits from CSC 670.

Recommended subjects include:
Operating Systems, Programming Languages, Analysis of Algorithms, Theory of Computation, and Computer Architecture or Software Development. The approval is made by the CSGC and the Department Chairman or designate. Programs may thus be individually tailored to meet varied backgrounds and objectives. It is recognized that there are still individuals with undergraduate degrees in other fields wishing to pursue graduate work in Computer Science, and other individuals with work experience in the field wishing to advance their formal training in Computer Science.

DOCTOR OF PHILOSOPHY IN COMPUTER SCIENCE

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
In order to be admitted to the Ph.D. program in Computer Science, an applicant must have obtained a minimum of 15 credits in courses at sophomore level and above. These courses in the Department of Computer Science are numbered 200 and above. Applicants may be admitted with deficiencies; these must be completed in addition to the degree requirements.

Requirements

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 Course Requirements:
In the first two years, the student must take eight CSGC-approved classroom courses, for a total of 24 credits. At least four of these courses (12 credits) must be open only to graduate students. These courses are numbered 600 and above. The eight courses must include two courses from each of the areas of Analysis, Applications, and Systems. The student should work with the Director of Graduate Studies to select a cohesive set of courses as approved by the CSGC. The CSGC will have sole authority in designating the areas to which each course belongs. In the case that a course is designated in more than one area, a student may apply the course to only one area. The designation of current CSGC-approved courses appears at the end of this description.

Project Course Requirements:
By the end of the second year the student must complete two graduate level project courses for a minimum total of 6 credits. Each project shall be under the supervision of a different faculty member in the Department.  All Ph.D. students must find faculty willing to supervise their project in the semester preceding the project. The deadline for finding a supervisor shall be the first full week in April or November for the Fall and Spring terms, respectively. This deadline does not require identifying a specific project but only finding a faculty member willing to supervise a project.  Upon completion of a project, the student must write a detailed project report. This report shall become a public document and shall be kept on file by the Department. The student must present the finished project to a quorum of the CSGC at a time to be approved by the chairman of the Department. The supervisor and CSGC must approve each project as applicable toward candidacy for a Ph.D. A primary factor in determining approval shall be the stated willingness of the supervisor to become an initial Ph.D. advisor for the student.

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 two project presentations, 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.

Approved Courses for Doctor of Philosophy

Analysis

CSC 506 - Logic

CSC 612 -  Theory of Complexity

CSC 517 - Data Structures and Algorithm Analysis

CSC 623 -  Theory of Relational Databases

CSC 518 - Compiler Theory

CSC 628 -  Parallel Algorithms

CSC 519 - Programming Languages  

CSC 646 -  Neural Computing

CSC 527 -  Theory of Computing

CSC 647 -  Computational Geometry

CSC 531 - Introduction to Software Engineering

EEN 634 -  Modeling and Analysis of Computer Networks

CSC 540 - Algorithm Design and Analysis  

EEN 656 -  Information Theory

CSC 545 - Introduction to Artificial Intelligence

MTH 509 -  Discrete Mathematics II

CSC 606 - Logic Programming

MTH 520 -  Numerical Analysis I

CSC 609 - Cryptography and Data Security

MTH 521 -Numerical Analysis II

CSC 611 - Theory of Computation

MTH 528 -  Combinatorics

Applications

CSC 523 - Database Systems

CSC 648 -  Automated Reasoning

CSC 529 -  Introduction to Computer Graphics

CSC 655 -  Advanced Multimedia Systems

CSC 545 -    Introduction to Artificial Intelligence

EEN 577 -  Data Mining

CSC 555 - Multimedia Systems

EEN 638 -  Computer Vision

CSC 548 - Bioinformatics Algorithms

EEN 653 -  Pattern Recognition and Neural Networks

CSC 628 -  Parallel Algorithms

MTH 520 -  Numerical Analysis I

CSC 645 -  Expert System Design

MTH 521 -  Numerical Analysis II

CSC 646 -  Neural Computing

 

Systems

CSC 518 -  Compiler Theory

CSC 645 -  Expert System Design

CSC 519 -  Programming Languages

CSC 655 -  Advanced Multimedia Systems

CSC 521 -  Principles of Computer Operating Systems

EEN 514 -  Computer Architecture

CSC 523 - Database Systems

EEN 534 - Computer Communication Networks

CSC 524 -  Networks and Information Security

EEN 614 -  Advanced Computer Architecture

CSC 555 - Multimedia Systems

EEN 634 -  Modeling and Analysis of Computer Networks

CSC 609 -  Cryptography and Data Security

EEN 671 -  Advanced Interactive Multimedia Information Systems

Approved Graduate Courses

CSC 506 - Logic CSC 647 - Computational Geometry
CSC 517 - Data Structures and Algorithm Analysis CSC 648 – Automated Reasoning
CSC 518 - Interpreters and Compiler Theory CSC 655 - Advanced Multimedia Systems
CSC 519 - Programming Languages CSC 670 - Directed Reading
CSC 521 - Principles of Computer Operating Systems CSC 685-689 - Topics in Computer Science
CSC 523 - Database Systems CSC 690 - Seminar for Beginning Graduate Students
CSC 524 - Computer Networks CSC 692 - Seminar
CSC 527 - Theory of Computing CSC 710 – Master’s Thesis
CSC 529 - Introduction to Computer Graphics CSC 725 – Continuous Registration – Master’s Study
CSC 531 - Introduction to Software Engineering CSC 730 – Doctoral Dissertation
CSC 540 - Algorithm Design and Analysis CSC 740 - Doctoral Dissertation Post Candidacy
CSC 544 - Computer Modelling CSC 750 – Research in Residence
CSC 545 - Introduction to Artificial Intelligence EEN 512 - Object-Oriented Software Engineering
CSC 548 - Bioinformatics Algorithms EEN 514 - Computer Architecture
CSC 555 - Multimedia Systems EEN 532 – VLSI Systems
CSC 595-599 - Topics in Computer Science EEN 534 – Computer Communication Networks
CSC 606 - Logic Programming EEN 538 - Introduction to Digital Image Processing
CSC 609 - Data Security and Cryptography EEN 548 - Machine Learning
CSC 611 - Theory of Computation EEN 572 - Object-Oriented and Distributed Database Management Systems
CSC 612 - Complexity Theory EEN 614 - Advanced Computer Architecture
CSC 613 - Computer System Performance Evaluation EEN 634 - Modeling and Analysis of Computer Networks
CIS 620 - Information Systems Analysis and Design EEN 638 - Computer Vision
CSC 623 - Theory of Relational Databases EEN 650 - Fault-Tolerant Computer Design
CSC 624 - Mobile Wireless Systems EEN 656 - Information Theory
CSC 628 - Parallel Algorithms MTH 509 - Discrete Mathematics II
CSC 644 - Advanced Computer Modelling MTH 520 - Numerical Analysis I
CSC 645 - Introduction to Expert Systems MTH 521 - Numerical Analysis II
CSC 646 - Neural Computing MTH 524 - Introduction to Probability Theory
  MTH 525 - Introduction to Mathematical Statistics
  MTH 528 - Combinatorics
  MTH 621 - Mathematical Probability
  MTH 638 - Stochastic Processes
UM Home
UM Home Academic Bulletin Home askUM Calendar myUM Site Map