# Software Resource - Fall 2020

## Software Resource - Fall 2020

- [Introduction](https://hs764.gitbook.io/cee-5735/master.md): Hello! Here you can find software information and help for CEE 5735, Fall 2020.
- [Getting started](https://hs764.gitbook.io/cee-5735/anaconda/installation.md): Anaconda is a Python distribution that includes many common packages for data science and a package management system (conda). Using Anaconda is convenient and recommended in this course.
- [Managing conda environments](https://hs764.gitbook.io/cee-5735/anaconda/managing-conda-environments.md): Conda is a package management system that helps install, update & delete packages in seperate environments.
- [Using Navigator](https://hs764.gitbook.io/cee-5735/anaconda/managing-conda-environments/using-navigator.md): Anaconda Navigator is a graphical user interface (included in your installation of Anaconda) that lets you to access applications and manage conda environments without using Terminal.
- [Using Terminal](https://hs764.gitbook.io/cee-5735/anaconda/managing-conda-environments/using-terminal.md): Alternatively, conda environments can managed using Terminal. In fact, everything on the GUI can be done with command lines. If you don't feel comfortable with this, you can use Anaconda Navigator.
- [Issues using zsh shell](https://hs764.gitbook.io/cee-5735/anaconda/managing-conda-environments/zsh.md): Anaconda is installed with bash, so you may run into problems using conda if your OS shell is zsh. Here are some solutions:
- [Jupyter Notebook](https://hs764.gitbook.io/cee-5735/anaconda/jupyter-notebook.md): Jupyter notebook is a web application for developing, documenting, & sharing code. It's become pretty popular among data scientists for visualizing & analyzing datasets, but there's some limitations.
- [Getting started](https://hs764.gitbook.io/cee-5735/fenics/docker.md): FEniCS is a finite element solver for PDEs that can be used with Python or C++. Here is how you can install FEniCS on different operating systems (more details at https://fenicsproject.org/download/):
- [Tutorial](https://hs764.gitbook.io/cee-5735/fenics/version-differences.md): There are several versions of FEniCS, and the functions/syntax can differ from the book tutorial linked on the Canvas site. Please check out the correct software documentation for your version.
- [Tensorflow](https://hs764.gitbook.io/cee-5735/machine-learning-libraries/tensorflow-and-keras.md): Tensorflow is a popular ML framework developed by Google that makes implementing optimized deep learning models very simple. Popular high-level APIs include Keras and TF Probability.
- [Pytorch](https://hs764.gitbook.io/cee-5735/machine-learning-libraries/pytorch.md): Pytorch is a popular ML framework developed by Facebook. A key difference is its use of dynamic computational graphs, which is beneficial for changing input sizes in NLP, computer vision, etc.
- [Scikit-learn](https://hs764.gitbook.io/cee-5735/machine-learning-libraries/scikit-learn.md): Scikit-learn is a popular ML library with many classification/regression models and data processing functions. However, it's not intended for deep learning since it does not support GPU acceleration.
- [Getting started](https://hs764.gitbook.io/cee-5735/version-control/getting-started-git.md): Git is a popular version control system that allows you to save and access histories of files. Git is great for tracking & testing multiple versions of code and for collaborative coding.
