Practical computing in this course
The programming and computational portions of this course are important, and students will need to work at these parts, but I am very flexible about how you accomplish them. You will almost certainly want to use one of the following three languages:
- Matlab or Octave; they are interoperable languages
- Python with the numpy and matplotlib libraries
- Julia
You can turn in homework and projects using any of these. For a concrete comparison of the two most-common choices, namely Matlab/Octave versus Python, see my short note on Programming languages compared. Note that I will support Matlab/Octave by providing lots of examples, both in-class and as solutions to exercises. I will not support Python and Julia in this manner.
The above languages are all reasonably-natural for numerical computations in linear algebra, differential equations, optimization. Tutorials are often not needed for standard tasks, but they are available online.
Feel free to ask programming questions in class! Yes, I’m happy to answer “dumb syntax” questions, and everyone has such questions about new computer stuff.
Matlab and Octave
Here is a guide to getting started in Matlab or Octave, which are essentially equivalent as programming languages. Note that Matlab, a commercial product, is more polished than free and open-source Octave.
Getting Matlab online
First, Matlab online is free to UAF students by using your @alaska.edu
address. Go to www.mathworks.com/products/matlab/student.html and check for campus-wide access. You should get an email saying you can sign up for a Mathworks account. Once you are signed in, namely at matlab.mathworks.com, you can click on the Open MATLAB Online button.
Getting Matlab running on your computer
You can download the student version of Matlab as an executable at www.mathworks.com/store/link/products/student/SV. (This may be free too for a @alaska.edu
address.)
Getting Octave
You can always go to octave-online.net in a browser and just start using it, but downloading the Octave executable is also free. I use it on my Linux machines instead of Matlab. See the Download tab at www.gnu.org/software/octave/index; there are executables for Windows, macOS, and Linux.
Learning Matlab/Octave via free materials
My basic advice is to just start trying to use it as a calculator, and as a function plotter and such. Within a few days you’ll be used to the basic language. For work in the course you basically need to understand for
loops, if
-else
conditionals, and function
s. If you want tutorials and videos, the Mathworks official material is great: www.mathworks.com/support/learn-with-matlab-tutorials.html. See also the free online book Numerical Computing with MATLAB by Matlab-creator Cleve Moler, an introductory and undergraduate-level numerical methods course which is an excellent tutorial.