Basic Computation and Principles of Computer Programming