First Technology Transfer

Standard and Advanced Technical Training, Consultancy and Mentoring

AI Programming in Python

Duration: 5 Days

Intended Audience

This course is for those who wish to or need to explore the classical and more modern Artificial Intelligence programming paradigms using Python as their language of choice. It can also serve as a fairly intensive introductory course to practical AI programming techniques.

Course Overview

Python is a most versatile and adaptible language and lends itself to the implementation of AI applications. As a "wrapper language" it can incorporate machine learning and AI frameworks and libraries written in languages such as C and C++

This course assumes a reasonable familiarity with python programming, The course will be based on Python 3 and on Russell and Norvig's book "Artificial Intelligence a Modern Approach" which will be the set book for the course. The goals of the course are to introduce attendees to the various AI programming paradigms including the foundations of logic programming and machine learning.

Course Contents

  • Artificial Intelligence - an overview
  • Python as a language for building AI applications
  • Intensive overview of Python programming
  • Introduction to Functional and Object Oriented programming in Python
  • Problem solving - and implementing problem solvers in Python
    • Search algorithms and how to implement them in Python
    • Depth first and breadth first search
    • Adversarial search
    • Search and constraint satisfaction
  • Knowledge and Reasoning
    • Approaches to knowledge representation
    • Knowledge representation in Python
    • Logical reasoning and inference
    • An introduction to Python logic reasoners
  • Uncertain Knowledge and Reasoning
    • Approaches to Quantifying Uncertainty
    • Introduction to probabilistic reasoning
    • Introduction to python based probabilistic reasoners
    • Decision making and decision support systems using Python
  • Machine learning techniques in Python
    • Learning from Examples
    • Knowledge in Learning
    • Learning Probabilistic Models
    • Reinforcement Learning
  • Basics of Natural language processing in Python