Artificial Intelligence for Simple Games

Course content

  • Installation
  • Get the materials
  • Genetic Algorithms Intuition
  • Genetic Algorithms Practical
  • a-Learning
  • a-Learning Practical
  • Deep a-Learning with ANNs
  • Deep a-Learning Practical
  • Deep Convolutional Q-Learning
  • Deep Convolutional a-Learning Practical
  • ANNEX 1: Artificial Neural Networks
  • ANNEX 2: Convolutional Neural Networks
  • Congratulations!! Don’t forget your Prize 🙂

Modern Reinforcement Learning: Deep Q Agents (PyTorch & TF2)

Course content

  • Introduction
  • Fundamentals of Reinforcement Learning
  • Deep Learning Crash Course
  • Human Level Control Through Deep Reinforcement Learning: From Paper to Code
  • Deep Reinforcement Learning with Double Q Learning
  • Dueling Network Architectures for Deep Reinforcement Learning
  • Improving On Our Solutions
  • Conclusion
  • Bonus Lecture
  • Tensorflow 2 Implementations
  • Appendix

Core ML for iOS App Development Training Course


Machine Learning

  • Computational learning theory
  • Computer algorithms for computational experience

Learning Techniques

  • Supervised learning
  • Unsupervised learning
  • Reinforcement learning

Core ML Framework

  • What is Core ML
  • What is NLP?
  • What is computer vision?

Preparing the Development Environment

  • Installing and configuring Core ML

Core ML Quickstart

  • Importing machine learning models
  • Getting results and values
  • Making predictions from machine learning models
  • Converting pre-trained models

Vision Framework

  • Setting up Vision and image detection
  • Classifying and detecting images


  • Analyzing natural language text
  • Applying NLP enhanced filter logic

Fundamentals of Reinforcement Learning Training Course


21 hours (usually 3 days including breaks)


  • Experience with machine learning
  • Programming experience


  • Data scientists


Reinforcement Learning (RL) is a machine learning technique in which a computer program (agent) learns to behave in an environment by performing the actions and receiving feedback on the results of the actions. For each good action, the agent receives positive feedback, and for each bad action, the agent receives negative feedback (penalty).

This instructor-led, live training (online or onsite) is aimed at data scientists who wish to go beyond traditional machine learning approaches to teach a computer program to figure out things (solve problems) without the use of labeled data and big data sets.

By the end of this training, participants will be able to:

  • Install and apply the libraries and programming language needed to implement Reinforcement Learning.
  • Create a software agent that is capable of learning through feedback instead of through supervised learning.
  • Program an agent to solve problems where decision making is sequential and finite.
  • Apply knowledge to design software that can learn in a way similar to how humans learn.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline


  • Learning through positive reinforcement

Elements of Reinforcement Learning

Important Terms (Actions, States, Rewards, Policy, Value, Q-Value, etc.)

Overview of Tabular Solutions Methods

Creating a Software Agent

Understanding Value-based, Policy-based, and Model-based Approaches

Working with the Markov Decision Process (MDP)

How Policies Define an Agent’s Way of Behaving

Using Monte Carlo Methods

Temporal-Difference Learning

n-step Bootstrapping

Approximate Solution Methods

On-policy Prediction with Approximation

On-policy Control with Approximation

Off-policy Methods with Approximation

Understanding Eligibility Traces

Using Policy Gradient Methods

Summary and Conclusion

Reinforcement Learning with Java Training Course


21 hours (usually 3 days including breaks)


  • A genral understanding of reinforcement learning
  • Experience with machine learning
  • Java programming experience


  • Data scientists


Reinforcement Learning (RL) is an area of AI (Artificial Intelligence) used to build autonomous systems (e.e., an “agent”) that learn by interacting with their environment in order to solve a problem. RL has applications in areas such as robotics, gaming, consumer modeling, healthcare, supply chain management, and more.

This instructor-led, live training (online or onsite) is aimed at data scientists who wish to create and deploy a Reinforcement Learning system, capable of making decisions and solving real-world problems within an organization.

