Introduction to unconventional models of computation