http://csc.as.miami.edu

Dept. Code:  CSC

Introduction

The Department of Computer Science offers undergraduate and graduate education in Computer Science, and performs research in various areas of Computer Science. Faculty research interests include algorithm engineering, applied cryptography & cybersecurity, automated reasoning, bioinformatics, computational complexity, computational geometry & computer graphics, computational neuroscience, data mining & data science, machine learning & neural networks, music information retrieval, robotics, scientific computing, semantic web, and sensors & wireless systems.

Educational Objectives

The Department of Computer Science educates students in the science of software development: the analysis of domain problems, the development of algorithms and programs, the use of specialist computing techniques, the system-software and hardware platforms, and the production and deployment of efficient and robust computer software. Instruction ranges from introductory programming classes and laboratories, through to faculty research areas.

Degree Programs

The Department of Computer Science offers

  • a Master of Science (MS) in Computer Science
  • a track in the university-wide Master of Science (MS) in Data Science
  • a Doctor of Philosophy (PhD) in Computer Science

Note

All Computer Science graduate TAs and RAs must complete RCR training during their first semester in the department. All other Computer Science graduate students must complete Responsible Conduct of Research (RCR) training before starting research work. Information about RCR training can be found from UM ethics programs: https://www.uresearch.miami.edu/uresearch-services/citi/index.html

Doctoral Program in Computer Science

CSC 607. Logic. 3 Credit Hours.

Propositional and first order logic: completeness. Computational logic: Robinson's resolution. Formalized theories: arithmetic, Godel's incompleteness theorem, Tarski's theorem on undefinability of truth.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 609. Data Security and Cryptography. 3 Credit Hours.

Access, information flow, and inference controls. Network security and management. Encryption algorithms. Cryptographic techniques.
Prerequisite: CSC 317 or CSC 427.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 615. Introduction to Python Programming for Graduate Students. 3 Credit Hours.

Python programming and data structures. Program design and implementation. Python packages for scientific applications, data analysis, and machine learning. Designed for graduate students from the sciences. Not available to Computer Science students.
Prerequisite: MTH 161 and MTH 224.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 616. Cybersecurity. 3 Credit Hours.

Introduction to Cyberspace. Foundations of Cybersecurity. Blockchain and its applications. Malware and counter measures against malware. Firewalls. lntrusion detection and prevention systems. Security for cloud computing and the Internet of Things. Design and implementation of secure software systems.
Prerequisite: CSC 317 And MTH 224 And MTH 309.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 618. Interpreters and Compiler Theory. 3 Credit Hours.

Translation of higher-level languages into machine language. Grammars, parsing, scanners, precedence relations. Run-time storage and symbol table organization. Semantic routines. Chaining and hashing. Code generation and optimization. Macro implementation.
Prerequisite: CSC 419.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 623. Theory of Relational Databases. 3 Credit Hours.

Relational operators.Functional dependencies.Covers for functional dependencies. Multivalued dependencies. Joint dependencies. Normal Forms, Representation theory. Query systems. Acyclic database schemes.
Prerequisite: CSC 423.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 629. Introduction to Computer Graphics. 3 Credit Hours.

Graphic systems. Graphic communication. Geometric modeling (2D and 3D representations). Rendering. Advanced techniques. Display and input devices. Software packages.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 632. Introduction to Parallel Computing. 3 Credit Hours.

Parallel computing systems shared-memory parallel programming, with open MP, distributed-memory parallel programming, software with open MPI software package. Applications: vector and matrix operations, sorting, image processing.
Prerequisite: CSC 317.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 640. Algorithm Design and Analysis. 3 Credit Hours.

Design techniques include divide-and-conquer, greedy method, dynamic programming, backtracking. Time and space complexity. Sorting, searching, combinatorial and graph algorithms.
Prerequisite: CSC 317.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 645. Introduction to Artificial Intelligence. 3 Credit Hours.

Search and constraint satisfaction. Knowledge representation and reasoning. Natural language processing. Machine learning and neural networks. Game theory. AI programming.
Prerequisite: CSC 317 Or ECE 318 And MTH 224 Or ECE 310 Or IEN 310.
Components: LEC.
Grading: GRD.
Typically Offered: Fall.

CSC 646. Introduction to Machine Learning with Applications. 3 Credit Hours.

