The textbook is written primarily for STEM (science, technology, engineering and mathematics) undergraduates taking a course in Programming Concepts and is suitable for anyone learning programming for the first time (or for the first time in a long time). Additionally, many students and young professionals who have taken a programming course with MATLAB find this textbook to be a useful reference long after they complete their course.

Topics covered beyond MATLAB and programming fundamentals were chosen with the STEM fields in mind.  Examples of such topics include plotting, calculus applications, curve fitting, matrix algebra, ordinary differential equations, file input/output, plot animation, etc. Another example of how we have carefully selected the topics is evidenced in the loops module where we give special attention to working with matrices in loops which is a highly prevalent component in programming for the STEM fields and a concept which students often struggle with.


MATLAB has a number of good attributes such as great data visualization capabilities, ease of working with matrices, and widespread use in academia and in many industries. However, these features are not unique to MATLAB. What is unique to MATLAB, taken together with its other attributes, are these key points.

      1. Because MATLAB is a higher-level programming language, students and teachers using this book can focus more on programming and programming concepts, rather than the workflow and setup required by other programming languages.
      2. MATLAB has great documentation and support for beginners compared to other popular programming languages such as Python, JavaScript, C++.