By the end of this training, participants will be able to:

  • Understand the relationships and differences between Reinforcement Learning and machine learning, deep learning, supervised and unsupervised learning.
  • Analyze a real-world problem and redefine it as Reinforcement Learning problem.
  • Implementing a solution to a real-world problem using Reinforcement Learning.
  • Understand the different algorithms available in Reinforcement Learning and select the most suitable one for the problem at hand.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline


  • Solving real-world problems through trial-and-error interactions

Understanding Adaptive Learning Systems and Artificial Intelligence (AI).

How Agents Perceive State

How to Reward an Agent

Case Study: Interacting with Website Visitors

Preparing the Environment for the Agent

Deep Dive into Reinforcement Learning Algorithms

Value-Based Methods vs Policy-Based Methods

Choosing a Reinforcement Learning Model

Using the Q-Learning Model-Free Reinforcement Learning Algorithm

Designing the Agent

Case Study: Smart Assistants

Interfacing the Agent to a Production Environment

Measuring the Results of Agent Actions


Summary and Conclusion

What is Machine Learning?

Overview of Supervised, Unsupervised, and Reinforcement Learning


  • Interest in machine learning


Course Outcome:

Learners completing this course will be able to give definitions and explain the types of problems that can be solved by the 3 broad areas of machine learning: Supervised, Unsupervised, and Reinforcement Learning.

Course Topics and Approach:

This course gives a gentle introduction to the 3 broad areas of machine learning: Supervised, Unsupervised, and Reinforcement Learning. The goal is to explain the key ideas using examples with many plots and animations and little math, so that the material can be accessed by a wide range of learners. The lectures are supplemented by Python demos, which show machine learning in action. Learners are encouraged to experiment with the course demo codes. Additionally, information about machine learning resources is provided, including sources of data and publicly available software packages.

Course Audience:

This course has been designed for ALL LEARNERS!!!

  • Course does not go into detail into the underlying math, so no specific math background is required
  • No previous experience with machine learning is required
  • No previous experience with Python (or programming in general) is required to be able to experiment with the course demo codes

Teaching Style and Resources:

  • Course includes many examples with plots and animations used to help students get a better understanding of the material
  • All resources, including course codes, Powerpoint presentations, info on additional resources, can be downloaded from the course Github site

Python Demos:

There are several options for running the Python demos:

  • Run online using Google Colab (With this option, demo codes can be run completely online, so no downloads are required. A Google account is required.)
  • Run on local machine using the Anaconda platform (This is probably best approach for those who would like to run codes locally, but don’t have python on their local machine. Demo video shows where to get free community version of Anaconda platform and how to run the codes.)
  • Run on local machine using python (This approach may be most suitable for those who already have python on their machines)

2021.09.28 Update

  • Section 5: update course codes, Powerpoint presentations, and videos so that codes are compatible with more recent versions of the Anaconda platform and plotting package

Who this course is for:

  • People curious about machine learning and data science

Course content

Computational Neuroscience

About this Course

This course provides an introduction to basic computational methods for understanding what nervous systems do and for determining how they function. We will explore the computational principles governing various aspects of vision, sensory-motor control, learning, and memory. Specific topics that will be covered include representation of information by spiking neurons, processing of information in neural networks, and algorithms for adaptation and learning. We will make use of Matlab/Octave/Python demonstrations and exercises to gain a deeper understanding of concepts and methods introduced in the course. The course is primarily aimed at third- or fourth-year undergraduates and beginning graduate students, as well as professionals and distance learners interested in learning how the brain processes information.


  • Computational Neuroscience
  • Artificial Neural Network
  • Reinforcement Learning
  • Biological Neuron Model

Syllabus – What you will learn from this course

Content Rating95%(8,784 ratings)


4 hours to complete

Introduction & Basic Neurobiology (Rajesh Rao)

This module includes an Introduction to Computational Neuroscience, along with a primer on Basic Neurobiology.

6 videos (Total 89 min), 6 readings, 2 quizzesSee All


4 hours to complete

What do Neurons Encode? Neural Encoding Models (Adrienne Fairhall)

