Skip to main content

ICS 345 Foundations of AI Algorithms

This course introduces the fundamental concepts and techniques of Artificial Intelligence (AI), with an emphasis on foundational algorithms and underlying principles in the field. Students will explore core AI topics, including classical search algorithms and optimization methods, knowledge representation and reasoning under uncertainty, and the basics of machine learning, neural networks, natural language processing (NLP), and reinforcement learning. The course briefly addresses ethical and professional considerations in the design and use of AI systems, including bias, responsible use, and societal impact. The coursework balances theoretical foundations with hands-on Python programming projects. Through these projects, students learn to apply simple AI techniques to solve real-world problems, establishing a broad foundation for more advanced study in AI and its sub-disciplines.

Prerequisites

4 Undergraduate credits

Effective May 6, 2026 to present

Learning outcomes

General

  • Explain the core principles, terminology, and history of Artificial Intelligence, including search, logic, probabilistic reasoning, and machine learning.
  • Apply search strategies, optimization techniques, logical reasoning, and probabilistic methods to analyze and solve computational AI problems.
  • Implement and evaluate supervised and reinforcement learning algorithms in Python using modern AI libraries and performance metrics.
  • Design and test small-scale AI applications such as chatbots, classifiers, logic solvers, or simple intelligent game agents that integrate multiple AI techniques.
  • Critically assess the ethical and societal impacts of AI technologies, including issues of bias, transparency, and responsible use.
  • Communicate AI solutions and findings effectively through clear code documentation, concise technical reports, and class presentations.