CSC 4631 - Artificial Intelligence

2 lecture hours 2 lab hours 3 credits
Course Description
The objective of this course is to introduce students to the concepts, algorithms, and frameworks of artificially intelligent systems. Topics covered include knowledge representation, problem solving using search, and the agent framework.  The role of AI in engineering and computing systems is presented, and students complete exercises that develop skills in applying AI tools and algorithms to real-world problems. 
Prereq: CSC 2611  (quarter system prereq: CS 2300)
Note: None
This course meets the following Raider Core CLO Requirement: None
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Describe Turing test and the "Chinese Room" thought experiment
  • Describe difference between the sense/think/act model and embodied or modeless frameworks
  • Create well-reasoned, logical arguments of the biases and limitations of AI techniques
  • Explore agent and state-based frameworks to various problems such as game playing. These frameworks may include state machines, decision trees, informed and uninformed search, Q-Learning, reinforcement learning, minimax, cellular automata, etc.
  • Identify problems that can be modeled as a search space problem with appropriate operators
  • Describe the role of heuristics and describe the trade-offs among completeness, optimality, time complexity, and space complexity
  • Apply propositional and first-order logic to planning problems including working with Bayesian decision networks
  • Explore embodied and nature-inspired approaches including Artificial Neural Networks, Genetic Algorithms, and Reinforcement Learning
  • Evolve controllers for simulated and real robots (Evolutionary Robotics)
  • Describe the problem of combinatorial explosion of search space and its consequences

Prerequisites by Topic
  • Understand and apply complex data structures and algorithms
  • Use appropriate algorithms (and associated data structures) to design and build working software systems
  • An ability to construct Python solutions to programming problems
  • Understand and apply mathematical functions, relations, and sets as well as the associated operations
  • Ability to use and understand symbolic propositional logic

Coordinator
Dr. Roby Velez


Print-Friendly Page (opens a new window)