.. _preparations: ============================================ Items for the Class ============================================ Hardware (hardly free) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * A computer: laptop or desktop. No tablet PCs as a main computational resource. Better if you already have a linux-based one or Mac. For a Windows-based PC, you need to install some packages to run a linux-based operating system on your PC. Please consult with me or TA if you have Windows PCs only or none. Softwares (mostly free) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Essential software (required, free): * Linux/Unix or Mac OS X with Xcode (no Windows please!). * Compilers for Fortran 90, C/C++ (e.g., `gfortran, gcc `_) * Debuggers (`gdb `_ , `lldb `_, etc.) * Python and its scientific libraries (e.g., `Anaconda `_, `NumPy `_, `SciPy `_, `Matplotlib `_, etc.) * Version control system (e.g., `Git `_ or `SVN `_) * Text editors (traditional ones: `GNU emacs `_, `aquamacs `_, `vi `_, `vim `_; modern fancy ones: `sublime `_, `atom `_, etc.) * `Sphinx `_ * LaTex packages (`texshop `_, `LaTeXiT `_) Extra software (optional, free or commercial): * `Matlab `_ or `GNU Octave `_ * software package manager (`Yum `_, `Homebrew `_, `MacPorts `_, etc.) * `GNU plot `_, `IDL `_ * symbolic math using `sage `_ * even more for `high performance computing on Mac `_ Others (absolutely free) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * Most importantly, your passion and energy to learn new things.