Skip to main content
Loading

Department of Computer Sciences

 

CS 38000 - Artificial Intelligence
Fundamental concepts and techniques of artificial intelligence. Search techniques, including local search and constraint satisfaction. Knowledge representation concepts and methods of reasoning. Software agents, machine learning and neural networks, and AI planning systems.
CS 41000 - Automata And Computability
A finite automaton is a mathematical model for a computational system. Computer science embodies many examples of finite state systems. This course will cover the basic principles of deterministic and non-deterministic finite automata, Turing machines, formal language theory, regular expressions, context-free grammers, the halting problem, and unsolvability.
CS 46200 - Introduction To Artificial Intelligence
Basic problem-solving strategies, heuristic search, problem reduction and AND/OR graphs, knowledge representation, expert systems, generating explanations, uncertainty reasoning, game playing, planning, machine learning, computer vision, and programming systems such as LISP or PROLOG.
CS 47100 - Introduction to Artificial Intelligence
Students are expected to spend at least three hours per week gaining experience with artificial intelligence systems and developing software. Basic problem-solving strategies, heuristic search, problem reduction and AND/OR graphs, knowledge representation, expert systems, generating explanations, uncertainty reasoning, game playing, planning, machine learning, computer vision, and programming systems such as Lisp or Prolog.
CS 47800 (BIOL 478 and STAT 478) - Introduction to Bioinformatics

Bioinformatics is broadly defined as the study of molecular biological information, targeting particularly the enormous volume of DNA sequence and functional complexity embedded in entire genomes. Topics will include understanding the evolutionary organization of genes (genomics), the structure and function of gene products (proteomics), and the dynamics of gene expression in biological processes (transcriptomics). Inherently, bioinformatics is interdisciplinary, melding various applications of computational science with biology. This jointly taught course introduces analytical methods from biology, statistics and computer science that are necessary for bioinformatics investigations. The course is intended for junior and senior undergraduates from various science backgrounds. Our objective is to develop the skills of both tool users and tool designers in this important new field of research.

CS 48300 - Introduction To The Theory Of Computation
Turing machines and the Church-Turing thesis; decidability; halting problem; reducibility; undecidable problems; decidability of logical theories; Kolmogorov complexity; time classes; P, NP, NP-complete; space classes; Savitch's theorem, PSPACE-completeness, NL-completeness; hierarchy theorems; approximation theorems; probabilistic algorithms; applications of complexity to parallel computation and cryptography.
CS 48800 - Theory Of Computation
Mathematical models of computation including finite and pushdown automata and Turing machines and equivalence of different general-purpose models. Grammars and their relation to automata, Church's Thesis and limits of computation.
CS 57200 - Heuristic Problem Solving
Design and development of heuristic problem-solving systems. The emphasis is on the development of general data representations, heuristics, and problem-solving strategies that can be applied to a wide class of problems. The task areas explored include game playing, theorem proving, pattern recognition, semantic information processing, cognitive psychology, design synthesis, robotology, and integrated artificial intelligence systems.
CS 58200 - Automata And Formal Languages
Finite automata, regular expressions; pushdown automata, context-free grammars, their languages and behaviors. Closure properties, pumping lemmas, decision procedures. Deterministic context-free languages and LR (k) parsing; brief survey of the Chomsky hierarchy.
CS 58400 - Theory Of Computation And Computational Complexity
The theory of general purpose programming systems. Recursive and partial-recursive functions; recursive and recursively enumerable sets. The Church-Turing thesis. The recursion theorem, Rogers' translation theorem, Rice's undecidability theorem. The general theory of computational complexity: there are no general solutions to natural optimization problems. Complexity for specific models of computation: the polynomial complexity classes P, NP, and PSPACE; NP-hard and PSPACE-hard problems, inherently exponential problems.
CS 66200 (ECE 662) - Pattern Recognition And Decision-Making Processes
Introduction to the basic concepts and various approaches of pattern recognition and decision-making processes. Topics include various classifier designs, evaluation of classifiability, learning machines, feature extraction, and modeling. Prerequisite: ECE 30200.
CS 66800 (ECE 668) - Introduction To Artificial Intelligence
Discussions of deterministic and heuristic approaches of making systems behave intelligently. Topics include various heuristic search techniques, knowledge representation methods, game-playing, question-answering systems, theorem-proving mechanisms, planning, general problem solvers, and current topics of interest in the artificial intelligence area. Prerequisite: ECE 60000.