This module introduces you to the captivating world of neural information coding. You will learn about the technologies that are used to record brain activity. We will then develop some mathematical formulations that allow us to characterize spikes from neurons as a code, at increasing levels of detail. Finally we investigate variability and noise in the brain, and how our models can accommodate them.

8 videos (Total 167 min), 3 readings, 1 quizSee All


3 hours to complete

Extracting Information from Neurons: Neural Decoding (Adrienne Fairhall)

In this module, we turn the question of neural encoding around and ask: can we estimate what the brain is seeing, intending, or experiencing just from its neural activity? This is the problem of neural decoding and it is playing an increasingly important role in applications such as neuroprosthetics and brain-computer interfaces, where the interface must decode a person’s movement intentions from neural activity. As a bonus for this module, you get to enjoy a guest lecture by well-known computational neuroscientist Fred Rieke.

6 videos (Total 114 min), 2 readings, 1 quizSee All


3 hours to complete

Information Theory & Neural Coding (Adrienne Fairhall)

This module will unravel the intimate connections between the venerable field of information theory and that equally venerable object called our brain.

5 videos (Total 98 min), 2 readings, 1 quizSee All


4 hours to complete

Computing in Carbon (Adrienne Fairhall)

This module takes you into the world of biophysics of neurons, where you will meet one of the most famous mathematical models in neuroscience, the Hodgkin-Huxley model of action potential (spike) generation. We will also delve into other models of neurons and learn how to model a neuron’s structure, including those intricate branches called dendrites.7 videos (Total 114 min), 2 readings, 1 quizSee All


3 hours to complete

Computing with Networks (Rajesh Rao)

This module explores how models of neurons can be connected to create network models. The first lecture shows you how to model those remarkable connections between neurons called synapses. This lecture will leave you in the company of a simple network of integrate-and-fire neurons which follow each other or dance in synchrony. In the second lecture, you will learn about firing rate models and feedforward networks, which transform their inputs to outputs in a single “feedforward” pass. The last lecture takes you to the dynamic world of recurrent networks, which use feedback between neurons for amplification, memory, attention, oscillations, and more!SHOW ALL SYLLABUSSHOW ALL3 videos (Total 72 min), 2 readings, 1 quizSee All


3 hours to complete

Networks that Learn: Plasticity in the Brain & Learning (Rajesh Rao)

This module investigates models of synaptic plasticity and learning in the brain, including a Canadian psychologist’s prescient prescription for how neurons ought to learn (Hebbian learning) and the revelation that brains can do statistics (even if we ourselves sometimes cannot)! The next two lectures explore unsupervised learning and theories of brain function based on sparse coding and predictive coding.4 videos (Total 86 min), 2 readings, 1 quizSee All


3 hours to complete

Learning from Supervision and Rewards (Rajesh Rao)

In this last module, we explore supervised learning and reinforcement learning. The first lecture introduces you to supervised learning with the help of famous faces from politics and Bollywood, casts neurons as classifiers, and gives you a taste of that bedrock of supervised learning, backpropagation, with whose help you will learn to back a truck into a loading dock.The second and third lectures focus on reinforcement learning. The second lecture will teach you how to predict rewards Ă  la Pavlov’s dog and will explore the connection to that important reward-related chemical in our brains: dopamine. In the third lecture, we will learn how to select the best actions for maximizing rewards, and examine a possible neural implementation of our computational model in the brain region known as the basal ganglia. The grand finale: flying a helicopter using reinforcement learning!

Modern Reinforcement-learning using Deep Learning

Being able to start Deep reinforcement-learning research

Being able to start Deep reinforcement-learning engineering role

Understand modern state-of-the-art Deep reinforcement-learning knowledge

Understand Deep reinforcement-learning knowledge


  • Interest in Deep reinforcement-learning


Hello I am Nitsan Soffair, A Deep RL researcher at BGU.

In my Deep reinforcement-learning course you will learn the newest state-of-the-art Deep reinforcement-learning knowledge.

