This course covers the fundamentals of numerical computation starting with finite representation of real numbers and investigation of errors resulting from the discrete and approximate nature of the computation using such a representation. The course includes topics from numerical linear algebra, interpolation, numerical differentiation and integration, numerical solution of ordinary differential equations, basics of numerical optimization, and generation of random numbers with their application to numerical problems.