When you work with numbers in python, you usually start with python script that reads the data and computes mathematical expressions. While dealing with complex mathematical representations, especially while working on Machine Learning algorithms, the algorithm written solely with python will be extremely slow due to obvious reasons of limited memory and constraints on CPU. To overcome such hurdles, Theano provides an API, which allows you to define, optimize, and evaluate mathematical expressions as a graph which could be executed on CPU or GPU automatically to evaluate the graph of various complexity in the shortest time. This talk will explore on how to use the API of Theano to build from very basic mathematical expressions to some of the widely used Machine Learning algorithms and Deep Learning models with code walkthrough using ipython notebooks. Also, this talk will cover how Theano performs computations that are significantly faster on a GPU compare to multiple CPUs, how Theano optimizes it's computation graph in various ways to reduce the computational memory, how to debug and troubleshoot in Theano. Theano is being used widely in the field of Machine Learning and majorly Deep Learning as a mathematical compiler. Theano is being developed and used since 2008, by MILA (formely LISA lab) at the University of Montreal.