700 Level Courses

700-Level Courses

Courses at the 700 level and above are only available to graduate students.

702. Theory of Computation

(3) Basic theoretical principles of computer science. Topics include the relationship between automata and grammars, Church’s thesis, unsolvability, and computational complexity.

Syllabus for Torgersen


721. Theory of Algorithms

(3) Design and analysis of algorithms. Topics may include time and space complexity analysis, divide-and-conquer algorithms, the fast Fourier transform, NP-complete problems, and efficient algorithms for operations on lists, trees, graphs, and matrices.

Syllabus for Torgersen


726. Parallel Algorithms

(3) A thorough, current treatment of parallel processing and supercomputing. Modern high-performance commercial architectures, parallel programming, and various supercomputing applications are discussed. Hands-on experience is emphasized. Students are given access to a variety of machines.

Syllabus for


731. Compiler Optimization

(3) Design and implementation of optimizing compilers. Optimization techniques, parallelizing transforms, and comparative examples from the literature. P – CSC 633.


743. Topics in Operating Systems

(3) Issues in operating system development; resource management, queuing theory, concurrent processing, and languages for operating system development. P – Computer Science 641.


753. Nonlinear Optimization

(3) The problem of finding global minimums of functions is addressed in the context of problems in which many local minima exist. Numerical techniques are emphasized, including gradient descent and quasi-Newton methods. Current literature is examined and a comparison made of various techniques for both unconstrained and constrained optimization problems. Credit not allowed for both Mathematics 753 and Computer Science 753. P – Computer Science or Mathematics 655.

Syllabus for Plemmons


754. Numerical Methods for Partial Differential Equations

(3) Numerical techniques for solving partial differential equations (including elliptic, parabolic and hyperbolic) are studied along with applications to science and engineering. Theoretical foundations are described and emphasis is  on algorithm design and implementation using either C, FORTRAN or MATLAB. Also listed as Mathematics 754. P – Computer Science or Mathematics 655.


765. Image Processing

(3) Advanced techniques in image processing including image formation and corruption models, digitization, Fourier domain methods, enhancement, restoration, and tomographic reconstruction. P – Computer Science 721.

Syllabus for


766. Pattern Recognition

(3) A study of statistical pattern recognition techniques and computer-based methods for decision making, including discriminant functions, feature extraction, and classification strategies. The emphasis is on applications to medical image analysis. P – Permission of Instructor.


767. Computer Vision

(3) Techniques for extracting features from images: optimal thresholding, 2D and 3D feature measurement, graph isomorphism and graph matching methods. P – Computer Science 766.


775. Neural Networks

(3) Design of artificial neural networks. Introduction to the relevant neurophysiology, feedforward networks, recurrent networks, and applications to pattern recognition and optimization.


779. Topics in Artificial Intelligence

(3) Advanced topics in artificial intelligence. Individual projects are assigned. P – Computer Science 671.


781. Computer Science Seminar

(0) Discussions of contemporary research. No credit.


790. Advanced Topics in Computer Science

 (3) Advanced topics of current interest in computer science not covered by existing courses. P – Permission of Instructor.

Syllabus for Natarajan


791 & 792. Thesis Research

(1-9) Staff.


795. Project

(3) Staff.