Practical computing in this course
The programming and computational portions of this course are important! Students will need to make an effort at independently learning some programming, and I am very flexible about how you accomplish this. You can turn in homework and projects using any programming language.
You will probably want to use one of the following three languages:
- Matlab; or Octave as it is essentially the same language
- Python with the numpy and matplotlib libraries
- Julia
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. For a concrete comparison of the two most-common choices, namely Matlab/Octave versus Python, see my short note on Programming languages compared.
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, but I will post solutions in those languages when students submit them.
Feel free to ask programming questions in class! Yes, I’m happy to answer “dumb syntax” questions. Don’t worry, everyone has such questions about new computer stuff!
Getting Matlab online and/or on your computer
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.
First, Matlab online is free to UAF students by using your @alaska.edu
address. You should be able to sign in at matlab.mathworks.com.
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.