An introduction to scientific computing with Matlab and Python tutorials This textbook is written for the first introductory course on scientific computing. It covers elementary numerical methods for linear systems root finding interpolation numerical integration numerical differentiation least squares problems initial value problems and boundary value problems. It includes short Matlab and Python tutorials to quickly get students started on programming. It makes the connection between elementary numerical methods with advanced topics such as machine learning and parallel computing. This textbook gives a comprehensive and in depth treatment of elementary numerical methods. It balances the development implementation analysis and application of a fundamental numerical method by addressing the following questions. Where is the method applied How is the method developed How is the method implemented How well does the method work The material in the textbook is made as self contained and easy to follow as possible with reviews and remarks. The writing is kept concise and precise. Examples figures paper and pen exercises and programming problems are deigned to reinforce understanding of numerical methods and problem solving skills