Udacity is one fo my prefered learning platforms, the anoter one is of course Coursera. I do not like Udemy, it is not my principle to learn from the “cheap” but mine is learn from the professional, and both Udacity and Coursera meet my needs.
Here I decided to Collect all of my favoroute courses on Udacity, of course due my time and energy, I am not able to take all of them, but I believe that this may help me to understand the industry technology trens on these areas.
AIPN - AI Programming with Python Nanodegree
Learn Python, NumPy, Pandas, Matplotlib, PyTorch, and Linear Algebra—the foundations for building your own neural network.
- Python
- NumPy
- Pandas
- Matplotlib
- PyTorch
- Linear Algebra
Part 01: Introduction to AI Programming
Module 01: Introduction to Nanodegree
Lesson 01: Welcome to AI Programming with Python
- Concept 01 : Welcome to the AI Programming with Python Nanodegree Program
- Concept 02 : Meet Your Instructors
- Concept 03 : Deadline Support
- Concept 04 : Community Guidelines
- Concept 05 : Lesson Plan
Part 02 : Intro to Python
Learn Python- one of the most widely used programming languages in the industry, particularly in AI.
Module 01 : Lessons
Lesson 01 : Why Python Programming
Welcome to Introduction to Python! Here’s an overview of the course.
- Concept 01: Instructor
- Concept 02: Welcome to the Course
- Concept 03: Programming in Python
- Concept 04: Course Overview
- Concept 05: Data Types and Operators
Lesson 02 : Data Types and Operations
Familiarize yourself with the building blocks of Python! Learn about data types and operators, compound data structures, type conversion, built-in functions, and style guidelines.
- Concept 01: Introduction
- Concept 02: Aritmetic Operators
- Concept 03: Variables and Assignment Operators
- Concept 04: Integers and Floats
- Concept 05: Booleans, Comparison Operators, and Logical Operators
- Concept 06: Strings
- Concept 07: Type and Type convertion
- Concept 08: String Methods
- Concept 09: Lists and Membership Operators
- Concept 10: List Methods
- Concept 11: Tuples
- Concept 12: Sets
- Concept 13: Dictionaries and Identity Operations
- Concept 14: Compound Data Structures
- Concept 15: Conclusion
Lesson 03 : Control Flow
Build logic into your code with control flow tools! Learn about conditional statements, repeating code with loops and useful built-in functions, and list comprehensions.
- Concept 01: Introduction
- Concept 02: Conditional Statements
- Concept 03: Boolean Expressions for Conditions
- Concept 04: For Loops
- Concept 05: Building Dictionaries
- Concept 06: Iterating through dictionaries with For Loops
- Concept 07: While Loops
- Concept 08: Break, Continue
- Concept 09: Zip and Enumerate
- Concept 10: List Comprehension
Lesson 04 : Functions
Learn how to use functions to improve and reuse your code! Learn about functions, variable scope, documentation, lambda expressions, iterators, and generators.
- Concept 01: Defining Functions
- Concept 02: Variable Scope
- Concept 03: Documentation
- Concept 04: Lambda Expression
- Concept 05: [Optional] Iterators and Generators
- Concept 06: [Optional] Generator Expressions
Lesson 05 : Scripting
-
Concept 01: Python Installation
- Concept 02: Install Python Using Anaconda
- Concept 03: [For Windows] Configuring Git Bash to Run Python
- Concept 04: Running a Python Script
- Concept 05: Programming Environtment Setup
- Concept 06: Editing a Python script
- Concept 07: Scripting with Raw Input
- Concept 08: Errors and Exceptions
- Concept 09: Handling Errors
- Concept 10: Accessing Error Messages
- Concept 11: Reading and Writing Files
- Concept 12: Importing Local Scripts
- Concept 13: The Standard Library
- Concept 14: Techniques for Importing Modules
- Concept 15: Third-Party Libraries
- Concept 16: Experimenting with an Interpret
- Concept 17: Online Resources
Module 02 : Lab
Lesson 01 : Lab: Classifying Images
- Concept 01: Command Line Arguments
- Concept 02: Mutable Data Types and Functions
- Concept 03: Creating Pet Image Labels
- Concept 04: Classifying Images
- Concept 05: Calculating Results
- Concept 06: Concluding Remarks
Part 03 : NumPy, Pandas, Matplotlib
Let’s focus on library packages for Python, such as :
Numpy (which adds support for large data), Pandas (which is used for data manipulation and analysis) And Matplotlib (which is used for data visualization).
Module 01: Lessons
Lesson 01: Anaconda
Anaconda is a package and environment manager built specifically for data. Learn how to use Anaconda to improve your data analysis workflow.
- Concept 01: What is Anaconda?
- Concept 02: Installing Anaconda
- Concept 03: Managing Packages
- Concept 04: Managing Environments
- Concept 05: More Environment Actions
Lesson 02: Jupyter Notebooks
Learn how to use Jupyter Notebooks to create documents combining code, text, images, and more.
- Concept 01: What are the Jupyter notebooks?
- Concept 02: Installing Jupyter notebook
- Concept 03: Launching the notebook server
- Concept 04: Notebook interface
- Concept 05: Code cells
- Concept 06: Markdown Cells
- Concept 07: Keyboard Shortcuts
- Concept 08: Magic keywords
- Concept 09: Converting Notebooks
- Concept 10: Creating a Slideshow
- Concept 11: Finishing Up
Lesson 03: Numpy
Learn the basics of NumPy and how to use it to create and manipulate arrays.
- Concept 01: Introduction to NumPy
- Concept 02: Why Use NumPy?
- Concept 03: Creating and Saving NumPy ndarrays
- Concept 04: Using Built-in functions to create ndarrays
- Concept 05: Create and ndarray
- Concept 06: Accessing, Deleting, and Inserging Elemensts Into ndarrays
- Concept 07: Slicing ndarrays
- Concept 08: Boolean Indexing, Set Operations, and Sorting
- Concept 09: Manopulating ndarrays
- Concept 10: Arithmetic operations and Broadcasting
- Concept 11: Creating ndarrays with Broadcasting
- Concept 12: getting Set Up for the Mini-Project
- Concept 13: Mini-Project: Mean Normalization and Data Separation
Lesson 04: Pandas
Learn the basics of Pandas Series and DataFrames and how to use them to load and process data.
- Concept 01: Introduction to Pandas
- Concept 02: Why Use Pandas?
- Concept 03: Creating Pandas Series
- Concept 04: Accessing and Deleting Elements in Pandas Series
- Concept 05: Arithmetic Operations on Pandas Series
- Concept 06: Manipulate a Series
- Concept 07: Creating Pandas DataFrames
- Concept 08: Accessing Elements in Pandas DataFrames
- Concept 09: Dealing with NaN
- Concept 10: Manipulate a DataFrame
- Concept 11: Loading Data into a Pandas DataFrame
- Concept 12: Getting Set Up for the Mini-Project
- Concept 13: Mini-Project: Statics From Stock Data
Lesson 05: Matplotlib and Seaborn Part1
Learn how to use matplotlib and seaborn to visualize your data. In this lesson, you will learn how to create visualizations to depict the distributions of single variables.
- Concept 01: Tidy Data
- Concept 02: Bar Charts
- Concept 03: Absolute vs Relative Frequency
- Concept 04: Counting Missing Data
- Concept 05: Bar Chart Practice
- Concept 06: Pie Charts
- Concept 07: Histograms
- Concept 08: histogram Practice
- Concept 09: Figures, Axes, and Subplots
- Concept 10: Choosing a Plot for Discrete Data
- Concept 11: Descriptice Statistics, Outliers and Axis Limits
- Concept 12: Scales and Transformation
- Concept 13: Extra: kernel Density Estimation
Lesson 06: Matplotlib and Seaborn Part2
In this lesson, you will use matplotlib and seaborn to create visualizations to depict the relationships between two variables.
- Concept 01: Scatterplots and Correlation
- Concept 02: Overplotting, Transparency, and Jitter
- Concept 03: Heat Maps
- Concept 04: Scatterplot Practice
- Concept 05: Vilion Plots
- Concept 06: Box Plots
- Concept 07: Vilion and Box Plot Practice
- Concept 08: Clustered Bac Charts
- Concept 09: Categorcal Plot Practice
- Concept 10: Faceting
- Concept 11: Adaptation of Universal Plots
- Concept 12: Line Plots
- Concept 13: Additional Plot Practice
- Concept 14: postscript; Multivariate Visualization
- Concept 15: Extra: Swarm Plots
- Concept 16: Extra: Rug and Strip Plots
Part 04 : Linear Algebra Essentials
Learn the basics of the beautiful world of Linear Algebra and why it is such an important mathematical tool in the world of AI.
Module 01: Lessons
Lesson 01: Introduction
Take a sneak peek into the beautiful world of Linear Algebra and learn why it is such an important mathematical tool.
- Concept 01: Our Goal
- Concept 02: Enssense of Linear Algebra
- Concept 03: Structure of the Lesson
- Concept 04: Working with Equations
Lesson 02: Vectors
Learn about vectors, the basic building block of Linear Algebra.
- Concept 01: What is a Vector?
- Concept 02: Vectors- Mathematical Definition
- Concept 03: Transpose
- Concept 04: Magnitute and Direction
- Concept 05: Operatios in the Field
- Concept 06: Vector Addition
- Concept 07: Scalar by Vector Multiplication
Lesson 03: Linear Combination
Learn how to scale and add vectors and how to visualize the process.
- Concept 01: Linear Combination
- Concept 02: Linear Combination and Span
- Concept 03: Linear Dependency
- Concept 04: Solving a simplified set of Equations
Lesson 04: Linear Transformation and Matrices
What is a linear transformation and how is it directly related to matrices? Learn how to apply the math and visualize the concept.
- Concept 01: What is a Matrix?
- Concept 02: Matrix Addition
- Concept 03: Scalar Multipilication of Matrix and Quize
- Concept 04: Multipilication of a Square Mtrices
- Concept 05: Matrix Multipilication General
- Concept 06: Linear Transformation and Matrices
Module 02: Labs
Lesson 01: Vectors Lab
Learn how to graph 2D vectors.
Lesson 02: Linear Combination Lab
Learn how to computationally determine a vector’s span and solve a simple system of equations.
Lesson 03: Linear Mapping Lab
earn how to solve some problems computationally using vectors and matrices.
Lesson 04: Linear Algebra in Neural Networks
Take a peek into the world of Neural Networks and see how it related directly to Linear Algebra!
- Concept 01: What is a Neural Network?
- Concept 02: How are the Neurons Connected?
- Concept 03: Putting the Pieces Together
- Concept 04: The Feedforward Process- Finding h
- Concept 05: The Feedforward Process- Finding y
Part 05 : Neural Networks
Acquire a solid foundation in deep learning and neural networks. Learn about techniques for how to improve the training of a neural network, and how to use PyTorch for building deep learning models.
Module 01: Deep Learning
Lesson 01: Introduction to Neural Networks
In this lesson, Luis will give you solid foundations on deep learning and neural networks. You’ll also implement gradient descent and backpropagation in python right here in the classroom.
- Concept 01: Classification Problems
- Concept 02: Linear Boundaries
- Concept 03: Higher Dimensions
- Concept 04: Perceptrons
- Concept 05: Why “Neural Networks” ?
- Concept 06: perceptions and Logical Operators
- Concept 07: Perceptron Trick
- Concept 08: Perceptron Algorithm
- Concept 09: Non-Linear Regions
- Concept 10: error Functions
- Concept 11: Log-loss Error Function
- Concept 12: Discrete vs Continuous
- Concept 13: Softmax
- Concept 14: One-Hot Encoding
- Concept 15: Maximum Likelihood
- Concept 16: Maximum Probabilities
- Concept 17: Cross Entropy
- Concept 18: Multi-class Cross Entropy
- Concept 19: Logistic Regression
- Concept 20: Gradient Descent
- Concept 21: Logistic Regression Algorithm
- Concept 22: Notebook - Gradient Descent
- Concept 23: Perceptrons vs Gradient Descent
- Concept 24: Continuous Perceptrons
- Concept 25: Non-linear Data
- Concept 26: Non-linear Models
- Concept 27: Neural Network Architecture
- Concept 28: Feedforward
- Concept 29: Backpropogation
- Concept 30: Pre-lab: Analyzing Student Data
- Concept 31: Notebook: Analyzing Student Data
- Concept 32: Outro
Lesson 02: Implementing Gradient Descent
Mat will introduce you to a different error function and guide you through implementing gradient descent using numpy matrix multiplication.
- Concept 01: Mean Squarred Error Function
- Concept 02: Gradient Descent
- Concept 03: Gradient Descent: The Math
- Concept 04: Gradient Descent: The Code
- Concept 05: Implementing Gradient Descent
- Concept 06: Multilayer Perceptrons
- Concept 07: Backpropjgation
- Concept 08: Implementing Backpropogation
- Concept 09: Further Reading
Lesson 03: Training Neural Networks
Now that you know what neural networks are, in this lesson you will learn several techniques to improve their training.
- Concept 01: Training Optimization
- Concept 02: Testing
- Concept 03: Overfitting and Underfitting
- Concept 04: Early Stopping
- Concept 05: Regularization
- Concept 06: Dropout
- Concept 07: Local Minimal
- Concept 08: Random Restart
- Concept 09: Vanishing Gradient
- Concept 10: Other Activation Functions
- Concept 11: Batch vs Stochastic Gradient Descent
- Concept 12: Learning Rate Decay
- Concept 13: Momentum
- Concept 14: Error Functions Around the World
Lesson 04: Deep Learning with PyTorch
Learn how to use PyTorch for building deep learning models.
- Concept 01: Introducing PyTorch
- Concept 02: PyTorch Tensors
- Concept 03: Defining Networks
- Concept 04: Training Networks
- Concept 05: Fashion-MNIST Exercise
- Concept 06: Interface & Validation
- Concept 07: Saving and Loading Trained Networks
- Concept 08: Loading Data Sets with Torchvision
- Concept 09: Transfer learning
- Concept 10: Transfer Learning Solution
Part 06 : Create Your Own Image Classifier
In the second and final project for this course, you’ll build a state-of-the-art image classification application.
Module 01: Project
Lesson 01: Create Your Own Image Classifier
In this project, you’ll build a Python application that can train an image classifier on a dataset, then predict new images using the trained model.
Part 07 : Next Steps!
Congratulations!!!!! You finished your first nanodegree in the School of AI! What are the next steps?
Part 08 (Elective) : Github
Module 01: Version Control with Github
Lesson 01: What is Version Control?
Version control is an incredibly important part of a professional programmer’s life. In this lesson, you’ll learn about the benefits of version control and install the version control tool Git!
- Concept 01: What is Version Control
- Concept 02: Version Control in Daily Use
- Concept 03: Git and Version Control Technology
- Concept 04: Mac/Linux Setup
- Concept 05: Windows Setup
- Concept 06: Onward
Lesson 02: Create A Git Repo
Now that you’ve learned the benefits of Version Control and gotten Git installed, it’s time you learn how to create a repository.
- Lesson 01: Create a Repo From Scratch
- Lesson 02: Clone an Existing Repo
- Lesson 03: Determine a Repo’s Status
- Lesson 04: Outro
Lesson 03: Review a Repo’s History
Knowing how to review an existing Git repository’s history of commits is extremely important. You’ll learn how to do just that in this lesson.
- Lesson 01: Displaying a Repository’s Commits
- Lesson 02: Changing How Git Log Display Information
- Lesson 03: Viewing Modified Files
- Lesson 04: Viewing File Changes
- Lesson 05: Viewing a Specific Commit
- Lesson 06: Outro
Lesson 04: Add Commits to a Repo
A repository is nothing without commits. In this lesson, you’ll learn how to make commits, write descriptive commit messages, and verify the changes you’re about to save to the repository.
- Lesson 01: Git Add
- Lesson 02: Git Commit
- Lesson 03: Commit Messages
- Lesson 04: Git Diff
- Lesson 05: Having Git Ignore Files
- Lesson 06: Outro
Lesson 05: Tagging, Branching and Merging
Being able to work on your project in isolation from other changes will multiply your productivity. You’ll learn how to do this isolated development with Git’s branches.
- Lesson 01: Tagging
- Lesson 02: Branching
- Lesson 03: Branching Effectivity
- Lesson 04: Merging
- Lesson 05: Merge Confilicts
- Lesson 06: Outro
Lesson 06: Undoing Changes
Help! Disaster has struck! You don’t have to worry, though, because your project is tracked in version control! You’ll learn how to undo and modify changes that have been saved to the repository.
- Lesson 01: Midifying the Last Commit
- Lesson 02: Reverting a Commit
- Lesson 03: Reverting Commits
- Lesson 04: Outro
Module 02: Github & Collaboration
Lesson 01: Working with Remotes
You’ll learn how to create remote repositories on GitHub and how to get and send changes to the remote repository.
- Lesson 01: Remote Repositories
- Lesson 02: Add A Remote Repository
- Lesson 03: Push Changes to A Remote
- Lesson 04: Pulling Changes from a Remote
- Lesson 05: Pull vs Fetch
Lesson 02: Working on Another Deveoper’s Repository
In this lesson, you’ll learn how to fork another developer’s project. Collaborating with other developers can be a tricky process, so you’ll learn how to contribute to a public project.
- Lesson 01: Forking a Repository
- Lesson 02: Reviewing Existing Work
- Lesson 03: Determining What to Work On
Lesson 03: Staying in Sync With a Remote Repository
You’ll learn how to send suggested changes to another developer by using pull requests. You’ll also learn how to use the powerful git rebase
command to squash commits together.
- Lesson 01: Create a Pull Request
- Lesson 02: Stay in Sync with Source Project
- Lesson 03: Manage an active PR
- Lesson 04: Squash Commits
Part 09 (Elective) : Shell Workshop
Module 01: Unix Shell
Lesson 01: Shell Workshop
The Unix shell is a powerful tool for developers of all sorts. In this lesson, you’ll get a quick introduction to the very basics of using it on your own computer.
- Concept 01: Windows: Installing Git Bash
- Concept 02: Opening a Terminal
- Concept 03: Your First Command (echo)
- Concept 04: Navigating Directories (ls, cd, ..)
- Concept 05: Currrent Working Directory (pwd)
- Concept 06: Parameters and Options (ls -l)
- Concept 07: Organizing Your Files (mkdir, mv)
- Concept 08: Downloading (curl)
- Concept 09: Viewing Files (cat, less)
- Concept 10: Removing Things (rm, rmdir)
- Concept 11: Searching and Pipes (grep, wc)
- Concept 12: Shell and Environtment variables
- Concept 13: Startup Files (.bash_profile)
- Concept 14: Controlling the Shell Prompt ($PS1)
- Concept 15: Aliases
Part 10 (Elective) : Intro to Machine Learning
Part 11 (Elective) : Learning Rate
(AI) Artificial Intelligence Nanodegree
Become an expert in the core concepts of artificial intelligence and learn how to apply them to real-life problems.
Module 01: Introduction
Lesson 01: Welcome to Artificial Intelligence
Welcome to Term 1 of the Artificial Intelligence Nanodegree program!
Concept 01: Lesson Plan: Week 1
Lesson 02: Introduction to AI
An introduction to basic AI concepts with real world examples.
Concept 01: Welcome to AI!
Concept 02: navigation
Concept 03: game Playing
Concept 04: Quiz: Tic Tac Toe
Concept 05: Tic Tac Toe: Huristics
Concept 06: Quiz: Monty Hall Problem
Concept 07: What is Intelligence?
Concept 08: Defining Intelligence
Concept 09: Agent, Environment and State
Concept 10: Perception, Action and Cognition
Concept 11: Types of AI Problems
Concept 12: Rational Behavior and Bounded Optimality
Lesson 03: Applying AI to Sudoku
In this lesson, you’ll get taste of the power of Artificial Intelligence by developing an algorithm to solve every Sudoku puzzle. Enjoy the fun of building your first AI agent and get coding!
Concept 01: Solving a Sudoku
Concept 02: Setting up the Board
Concept 03: Encoding the Board
Concept 04: Strategy 1: Elimination
Concept 05: Strategy 2: Only Choice
Concept 06: Constraint Propogation
Concept 07: Harder Sudoku
Concept 08: Strategy 3: Search
Concept 09: Coding the Solution
Lesson 04: Setting Up with Anaconda
Get your environment set up using Anaconda, an extremely popular way to manage your environments and packages in python.
Concept 01: What is Anaconda?
Concept 02: Installing Anaconda
Concept 03: Managing Packages
Concept 04: Managing Environment
Concept 05: More Environment Actions
Concept 06: Best Practices
Concept 07: On Python Version at Udacity
Concept 08: AIND Conda Environment
Lesson 05: Solving Sudoku with AI
Module 02: Career Services
Lesson 01: Jobs in AI
Learn about common jobs in artificial intelligence, and get tips on how to stay active in the community.
Concept 01: Meet the Team
Concept 02: Access the Portal
Concept 03: Profile
Lesson 02: Optimize Your Github Profile
Other professionals are collaborating on GitHub and growing their network. Submit your profile to ensure your profile is on par with leaders in your field.
Lesson 03: Strengthen Your Online Presence Using LinkedIn
Find your next job or connect with industry peers on LinkedIn. Ensure your profile attracts relevant leads that will grow your professional network.
Concept 01: Get Opportunities with LinkedIn
Concept 02: Use Your Story to Stand Out
Concept 03: Why Use and Elevator Pitch
Concept 04: Create Your Elecator Pitch
Concept 05: Use Your Elevator Pitch on LinkedIn
Concept 06: Create Your Profile With SEO in Mind
Concept 07: Profile Essentials
Concept 08: Work Experiences and Accomplishments
Concept 09: Build and Strengthen Your Network
Concept 10: Reaching Out on Linked
Concept 11: Boost Your Visibility
Concept 12: Up Next
Module 03: Search and Optimization
Lesson 01: Introduction to Game Playing
In this lesson, you’ll learn about how to build a Game Playing AI Agent. You’ll focus on an agent that wins in the board game Isolation! You’ll learn some of the seminal techniques in AI Game Playing including Adversarial Search and Minimax Trees.
Concept 01: The Minimax Algorithm
Concept 02: Isolation
Concept 03: Building a Game Tree
Concept 04: Coding: Building a Game Class
Concept 05: Which of These Are Valid Moves?
Concept 06: Coding: game Classs Functionality
Concept 07: Building a Game Tree (Contd)
Concept 08: Isolation Game Tree with Leaf Values
Concept 09: How do We Tell the Computer Not to Lose?
Concept 10: MIN and MAX Levels
Concept 11: Coding: Scoring Min & Max Levels
Concept 12: Propogation Values Up the Tree
Concept 13: Computing MIN MAX Values
Concept 14: Computing MIN MAX Solutions
Concept 15: Choosing the Best Branch
Concept 16: Coding: Minimax Search
Concept 17: Searching Simple Games Reading
Concept 18: Max Number of Nodes Visited
Concept 19: Max Moves
Concept 20: The Brancing Factor
Concept 21: Number of Nodes in a Game Tree
Concept 22: The Branching Factor (Contd)
Concept 23: Max Number of Nodes
Concept 24: Depth-Limited Search
Concept 25: Coding: Depth-Limited Minimax
Concept 26: Evaluation Function Intro
Concept 27: Testing the Evaluation Function
Concept 28: Quiescent Search
Lesson 02: Advanced Game Playing
In this lesson, you’ll build a Game-Playing agent that defeats opponents in Isolation. Along the way, you’ll learn about advanced Game-Playing techniques such as Iterative Deepening, Alpha-Beta Pruning, and Expectimax.
Concept 01: A problem
Concept 02: Iterative Deepening
Concept 03: Understanding Exponential Time
Concept 04: Exponential b=3
Concept 05: Varying the Branching Factor
Concept 06: Horizon Effect
Concept 07: Good Evaluation Functions
Concept 08: Evaluating Evaluation Functions
Concept 09: Alpha-Beta Pruning
Concept 10: Thad’s Asides
Concept 11: Searching Complex Games Reading
Concept 12: Solving 5x5 Isolation
Concept 13: 3-Player Games
Concept 14: 3- Player Alpha-Beta Pruning
Concept 15: Multi-Player Alpha-Beta Pruning Reading
Concept 16: Probablistic Games
Concept 17: Sloppy Isolation
Concept 18: Sloppy Isolation Expectimax
Concept 19: Expectimax Alpha-Beta pruning
Concept 20: Probablistci Alpha-Beta Pruning
Concept 21: Improving Minimax
Lesson 03: Build an Adverserial Search Agent
Lesson 04: Search
In this lesson, you’ll learn how to implement some of the seminal search algorithms that are a cornerstone of AI including Breadth-First Search, Depth-First Search, and finally A Star Search. You’ll then put your skills to the test by teaching Pac-Man to navigate his world and complete complex tasks such as finding the fastest path through the map while maximizing points scored.
Concept 01: Introducing Peter Norvig
Concept 02: What is A Problem
Concept 03: Example: Route Finding
Concept 04: Quiz: Tree Search
Concept 05: Quiz: Graph Search
Concept 06: Breadth First Search
Concept 07: Uniform Cost Search
Concept 08: Search Comparison
Concept 09: On Uniform Cost
Concept 10: A*Search
Concept 11: Optimistic Heuristic
Concept 12: State Spaces
Concept 13: Sliding Blocks Puzzle
Concept 14: Problems with Search
Concept 15: A Note on Implementation
Concept 16: Peter’s Take on AI
Concept 17: Exercise: Teaching Pac-Man to Search
Concept 18: Pacman Search
Lesson 05: Simulated Annealing
In this lesson, you’ll learn how to explore spaces and avoid local optima by using Simulated Annealing. In the process, you’ll solve the famous n-Queens problem using this advanced AI technique!
Concept 01: Introduction to Simulated Anealing
Concept 02: Iterative Improvement Problems : TSP
Concept 03: 4- Queens
Concept 04: 5-Queens
Concept 05: 5-Queens Heuristic Function
Concept 06: 5-Queens Local Minima
Concept 07: n-Queens Heuristic Function
Concept 08: n-Queens Local Minia
Concept 09: Hill Climbing.
Concept 10: Random Restart
Concept 11: Step Size Too Small
Concept 12: Step Size Too Large
Concept 13: Annealing
Concept 14: Simulated Annealing
Concept 15: Simulated Simulated Annealing
Concept 16: Local Seach Beam
Concept 17: Representing n-Queens
Concept 18: 8-Queens Representaion
Concept 19: Generic Algorithm
Concept 20: GA Crossover
Concept 21: GA Mutation
Concept 22: Similarities Between Optimizers
Lesson 06: Constraint Satisfaction
In this lesson we’ll return to one of the main techniques we used to solve Sudoku - constraint propagation. We’ll see how to use known constraints to solve a wide variety of problems including Map Coloring problems, and simple puzzles.
Concept 01: Map Coloring
Concept 02: Constraint Graph
Concept 03: Constraint Types
Concept 04: Backtracking Search
Concept 05: Improving Backtracking Efficiency
Concept 06: Backtracking Optimization
Concept 07: Forward Checking
Concept 08: Constraint Propogation and Arc Concistency
Concept 09: Iteratie Algorithms
Concept 10: Readings on Constraint Satisfacion
Module 04: Logic, Reasoning and Planning
Lesson 01: Logic and Reasoning
In this lesson you’ll learn to build intelligent systems that can reason using logic! This is in many ways one of the foundational pieces of intelligence - the ability to arrive at new conclusions from a given set of facts.
Concept 01: Background and Expert System
Concept 02: Propositional Logic
Concept 03: Truth Tables
Concept 04: Terminology
Concept 05: Propositional Logic Limitations
Concept 06: First order Logic
Concept 07: Models
Concept 08: Syntax
Concept 09: Vacuum World
Concept 10: FOL Question
Lesson 02: Planning
Explore how we can use logic and search to plan out complex itineraries. Many of these planning approaches are the same ones used to power Self-Driving Cars!
Concept 01: Problem Solving vs Planning
Concept 02: Planning vs Execution
Concept 03: Vacuum Cleaner Example
Concept 04: Sensorless Vacuum Cleaner Problem
Concept 05: Partially Observale Vacuum Cleaner Example
Concept 06: Stochastic Environment problem
Concept 07: Infinite Sequences
Concept 08: Finding a Successful Plan
Concept 09: Problem Solving via Mathematical Notation
Concept 10: Tracing the Predict Update Cycle
Concept 11: Classical Planning
Concept 12: Progression Search
Concept 13: Regression Search
Concept 14: Regression vs Progression
Concept 15: Plan Space Search
Concept 16: Sliding Puzzle Example
Concept 17: Situation Calculus
Lesson 03: Create a Domain-Independent Planner
Module 05: Probabilistic Models
Lesson 01: Probablistic Models
Learn to model uncertainty in the real world using probability theory.
Concept 01: Intro to Brpablity and Bayes Nets
Concept 02: Probability / Coin Flip
Concept 03: Probability Summary
Concept 04: Dependence
Concept 05: What we Learned
Concept 06: Weather
Concept 07: Cancer
Concept 08: Bayes Rule
Concept 09; Readings on Probability
Lesson 02: Bayes Nets
Learn to encode probability distributions using compact graphical models that enable efficient analysis.
Concept 01: Bayes Network
Concept 02: Computing Bayes Rule
Concept 03: Two Test Cancer
Concept 04: Conditional Independence
Concept 05: Absolute and Conditional
Concept 06: Confounfing Cause
Concept 07: Conditional Dependence
Concept 08: General Bayes Net
Concept 09: Value of A Network
Concept 10: D Seperation
Lesson 03: Inference in Bayes Nets
In this lesson, you will learn about probabilistic inference using Bayes Nets, i.e. how to answer questions that you are interested in, given certain inputs.
Concept 01: Probabilistic Inference
Concept 02: Overview and Example
Concept 03: Enumeration
Concept 04: Speeding Up Enumeration
Concept 05: Causal Direction
Concept 06: Variable Elimination
Concept 07: Approximate Inference
Concept 08: Rejection Sampling
Concept 09: Likelihood Weighting
Concept 10: Gibbs Sampling
Concept 11: Monty Hall Problem
Lesson 04: Hidden Markov Models
Learn to process sequences and time-series data using Hidden Markov Models.
Concept 01: Pattern Recognition Through Time
Concept 02: Dolphin Whistles
Concept 03: Problems Matching Dolphin Whistles
Concept 04: Warping Time
Concept 05: Euclident Distance Not Sufficient
Concept 06: Dynamic Time Warping
Concept 07: Sakoe Chiba Bounds
Concept 08: Readings on DTW
Concept 09: Hidden Markov Models
Concept 10: HMM Representaion
Concept 11: Sign Language Recognition
Concept 12: Delta-y Quiz
Concept 13: HMM “I”
Concept 14: HMM “We”
Concept 15: I vs We
Concept 16: Viterbi Trellis “I”
Concept 17: “I” Translations Quize
Concept 18: Nodes for “I”
Concept 19: Viterbi Path
Concept 20: “We” Translation
Concept 21: “We” Translations Probabilities
Concept 22: “We” Output Probabilities
Concept 23: Which Getsture is Recognized
Concept 24: New Observation Sequence for “I”
Concept 25: New Observation Sequence for “We”
Concept 26: HMM Training
Concept 27: Baum Welch
Concept 28: Readings on HMMs
Concept 29: Multi-dimensional Output Probabilities
Concept 30: Using a Mixture of Gaussians
Concept 31: HMM Topologies
Concept 32: Phrase Lecel Recognition
Concept 33: Stochastic Beam Search
Concept 34: Context Training
Concept 35: Statistical Grammar
Concept 36: State Tying
Concept 37: HMM Resources
Concept 38: Segmentally Boosted HMMs
Concept 39: SBHMM Resources
Concept 40: Using HMMs to Generate Data
Concept 41: HMMs for Speech Synthesis
Lesson 05: Use HMMs to Recognize ASL
Lesson 06: Wrapping UP Term1
Links to lesson plans for weeks 13 & 14 of term 1.
AITrading - AI for Trading
Complete real-world projects designed by industry experts, covering topics from asset management to trading signal generation. Master AI algorithms for trading, and build your career-ready portfolio.
Part 01: Term 1: Quantitive trading
Module 01: Quant Basics
Lesson 01: Welcome to the Nanoprogram
Welcome to the exciting world of Quantitative Trading! Say hello to your instructors and get an overview of the program.
- Concept 01: What is Quant?
- Concept 02: Time Management
Lesson 02: Get Help from Peers and Mentors
You are starting a challenging journey. Take 3 minutes to read how to get help with projects and content.
- Concept 01: What it Takes
- Concept 02: Reviews
- Concept 03: Knowledge
Lesson 03: Get help with Your Account
What to do if you have questions about your account or general questions about the program.
Lesson 04: Stock Prices
Learn about stocks and common terminology used when analyzing stocks.
- Concept 01: Stocks
- Concept 02: Stock Prices
- Concept 03: Terminology
- Concept 04: Stock Data
Lesson 05: Market Mechanics
Learn about how modern stock markets function, how trades are executed and prices are set. Study market behavior, and analyze price and volume data to identify potential trading signals.
- Concept 01: Framers’ Market
- Concept 02: Trading Stocks
- Concept 03: Liquidity
- Concept 04: Tick Data
- Concept 05: OHLC: Open, High, Low, Close
- Concept 06: Resample Data
- Concept 07: Volume
- Concept 08: Gaps in Market Data
- Concept 09: Markets in Different Timezones
- Concept 20: Summary
Lesson 06: Data Processing
Learn how to adjust market data for corporate actions, include fundamental information in your analysis and compute technical indicators.
- Concept 01: Market Data
- Concept 02: When to Use Time Stamps
- Concept 03: Coorporate Actions: Stock Splits
- Concept 04: Technical Indicators
- Concept 05: Missing Values
- Concept 06: Trading Days
- Concept 07: Trading Experiment
- Concept 08: Survivor Bias
- Concept 09: Fundemental Information
- Concept 10: Price Earnings Ratio
- Concept 11: Exchange Traded Funds
- Concept 12: Index vs ETF
- Concept 13: Alternate DATA
- Concept 14: Interlude: Your Goals
Lesson 07: Stock Returns
Learn how to calculate stock returns, and log returns in particular. Learn why log returns are used to analyze financial data.
- Concept 01: Returns
- Concept 02: Calculate Returns
- Concept 03: Log Returns
- Concept 04: Log Returns and Compounding
- Concept 05: Distributions of Returns and Prices
- Concept 06: Why Log Returns
Lesson 08: Momentum Trading
Learn about alpha signals, and how they can be applied to a long/short trading strategy. Learn about momentum, a common alpha signal used in trading strategies.
- Concept 01: Designing a Trading Strategy
- Concept 02: Momentum-based Signals
- Concept 03: Long and Short Positions
- Concept 04: Dtype
- Concept 05: Trading Strategy
- Concept 06: Momentum-based Portfolio
- Concept 07: Calculate Top and Bottom Performing
- Concept 08: Statistical Analysis
- Concept 09: The Many Meanings of “Alpha”
- Concept 10: Test Returns for Statistical Signigicance
- Concept 11: Statistical Analysis
- Concept 12: Finding Alpha
- Concept 13: Interlude: Global Talent
Lesson 09: Project 1: Trading with Momentum
Learn to implement a trading strategy on your own and test to see if it has the potential to be profitable.
Module 02: Advanced Quants
Lesson 01: Quant Workflow
Learn about the overall quant workflow, including alpha signal generation, alpha combination, portfolio optimization, and trading.
- Concept 01: Starting from a Hypothesis
- Concept 02: Quant Workflow
- Concept 03: Flavors of Trading
- Concept 04: Anatomy of a Strategy
Lesson 02: Outliers and Filtering
Learn the importance of outliers and how to detect them. Learn about methods designed to handle outliers.
- Concept 01: Sources of Outliers
- Concept 02: Outliers Due to Real Events
- Concept 03: Outliers, Signals and Strategies
- Concept 04: Spotting Outliers in Raw Data
- Concept 05: Handling Outliers in Raw Data
- Concept 06: Spotting Outliers in Signal Returns
- Concept 07: Handling Outliers in Signal Returns
- Concept 08: Generating Robust Trading Signals
Lesson 03: Regression
bout regression, and related statistical tools that pre-process data before regression analysis. See how regression relates to trading and other more advanced methods.
- Concept 01: Distributions
- Concept 02: Exercise: Visualize Distributions
- Concept 03: Parameters of a Distribution
- Concept 04: Standard Normal Distribution
- Concept 05: Testing for Normality
- Concept 06: Normality
- Concept 07: Heteroskedasticity
- Concept 08: Transforming Data
- Concept 09: Linear Regression
- Concept 10: Breush Pagan in Depth (optional)
- Concept 11: Regression
- Concept 12: Multivariate Linear Regression
- Concept 13: Regression in Trading
- Concept 14: regression with two stocks
- Concept 15: Interlude: Your Brain
Lesson 04: Time Series Modeling
Learn about advanced methods for time series analysis, including ARMA, ARIMA, Kalman Filters, Particle Filters, and recurrent neural networks.
- Concept 01: Time Series Modeling
- Concept 02: Autoregressive Models
- Concept 03: Moving Average Models
- Concept 04: Advanced Time Series Models
- Concept 05: ARMA and ARIMA
- Concept 06: Kalman Filter
- Concept 07: Particle Filter
- Concept 08: Recurent Neural Networks
Lesson 05: Volatility
Learn about stock volatility, and how the GARCH model analysis volatility. See how volatility is used in equity trading.
- Concept 01: What is Volatility?
- Concept 02: Historical Volatility
- Concept 03: Annualized Volatility
- Concept 04: Scale of Volatility
- Concept 05: Rolling Windows
- Concept 06: Exponentially Weighted Moving Average
- Concept 07: Estimate Volatility
- Concept 08: Forecasting Volatility
- Concept 09: markets & Volatility
- Concept 10: using Volatility for Equity Trading
- Concept 11: Breakout Strategies
Lesson 06: Pairs Trading and Mean Reversion
Learn about pairs trading, and study the tools used in identifying stock pairs and making trading decisions.
- Concept 01: Mean Reversion
- Concept 02: Pairs Trading
- Concept 02: Finding Pairs to Trade
- Concept 03: Identity Pairs to Trade
- Concept 04: Cointegration
- Concept 05: ADF and Roots
- Concept 06: Clustering Stocks
- Concept 07: Trade Pairs of Stocks
- Concept 08: Finding Pairs
- Concept 09: Variations of Pairs Trading and Mean Reversion Trading
- Concept 10: 3 or More Stocks
- Concept 11: Details of Johanson Test
Lesson 07: Project 2: Breakout Strategy
Implement the breakout strategy, find and remove outliers, and test to see if it can be a profitable strategy.
Module 03: Funds, ETFs, Portfolio Optimizations
Lesson 01: Stocks, Indices, Funds
Gain an overview of stocks, indices and funds. Also learn how to construct an index.
- Concept 01: Indices
- Concept 02: market Cap
- Concept 03: Growth V. Value
- Concept 04: Ratios
- Concept 05: Index Categories
- Concept 06: Price Weightning
- Concept 07: Market Cap Weighting
- Concept 08: Adding or Removing from an Index
- Concept 09: How an Index is Constructed
- Concept 10: Hang Seng Index Construction
- Concept 11: Index after Add or Delete
- Concept 12: Funds
- Concept 13: Active vs. Passive
- Concept 14: Rate of Returns over Multiple Periods
- Concept 15: Smart Beta
- Concept 16: Mutual Funds
- Concept 17: Hedge Funds
- Concept 18: Relative and Absolute Returns
- Concept 19: Heading Strategies
- Concept 20: Net Asset Value
- Concept 21: Expense Ratios
- Concept 22: Open End Mutual Funds
- Concept 23: Handling Withdraws
- Concept 24: Close End Mutual Funds
- Concept 25: Transaction Costs
Lesson 02: ETFs
Learn about Exchanged Traded Funds (ETFs) and how they are used by investors and fund managers.
- Concept 01: Shrtcomings of Mutual Funds
- Concept 02: How ETFs are Used
- Concept 03: Hedging
- Concept 04: ETF Sponsors
- Concept 05: Authorized Participant and Create Process
- Concept 06: Redeeming Shares
- Concept 07: Lower Operational Costs & Taxes
- Concept 08: Arbitrage
- Concept 09: Arbitrage for Efficient ETF Pricing
Lesson 03: Portfolio Risk and Return
Learn the fundamentals of portfolio theory, which are key to designing portfolios for mutual funds, hedge funds and ETFs.
- Concept 01: Diversification
- Concept 02: Portfolio Mean
- Concept 03: Portfolio Variance
- Concept 04: Reducing Risk
- Concept 05: Variance of a 3-Asset Portfolio
- Concept 06: The Covariance Matrix and Quadratic Forms
- Concept 07: Calculate a Covariance Matrix
- Concept 08: np.Cov
- Concept 09: The Efficient Frontier
- Concept 10: Capital Market Line
- Concept 11: The Sharpe Ration
- Concept 12: Other Risk Measures
- Concept 13: The Capital Assets Pricing Model