700 Level Courses

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.

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.

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.

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—CSC 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 MTH 753 and CSC 753. P—CSC or MTH 655

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 MTH 754. Credit not allowed for both MTH 754 and CSC 754. P—CSC 655 or MTH 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—CSC 721

766. Pattern Recognition. (3) Study of statistical pattern recognition techniques and computer-based methods for decision-making, including discriminant functions, feature extraction, and classification strategies. Emphasis is on applications to medical image analysis. P—POI

767. Computer Vision. (3) Techniques for extracting features from images: optimal thresholding,
2D and 3D feature measurement, graph isomorphism and graph matching methods. P—CSC 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—CSC 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—POI

791, 792. Thesis Research. (1-9). May be repeated for a maximum of 18 hours each. Satisfactory/ Unsatisfactory

795. Project. (3). Satisfactory/Unsatisfactory