3 Cr. (Hrs.:3 Lec.)
An introduction to the basic concepts of Artificial Intelligence. Topics to be covered include the history of AI, the problems treated in AI, solution techniques, state spaces, search algorithms and heuristics, expert systems, natural language processing, and robotics. Students may not take this course for both 400 and 500 level credit. Prerequisite: CSCI 332 (1st)
E1. Students should have a thorough understanding of space and time complexity of data structures and algorithms. (CSCI 332)
E2. Students should have a thorough understanding of recursion and recursive problem solving techniques, and list structures and the algorithms associated with them. (CSCI 232)
E3. Students should have a thorough understanding of graphs, trees, and the algorithms associated with them. (CSCI 332)
E4. Students should have a working knowledge of logic and logical methods, including propositional and predicate calculus. (CSCI 246)
R1. Students know the historical background of the field of Artificial Intelligence.
R2. Students are aware of the relevant ethical considerations in the field of Artificial Intelligence. (CS: 4)
R3. Students understand and define the concept of a state space for a problem. (CS: 6)
R4. Students can describe and implement brute-force search techniques, such as breadth-first, depth-first, and iterative deepening. (CS: 1, 2, 6)
R5. Students can describe and implement heuristic search techniques such as greedy and A*. (CS: 1, 2, 6)
R6. Students can describe and implement adversarial search techniques such as minimax and alpha-beta pruning. (CS: 1, 2, 6)
R7. Students can describe and implement constraint satisfaction techniques such as backtracking and local search methods. (CS: 1, 2, 6)
R8. Students understand the use of logic (propositional and predicate calculus) as means of representing knowledge in a computer system. (CS: 1, 2, 6)
R9. Students can perform theorem proving using resolution in a logical knowledge-based system. (CS: 1, 2, 6)
R10. Students understand the concept of probabilistic reasoning and can determine when to use this concept. (CS: 1, 2, 6)
R11. Students are able to apply Bayes theorem to determine conditional probabilities and can use Bayesian networks to model and reason about problems. (CS: 1, 2, 6)
R12. Students understand and can work with Markov models and reinforcement learning. (CS: 1, 2, 6)
CS:
5-2-3 - Local and global impacts of computing solutions on individuals, organizations, and society
5-a-1 - Substantial coverage of algorithms and complexity, computer science theory, concepts of programming languages, and software development