You will do the following

  1. Get state-of-the-art knowledge regarding
    1. Model types
    2. Algorithms and approaches
    3. Function approximation
    4. Deep reinforcement-learning
    5. Deep Multi-agent Reinforcement-learning
  2. Validate your knowledge by answering short and very short quizzes of each lecture.
  3. Be able to complete the course by ~2 hours.


  1. Model types
    1. Markov decision process (MDP)A discrete-time stochastic control process.
    2. Partially observable Markov decision process (POMDP)A generalization of MDP in which an agent cannot observe the state.
    3. Decentralized Partially observable Markov decision process (Dec-POMDP)A generalization of POMDP to consider multiple decentralized agents.
  2. Algorithms and approaches
    1. Bellman equationsA condition for optimality of optimization of dynamic programming.
    2. Model-freeA model-free algorithm is an algorithm which does not use the policy of the MDP.
    3. Off-policyAn off-policy algorithm is an algorithm that use policy 1 for learning and policy 2 for acting in the environment.
    4. Exploration-exploitationA trade-off in Reinforcement-learning between exploring new policies to use existing policies.
    5. Value-iterationAn iterative algorithm applying bellman optimality backup.
    6. SARSAAn algorithm for learning a Markov decision process policy
    7. Q-learningA model-free reinforcement learning algorithm to learn the value of an action in a particular state.
  3. Function approximation
    1. Function approximatorsThe problem asks us to select a function among a well-defined class that closely matches (“approximates”) a target function in a task-specific way.
    2. Policy-gradientValue-based, Policy-based, Actor-critic, policy-gradient, and softmax policy
    3. REINFORCEA policy-gradient algorithm.
  4. Deep reinforcement-learning
    1. Deep Q-Network (DQN)A deep reinforcement-learning algorithm using experience reply and fixed Q-targets.
    2. Deep Recurrent Q-Learning (DRQN)Deep reinforcement-learning algorithm for POMDP extends DQN and uses LSTM.
    3. Optimistic Exploration with Pessimistic Initialization (OPIQ)A deep reinforcement-learning for MDP based on DQN.
    4. Value Decomposition Networks (VDN)A multi-agent deep reinforcement-learning algorithm for Dec-POMDP.
    5. QMIXA multi-agent deep reinforcement-learning algorithm for Dec-POMDP.
    6. QTRANA multi-agent deep reinforcement-learning algorithm for Dec-POMDP.
    7. Weighted QMIXA deep multi-agent reinforcement-learning for Dec-POMDP.


  • Wikipedia
  • David Silver’s Reinforcement-learning course

Who this course is for:

  • Anyone who interests in Deep reinforcement-learning

Course content

Self-driving go-kart with Unity-ML

Configure and use the Unity Machine Learning Agents toolkit to solve physical problems in simulated environments

Understand the concepts of neural networks, supervised and deep reinforcement learning (PPO)

Apply ML control techniques to teach a go-kart to drive around a track in Unity


  • Basic algebra and basic programming skills


WARNING: take this class as a gentle introduction to machine learning, with particular focus on machine vision and reinforcement learning. The Unity project provided in this course is now obsolete because the Unity ML agents library is still in its beta version and the interface keeps changing all the time! Some of the implementation details you will find in this course will look different if you are using the latest release, but the key concepts and the background theory are still valid. Please refer to the official migrating documentation on the ml-agents github for the latest updates.

Learn how to combine the beauty of Unity with the power of Tensorflow to solve physical problems in a simulated environment with state-of-the-art machine learning techniques.

We study the problem of a go-kart racing around a simple track and try three different approaches to control it: a simple PID controller; a neural network trained via imitation (supervised) learning; and a neural network trained via deep reinforcement learning.

Each technique has its strengths and weaknesses, which we first show in a theoretical way at simple conceptual level, and then apply in a practical way. In all three cases the go-kart will be able to complete a lap without crashing.

We provide the Unity template and the files for all three solutions. Then see if you can build on it and improve performance further more.

Buckle up and have fun! 

Who this course is for:

  • Students interested in a quick jump into machine learning, focusing on the application rather than the theory
  • Engineers looking for a machine learning realistic simulator

Course content