This text is an introduction to the theory of stochastic processes at the undergraduate or beginning graduate level. Its primary objective is to initiate the student to the art of stochastic modeling. Mathematical definitions, theorems, proofs, and a number of classroom examples help the student to fully grasp the content of the main results, and problems of varying difficulty are proposed at the end of each chapter. The material is accessible to students who know the basics of probability theory, but a review of probability is included to make the text largely self-contained. It brings students to the borders of current research covering more advanced topics such as Martingales, eigenvalue, Gibbs fields and Monte Carlo techniques.