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
- Use various search algorithms commonly used in problem-solving
- Use methods for solving constraint satisfaction problems
- Use propositional and first-order logic to represent knowledge
- Use logical inference methods to derive conclusions from a knowledge base
- Use adversarial search for game-playing agents
- Analyze the different search strategies
- Design and Implement heuristic search for problem-solving
Course Practicum Requirements
- Programming project must be done in C++, Java, Python, or the specified language (e.g., logic programming)
- Apply programming language features (Linked list or vector, hash, etc.) to implement scalable and efficient programs
- Apply knowledge representation techniques to develop small commonsense knowledge bases
Course Topics
- Logic
- Search (Uninformed and Informed)
- Constraint Satisfaction Problem
- Game
- Knowledge representation
- Reasoning about actions and changes and planning
- Planning
- Learning
Course Improvement Decisions
(Course improvement decisions or recommendations from past assessments)
- Use more examples which help students in abstract thinking as this is strongly related to KRR issue
- Provide extra review sections and practices for reinforcement of the concepts and algorithms discussed in the class
- Take advantage of the code provided with the textbook
ABET Outcome Coverage
(Provide Mapping to ABET Student Outcomes)
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions
- 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)
- none