I recently did Stanford’s CS221 course (Artificial Intelligence: Principles and Techniques). The course was extremely fast paced but extremely rewarding.
We coded in python but I wanted to try and demo some techniques on my blog so I decided to try and learn Javascript. When I learn a new language my first project is usually plotting the Mandelbrot Set. This is my first attempt at Javascript (and embedding code into WordPress). If it works I plan to display some interesting problems like a Sudoku Solver and a Rubik’s cube solver.

One way to smooth data is to convolve it against a smaller list. For example, to calculate the weekly moving average we convolve it against [1,1,1,1,1]. For a monthly moving average we would convolve it with a list of 25 ones (assuming 25 business days in a month).
This can be represented as a convolution… For example to get a 4 we have































