# BYU CS classes

### Site Tools

cs401r_w2016:lab_notes

Throughout this class, we'll be using several python packages extensively. If you've never used them before, we strongly encourage you to play around with them and get comfortable.

They are:

* numpy - Python's package that provides high-performance matrix, vector and linear algebra operations

* matplotlib - a package for basic plotting and visualization of data

* seaborn - a nice visualization package that builds on matplotlib. Produces nicer visualizations, and has some built-in data analytics

All assignments will be turned in using ipython notebooks. If you've never used ipython before, you can either run it in a browser using something like jupyter, or you can run it interactively from a terminal using:

ipython –pylab

(One disadvantage of running ipython –pylab is that it automatically imports numpy and matplotlib. This pollutes the IDE's namespace, and sometimes makes it difficult to port code to non-ipython interpreters, because you won't have the right imports in place…)

I often find it easier to do my code development interactively in the terminal, then save a final notebook to turn in.

If you're more comfortable with IDEs, you may also want to check out spyder or pycharm.