In developing AI (artificial intelligence) applications, it is important to play close attention to human-computer interaction (HCI) and design each application for specific users. To make a machine intelligent, a developer uses multiple techniques from an AI toolbox; these tools are actually mathematical algorithms that can demonstrate intelligent behavior. The course examines the following categories of AI development: algorithms, machine learning, probabilistic modelling, neural networks, and reinforcement learning. There are two main types of AI tools available: statistical learning, in which large amount of data is used to make certain generalizations that can be applied to new data; and symbolic AI, in which an AI developer must create a model of the environment with which the AI agent interacts and set up the rules. Learn to identify potential AI users, the context of using the applications, and how to create user tasks and interface mock-ups.