Statement of Course Outcomes


Course Number: CS 482 / 541


Course Name: Artificial Intelligence


Course Coordinator: John Oliensis


Graduate or Undergraduate Equivalent:

 

Catalog Description: An introduction to the large and diverse field of artificial intelligence. Topics include: problem solving by search and constraint satisfaction; alpha-beta search for two-player games; and logic and knowledge representation, planning, learning, decision theory, statistical learning, and computer vision. Prerequisite: CS 385 or 182.


Course Outcomes:


Each course outcome is followed in parentheses by the Program Outcome to which it relates.


  1. [search-idealization] Find appropriate idealizations for converting real world problems into AI search problems formulated using the appropriate search algorithm. [core:requirements]
  2. [search-formalization] Given a search problem, be able to analyze and formalize the problem (as a state space, graph, etc.) and select the appropriate search method and write the algorithm for it. [core:problem-solving]
  3. [search-concepts]Explain important search concepts, such as the difference between informed and uninformed search, the definitions of admissible and consistent heuristics and completeness and optimality. Give the time and space complexities for standard search algorithms.  [core:problem-solving] [core:runtime]
  4. [search-implementation] Implement A* and iterative deepening search. Derive heuristic functions for A* search that are appropriate for a given problem.  [core:requirements] [core:problem-solving][core:languages]
  5. [constraint-satisfaction] For constraint satisfaction problems, implement backtracking search with conflict directed backjumping, arc consistency, and the Minimum Remaining Values and Least Constraining Value heuristics. Implement local search with the min-conflicts heuristic.  [core:problem-solving] [core:languages]
  6. [alpha-beta] Implement and execute by hand alpha-beta search.   Design good evaluation functions and strategies for game playing. [core:requirements] [core:problem-solving]
  7. [first-order logic semantics] Translate English into first order logic and vice versa.  Represent and debug knowledge in an appropriate first order logic representation. [core:requirements] [core:problem-solving]
  8. [logical-proof] Carry out proofs in first order and propositional logic using techniques such as resolution, unification, backward and forward chaining. [core:problem-solving]
  9. [situation-calculus] Proofs and planning using the situation calculus for reasoning about actions and their effects over time. [core:requirements] [core:problem-solving]
  10. [planning] Explain the difference between plan space and state space.  Describe and implement several of the major approaches to classical planning, including planning graphs, POP, planning graphs, and propositionalization.  [core:problem-solving]
  11. [Bayes-nets]Design appropriate Bayes Nets corresponding to the causal relationships and conditional independence of a real world situation. Derive the conditional independence of variables given a Bayes Net.  [core:requirements] [core:problem-solving]
  12. [learning] Given a real world supervised learning problem, choose and implement appropriate learning algorithms such as decision trees, support vector machines, and boosting.   [core:requirements] [core:problem-solving]