# Table of Content

#### Principles of Artificial Intelligence

• Introduction
• Fields and Applications of Artificial Intelligence
• AI Tools and Learning Models
• The Role of Python in Artificial Intelligence
• Python for Game AI

#### AI with Search Techniques and Games

• Introduction
• Heuristics
• Pathfinding with the A* Algorithm
• Game AI with the Minmax Algorithm and Alpha-Beta Pruning

#### Artificial intelligence Basics

• Artificial intelligence - an introduction
• What is an AI & on intelligence
• Intelligent agents
• Driving problem
• Floor cleaning problem
• Types of environment
• Types of environment part 2

#### MiniMax algorithm explanation + Pseudocode

• What is MiniMax?
• Technicalities & MiniMax tree
• MiniMax number game
• MiniMax number game part 2
• Win, lose, draw example
• Win, lose, draw example part 2
• Win, lose, draw example part 3
• Technicalities & Terms used in the algorithm
• MiniMax Pseudocode

#### MiniMax for Tic Tac Toe - Explanation + Pseudocode

• MiniMax algorithm for the Tic Tac Toe game
• MiniMax algorithm for the Tic Tac Toe game part 2

#### HTML and CSS code with explanation for the game

• Create skeleton of the HTML5 code
• Meta tags of the HTML5 code
• Create the game and rule sections' skeletons
• Create the game canvases and new game button
• Create the rules section's paragraphs and heading
• Connect HTML and CSS files
• Set background and more on colors
• Set default styles and style the header
• Style the canvases
• Style the entire game area
• Style the Divs that hold the canvases and rules area
• Style the paragraphs and headings
• Style the New Game button
• Create hover effects on the canvases and new game button
• Design enhancements to the game part 1
• Design enhancements to the game part 2
• Design enhancements to the game part 3

#### JavaScript & HTML5 Canvas Basic Concepts (related to this project)

• Connecting HTML and script/JS files
• An introduction to variables and assigning values
• Conditional statements - if else statement
• Conditional statements - Switch case
• Loops - For loop
• Arrays - 1 dimensional arrays
• Arrays - 2 dimensional arrays
• An introduction to functions (function definition and calls)
• Intro to DOM - getElementById and InnerText
• Intro to DOM - adding click events to buttons
• JavaScript Objects part 1
• JavaScript Objects part 2
• JavaScript Objects part 3
• Step 1 & 2 - Getting the canvas and creating the drawing object
• Drawing a line (also explanation on canvas dimensions and pixel points)
• Drawing & coloring a shape with poly lines (a path)
• Drawing & coloring a circle and arcs

#### Step by step algorithm for the JavaScript code

• Step by step algorithm for the JavaScript code part 1
• Step by step algorithm for the JavaScript code part 2

#### Coding the Tic Tac Toe AI in JavaScript

• Initial states
• Initial states part 2
• Initial states part 3
• Making the new game button work
• Canvas click event + retrieving the clicked box's number
• Drawing the X
• Drawing the O
• Winner check function
• Box click function - code to let the human player play
• Box click function - code to let the human player play part 2
• Box click function - code to let the human player play part 3

#### MiniMax algorithm in JavaScript

• Finding the empty boxes
• Making the AI play
• Making the AI play part 2
• Applying the MiniMax algorithm
• Applying the MiniMax algorithm - terminal tests
• Applying the MiniMax algorithm - recurring conditions
• Applying the MiniMax algorithm - recurring conditions part 2
• Applying the MiniMax algorithm - working out an example
• Applying the MiniMax algorithm - calculate scores of intermediate states
• Applying the MiniMax algorithm - calculate scores of intermediate states part 2
• Analyzing the final output

Apply for certification

For Support