Python and probability, the Numpy package. K-means clustering. The Gaussian mixture model. Kernel density estimation. Dimensionality reduction. Classification. Regression, SVM, and SVR. Ensemble learning. Cross validation for model selection. Signal encoding-decoding. Dictionary learning. Metrics for performance evaluation. Deep neural networks. Neural networks, the Pytorch and Keras packages. Computational graph and automatic differentiation. Convolutional neural networks. Autoencoders. Generative adversarial networks. Transfer learning.
Prerequisite: MTH 210 and MTH 224.
Components: LEC.
Grading: GRD.

CSC 647. Computational Geometry. 3 Credit Hours.

Algorithms for solving geometric problems arising from application domains including graphics, robotics, and GIS.
Prerequisite: CSC 317.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 648. Bioinformatics Algorithms. 3 Credit Hours.

The complexity of bioinformatics computations. Introduction to perl and bioperl. Pattern matching and sequence homology. Genome assembly. Transcription factor Binding Site recognition and motif finding. Gene prediction. Phylogeny..Micro-array analysis. RNA folding. Gene design and synthesis.
Components: LEC.
Grading: GRD.
Typically Offered: Fall.

CSC 650. Computational Neuroscience. 3 Credit Hours.

Introduction to computational neuroscience. Analysis and modeling of neural systems. Neurons, populations of neurons, perception, behavior. Connections to machine learning. Tutorials in Matlab.
Prerequisite: MTH 162 and MTH 224.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 656. Multimedia Systems. 3 Credit Hours.

Specification and requirements of a multimedia hardware system. Multimedia data technologies. Graphics file formats. Compression and decompression. Multimedia application development.
Prerequisite: CSC 317.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 670. Directed Reading. 2-4 Credit Hours.

Directed reading in Computer Science - content varies by semester.
Components: THI.
Grading: GRD.
Typically Offered: Fall & Spring.

CSC 685. Topics in Computer Science. 1-3 Credit Hours.

Topics in Computer Science - content varies by semester.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 686. Topics in Computer Science. 1-3 Credit Hours.

Topics in Computer Science - content varies by semester.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 687. Topics in Computer Science. 1-3 Credit Hours.

Topics in Computer Science - content varies by semester.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 688. Topics in Computer Science. 1-3 Credit Hours.

Topics in Computer Science - content varies by semester.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 689. Topics in Computer Science. 1-3 Credit Hours.

Topics in Computer Science - content varies by semester.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 690. Seminar for Graduate Students I. 1-3 Credit Hours.

Flexible topics of interest to graduate students.
Components: THI.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 692. Seminar for Graduate Students II. 1-3 Credit Hours.

Flexible topics of interest to graduate students.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 707. Logic Programming. 3 Credit Hours.

Programming in Prolog, Fix-point semantics, Declarative semantics, Completeness of SLD-resolution, Negation, Implementation of logic programming languages. Deductive databases.
Prerequisite: MTH 506 and CSC 317.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 711. Theory of Computation. 3 Credit Hours.

Recursive functions, Markov algorithms, Turing machines. Unsolvability.
Prerequisite: CSC 317 or CSC 517.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 712. Complexity Theory. 3 Credit Hours.

Models of computations, Blum's axioms, intractability, NP-completeness.
Prerequisite: CSC 427.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 724. Mobile Wireless Systems. 3 Credit Hours.

Cellular Systems, multiple access techniques, wireless networking, mobile IP, power management, user location information management, TDMA, CDMA, and GSM systems, data broadcasting.
Prerequisite: CSC 424.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 732. Parallel Algorithms. 3 Credit Hours.

Parallel computation models; sorting networks; parallel algorithms for sorting, searching, graph problems, prefix computation, pattern matching, and fast Fourier transforms; theory of P-completeness, the class NC.
Prerequisite: CSC 317.
Components: LEC.
Grading: GRD.
Typically Offered: Fall.

CSC 746. Neural Networks and Deep Learning. 3 Credit Hours.

Fundamentals of artificial neural networks: Perceptrons, Single-layer perceptron classifiers, Multi-Layer feedforward networks, Error back-propagation training. Deep Feedforward Networks: Regularization for deep learning, Optimization for training deep models, Convolution networks. Applications: Computer vision, speech recognition, Natural language processing.
Prerequisite: CSC 317.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 749. Automated Reasoning. 3 Credit Hours.

