Markov chains and hidden Markov chains have applications in many areas of engineering and genomics. This book provides a basic introduction to the subject developing the theory of Markov and semi-Markov processes in an elementary discrete time finite state framework suitable for senior undergraduates and graduates.