Generated on Tue Oct 25 10:19:18 2022

CS 475: Artificial Intelligence I (JSON)

Catalog description: Fundamental principles and techniques in artificial intelligence systems. Intelligent Agents; solving problems by searching; local search techniques; game-playing agents; constraint satisfaction problems; knowledge representation and reasoning. Further selected topics may also be covered.

Prerequisites: At least a C- in C S 272 and C S 278, Familiar with Linux, Good programming skill in one of the languages C++, Java, or Python    (Catalog Link)

Credits: 3 (3)

Coordinator: Son Tran

Textbook: Artificial Intelligence: A Modern Approach, Third/Fourth Edition, By Stuart Russell and Peter Norvig
    (also: online reading, course handouts)

BS degree role: selected elective

Course Learning Objectives

  1. Use various search algorithms commonly used in problem-solving
  2. Use methods for solving constraint satisfaction problems
  3. Use propositional and first-order logic to represent knowledge
  4. Use logical inference methods to derive conclusions from a knowledge base
  5. Use adversarial search for game-playing agents
  6. Analyze the different search strategies
  7. Design and Implement heuristic search for problem-solving

Course Practicum Requirements

  1. Programming project must be done in C++, Java, Python, or the specified language (e.g., logic programming)
  2. Apply programming language features (Linked list or vector, hash, etc.) to implement scalable and efficient programs
  3. Apply knowledge representation techniques to develop small commonsense knowledge bases

Course Topics

  1. Logic
  2. Search (Uninformed and Informed)
  3. Constraint Satisfaction Problem
  4. Game
  5. Knowledge representation
  6. Reasoning about actions and changes and planning
  7. Planning
  8. Learning

Course Improvement Decisions

(Course improvement decisions or recommendations from past assessments)

  1. Use more examples which help students in abstract thinking as this is strongly related to KRR issue
  2. Provide extra review sections and practices for reinforcement of the concepts and algorithms discussed in the class
  3. Take advantage of the code provided with the textbook

ABET Outcome Coverage

(Provide Mapping to ABET Student Outcomes)

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline

Other Notes

(Any important notes or issues to consider)

  1. none