Short Description

This unit gives a broad overview of some foundational topics in artificial intelligence, introducing some of the techniques that are used in this field. Students will implement theoretical knowledge in a practical way, with programming exercises to accompany many of the algorithms discussed, where students can apply these algorithms to solve new problems. 

You’ll learn to:

  • Demonstrate understanding of a range of AI techniques, their strengths, and their limitations
  • Demonstrate understanding of the fundamentals of probability theory and its role in AI
  •  Apply various AI techniques to simple problems
  •  Understand a wide range of artificial intelligence (AI) techniques, their advantages, and their disadvantages
  •  Appreciate AI as a mechanism to deal with computationally difficult problems in a practical manner
  •  Understand the concepts of formal AI and put them into practice
  •  Write small to medium-sized programs for aspects of AI
  •  Critically evaluate state-of-the-art AI applications
     

Topics covered in this unit may include (but are not limited to) the following:  

  • Goals and foundations of AI
  • Problem solving (uninformed, heuristic, and adversarial search; constraint satisfaction)
  • Logical reasoning (propositional logic, first-order logic, logic programming)
  • Probabilistic reasoning (probability models, Bayesian networks)
  • Machine learning (possible topics include nearest-neighbour methods, reinforcement learning, neural networks)