This introduction to computer-based problem-solving using the MATLAB® environment is highly recommended
for students wishing to learn the concepts and develop the programming skills that are fundamental to computational
science and engineering (CSE). Through a 'teaching by examples' approach, the authors pose strategically chosen
problems to help first-time programmers learn these necessary concepts and skills. Each section formulates a problem
and then introduces those new MATLAB® language features that are necessary to solve it. This approach puts
problem-solving and algorithmic thinking first and syntactical details second. Each solution is followed by a 'talking
point' that concerns some related, larger issue associated with CSE. Collectively, the worked examples, talking
points, and 300+ homework problems build intuition for the process of discretization and an appreciation for dimension,
inexactitude, visualization, randomness, and complexity. This sets the stage for further coursework in CSE areas.