CSE 517a Resources


We will be using Python and Numpy, Scipy, and Matplotlib for the implementation and application projects. All those packages are included in the Anaconda package. Follow these instructions to get everything installed.


It’s recommended to go with the newest versions included in Anaconda. If you have an up and running Python installation (and are capable to manage dependencies yourself), feel free to use any of the following Python versions: 3.4, 3.5, or 3.6 and the respective compatible versions for the packages listed above.


Jupyter notebooks (included in the Anaconda package) might be useful to explore demo code and also for developing your application project solutions. HERE is some more information on how to get started with Jupyter.



We will be using SVN repositories to distribute and collect implementation project assignments. Please see this tutorial about accessing your repository and how to submit your work.

If you wish to access your files from your own computer, you will need to install Tortoise (Windows) or SmartSVN (Windows, Mac, Linux) or use SVN via the terminal (Mac, Linux).


We will be using Gradescope for submission and grading of all written work. Find a tutorial on submitting a PDF to Gradescope HERE.

Course Books

  • Main course book: A First Course in Machine Learning, 2nd edition (FCML) by Rogers and Girolamo (We will use this book for readings, mathematical derivations, and written homework problems.)
  • From CSE417tLearning from Data (LFD) by Abu-Mostafa, Magdon-Ismail, and Lin (Keep your copy from CSE417t around. You might need it again. This book is a terrific resource!)
  • Matrix Cookbook: for anything about matrix equations and derivatives, etc.
  • Useful reference bookThe Elements of Statistical Learning (ESL) by Hastie, Tibshirani, Friedman (This book is freely available online, so do not hesitate to consult it for additional information.)

9781498738484    pasted-graphic-2

MATLAB or Octave

We might use MATLAB (license required) or Octave (it’s free) in the course. The choice is up to you! All provided course materials will run on either one. Here is a short article about the differences.


If you decided to use Octave, get it from HERE.


If you decided to use MATLAB, you have the following options:

MATLAB: Student Edition
The School of Engineering has a campus wide license that allows all Engineering students to install Matlab on their personally owned computers at no charge. This software is available to students who are enrolled in an Engineering class. You should have gotten an email with  License information and installation instructions, if not, please email support@seas.wustl.edu.
Non engineering students are not required to purchase the MATLAB software (as it is available in the computer labs), but if you wish to acquire the student edition of MATLAB go  here.

Accessing MATLAB via Remote Desktop
To access MATLAB remotely from your computer you must use Remote Desktop. For Windows, open the Start Menu and type “Remote Desktop” into the text box. The application should appear in the list. For Mac users, you will need to download this application.

Once you have started the remote desktop application, type oasis.cec.wustl.edu as the address you would like to connect to. After the connection has been made, you will need to login with your WUSTL KEY. Enter your username with “ACCOUNTS\” in front of it, like this:


Once you have logged in, MATLAB can then be accessed from the Start Menu as in the CEC labs.

If you are attempting to use Remote Desktop from off campus, you may be required to use the VPN.

Accessing MATLAB via Linux Lab
You can also use the Linux Lab to run Matlab, by going to https://linuxlab.seas.wustl.edu and selecting Submit Job, and then starting a “Matlab” session.