Why were these notes developed?
The notes presented here on this website grew out of the need for a free, unified, easily-accessible, and complete reference for scientific computing with MATLAB for usage by a wide spectrum of undergraduate and graduate students in Science and Engineering fields. Since 2017, these notes have been and are still being continuously updated and improved. Example University courses that have relied on these notes as the course’s textbook include,
- COE 301 (Fall 2017) - Introduction to Computer Programming (School of Engineering, Univ of Texas Austin)
- PHYS 6302 (Spring 2019) - Applications of Computers in Physics (Dept of Physics, Univ of Texas Arlington)
Who is the author?
Amir Shahmoradi is a physicist, astronomer, bioinformatician by training and a science-lover in general, with extensive teaching & research experience and background in high energy physics, astronomy and astrophysics, theoretical physics, statistics, data analysis and modeling, computational physics, Molecular Dynamics simulations, stochastic processes, Monte Carlo Methods, Bayesian probability theory, biomedical sciences and MRI data analysis, bioinformatics and evolutionary biology, in particular, viral evolution, protein dynamics and interactions. He holds a Ph.D. in Physics from the University of Texas at Austin and is currently a Physics and Data Science faculty member at the University of Texas at Arlington. He can be reached via his email at shahmoradi@utexas.edu or https://www.cdslab.org.
Who is the audience?
The contents of the notes are appropriate for any college student from Freshman to Senior level, as well as graduate students who have no background in programming or scientific computing.
What are the outcomes upon successful completion?
The contents of these notes will cover the principles of computer programming using MATLAB programming language, with an emphasis on scientific computing with MATLAB. Specifically, upon completion of reading, students will know,
- programming paradigms,
- principles of software maintenance and collaborative project development,
- differences between compiled and interpreted programming languages,
- how to use MATLAB as a simple calculator,
- how to use MATLAB as an advanced scientific computation and graphics toolbox,
- how to formulate cast a scientific problem in the form of a computational programming algorithm,
- how to interoperate MATLAB programs with other programming languages, in particular, the high-performance programming languages, such as Fortran and C,
- solve the scientific problem using computational, mathematical, and physical knowledge gained by following the notes.