Course Details

Credits and contact hours: 3 Credits. Lectures three times a week, 50 minutes each.

Instructor's or course coordinator's name: Rhonda Hoenigman

Text book, title, author, and year: Russell, S. and Norvig, P. Artificial Intelligence: A Modern Approach. Prentice Hall, Saddle River, NJ. 2010..

Other supplemental materials: None.

Specific Course Information

Brief Description of the Content of the Course (Catalog Description)

Provides a survey of artificial intelligence techniques of search, knowledge representation, and reasoning, probabilistic inference, machine learning, and natural language processing algorithms that are used in modern artificial intelligence systems. Students are introduced to both the theory of the algorithms and the challenges of implementing them in a modern programming language.

Prerequisites or Co-requisites

CSCI 2270 Data Structures and Algorithms, CSCI 2824 Discrete Structures.

Indicate Whether a Required, Elective, or Selected Slective (as per Table 5-1) Course in the Program

Selected elective.

Specific Goals for the Course

Specific Outcomes of Instruction

Upon completion of the course, students possess:

  • An understanding of the issues involved in building computer systems that behave rationally.
  • The ability to design and implement standard algorithms for heuristic search, logical reasoning, probabilistic inference, machine learning and natural language processing problems.
  • The ability to evaluate the performance of these algorithms on realistic datasets.

Explicitly Indicate Which of the Student Outcomes Listed in Criterion 3 or Any Other Outcomes are Addressed by Course

  • Apply Knowledge
  • Computing Requirements
  • Design System
  • Teamwork
  • Professional Issues
  • Analyze Impacts
  • Current Techniques
  • Design Tradeoffs
  • Design & Development

Brief List of Topics to be Covered

  • Search algorithms: Survey of modern search algorithms through a discrete data set to find an optimal solution. This includes algorithms that evaluate the entire search space, as well as algorithms that can be used to prune the search space and reduce run-time complexity.
    • Search heuristics: Methods for designing heuristic methods that can be used to find approximate solutions to problems. 
    • Game trees: Introduction to search methods when there are two players with conflicting objects influencing the search space.
  • Markov decision processes: Introduction to algorithms for navigating a search space given a set of rules and current state, and how these algorithms can be applied to accomplish a task.
  • Bayes nets and probabilistic reasoning: Introduction to Bayesian reasoning and calculating probability of outcomes given a set of state variables. This also includes the probability of an event given an existing set of events that has already occurred.
  • Hidden Markov models: Introduction to inference of a hidden state that is unobserved given observed data.
  • Classification: Grouping data into discrete classes using the observed properties of the data. Two classification methods are discussed: supervised learning (learning from examples) and unsupervised learning (learning from the data without examples).
  • Decision diagrams and information entropy: Calculating the amount of information available in each parameter in making a decision. Building trees to minimize parameters needed to calculate an outcome.