Propositional and 1st order logic. Reasoning and resolution. More complex inference rules. Using contemporary ATP systems. Prolog as an ATP system and as a programming language. Applications of ATP in research and industry.
Prerequisite: CSC 317 or CSC 645.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 751. Semantic Web. 3 Credit Hours.

An overview of the underlying semantic web technologies. Ontology construction and implementation using tools and APIs (logic, XML, RDF, RDFS). Theoretical and practical aspects of knowledge representation (description logic, RDF, RDFS, SPARQL, SROIQ(D)). Designing and debugging ontologies (ontology engineering, entailment tools, project).
Prerequisite: CSC 317 and MTH 309.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 752. Autonomous Robotic Systems. 3 Credit Hours.

Introduction: autonomous systems, autonomous robots, RoboCup, typical components of an autonomous robot. Modeling: perception, noise, modeling, recursive state estimation, Bayes' filter, particle filter, self-localization. Control and motion: PIO-control, calibration of parameters, controlling a wheeled robot, controlling joints, walking motion. Learning (optional, if time permits): overview, different types of learning, reinforcement learning.
Prerequisite: CSC 317 and MTH 210.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 756. Advanced Multimedia Systems. 3 Credit Hours.

Digital-system fundamentals. Digital audio, analog and digital video. Graphics. Data compression algorithms. CD-ROM technology. Implementation of multimedia software development tools. Architecture and issues for distributed multimedia systems. Multimedia communications systems.
Prerequisite: CSC 656.
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 785. Advanced Topics in Computer Science. 1-3 Credit Hours.

Advanced Topics in Computer Science
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 786. Advanced Topics in Computer Science. 1-3 Credit Hours.

Advanced Topics in Computer Science
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 787. Advanced Topics in Computer Science. 1-3 Credit Hours.

Advanced Topics in Computer Science
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 788. Advanced Topics in Computer Science. 1-3 Credit Hours.

Advanced Topics in Computer Science
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 789. Advanced Topics in Computer Science. 1-3 Credit Hours.

Advanced Topics in Computer Science
Components: LEC.
Grading: GRD.
Typically Offered: Offered by Announcement Only.

CSC 793. Research Project. 1-6 Credit Hours.

Supervised research project preceding dissertation research for the Ph.D.
Components: IND.
Grading: GRD.
Typically Offered: Fall & Spring.

CSC 794. Research Project. 1-6 Credit Hours.

Supervised research project preceding dissertation research for the Ph.D.
Components: LEC.
Grading: GRD.
Typically Offered: Fall & Spring.

CSC 810. Master's Thesis. 1-6 Credit Hours.

The student working on his/her master's thesis enrolls for the number of credit s as determined by his/her advisor. Credit is not awarded until the thesis has been accepted.
Components: THI.
Grading: SUS.
Typically Offered: Fall & Spring.

CSC 825. Continuous Registration--Master's Study. 1 Credit Hour.

To establish residence for non-thesis master's students who are preparing for major examinations. Credit not granted. Regarded as full time residence.
Components: THI.
Grading: GRD.
Typically Offered: Fall & Spring.

CSC 830. Pre-Candidacy DOCTORAL DISSERTATION. 1-12 Credit Hours.

Required of all candidates for the Ph.D. The student will enroll for credit as determined by his/her advisor, but for not less than a total of 12 hours. Up to 12 hours may be taken in a regular semester, but not more than six in a summer session.
Components: THI.
Grading: SUS.
Typically Offered: Fall, Spring, & Summer.

CSC 840. Post-Candidacy Doctoral Dissertation. 1-12 Credit Hours.

Required of all candidates for the Ph.D. who have advanced to candidacy. The student will enroll for credit as determined by his/her advisor, but not for less than a total of 12. Not more than 12 hours of CSC 740 may be taken in a regular semester, nor more than six in a summer session.
Components: THI.
Grading: SUS.
Typically Offered: Fall, Spring, & Summer.

CSC 850. Research in Residence. 1 Credit Hour.

Used to establish research in residence for Ph.D. students after the student has enrolled for permissible cumulative total in appropriate doctoral research. Regarded as full-time residence.
Components: THI.
Grading: SUS.
Typically Offered: Fall, Spring, & Summer.