Fundamentals of Deep Learning