Many recent machine learning toolkits are written in Python, including the TensorFlow package that we'll use this semester. If you have not previously programmed in Python, I recommend that you spend an extra six hours, prior to homework 1, doing some of its online tutorials. Useful tutorials include:

  1. Python Tutorial. Make sure you are reading about Python 3 (3/tutorial), not Python 2 (2/tutorial). Plan to spend about 3 hours on this if you do not already know Python.
  2. NumPY tutorial. About one hour; the only new concept will be the distinction between NumPY arrays versus Python lists.
  3. SciPy tutorial. These tools will not be required to do any of this semester's labs, but they provide useful shortcuts that you are allowed to use even in the sections of each lab where TensorFlow is not allowed.
  4. TensorFlow. Our basic philosophy is that each homework should include (1) pencil-and-paper derivation, (2) code from scratch, and (3) code using a state-of-the-art open-source toolbox that you can use in your advanced research (SOTAOSTTYCUIYAR). TensorFlow will be our SOTAOSTTYCUIYAR this semester.