Skip to main content

Artificial Intelligence

Overview of modern artificial intelligence. Covers topics such as searching and game trees, knowledge representation techniques, methods to represent uncertain information and to reason about it, reasoning about action and planning, expert systems, machine learning and neural networks.

Error Correcting Codes

The problem of correct transmission of data in a noisy environment. The design and analysis of codes that efficiently (in terms of data rate and encryption and decryption speed) correct errors. Linear and nonlinear block codes, general encoding and decoding techniques, fundamental bounds, dual codes, cyclic codes. Specific codes will be studied, including Hamming, BCH, Reed- Muller, Reed-Solomon, trellis, and convolutional codes.

Heuristic Algorithms

Solving problems that are intractable. Exact techniques such as search integer programming and dynamic programming. Approximation techniques including local search, divide and conquer, and greedy algorithms. Methods based upon natural models such as force-directed iteration, simulated annealing, genetic algorithms, and neural networks. Examples will be selected from active research areas.

Computability And Complexity

The formal study of computation, including computability and computation with limited resources. Church's thesis and models of computation. Topics will include Turing machines or other basic models of computation; reductions; computable and computably enumerable sets; Rice's Theorem; decidability and undecidability; basic complexity theory; NP-completeness and notions of intractability.

Parallel Algorithms

The study of intrinsic parallelism in computational problems and the design of fast and efficient parallel algorithms. Parallel algorithms for prefix computation, selection, merging, sorting, routing, arithmetic, graph, and systolic algorithms.

Switching Theory

Application of the symbolic logic of Boole and Schroeder to the design of switching systems. Topics include Boolean algebra, Boolean analysis, the solution of logic equations, the minimization of Boolean formulas, and the diagnosis of failures in digital systems.

Finite-State Machines

Analysis and synthesis of sequential machines via state-tables and regular expressions. Equivalence, minimization and decomposition of machines. Partitions and structure-theory. Identification and diagnosis of finite-state machines by means of input-output experiments. Linear, finite-memory, and information-lossless machines.

Special Topics In The Theory Of Computation (Subtitle Required)

Advanced topics in the theory of computation and the design and analysis of algorithms, including heuristic approaches for algorithm design, parallel computation, flow problems, parallel and concurrent processes and other areas of current research interest. May be repeated to a maximum of six credits but only three credits may be earned under the same topic.

Subscribe to