# UConn NumPy tutorial development ## Prof. Ryan C. Cooper This semester we are developing Jupyter notebooks for the [NumPy tutorials repository](https://github.com/numpy/numpy-tutorials.git). We are going to use a few tools to build tutorials, share code, and review code: ## Building tutorials __Python, Jupyter, and the SciPy stack__: You can install Python and NumPy with the [miniconda installer](https://docs.conda.io/en/latest/miniconda.html). Once its installed, you can run use the conda terminal to install NumPy, Jupyter, SciPy, and Matplotlib `$ conda install numpy jupyterlab scipy matplotlib` If you're new to NumPy, get started with the [Absolute Beginner's Tutorial to NumPy](https://numpy.org/devdocs/user/absolute_beginners.html). In your conda terminal, run `$ jupyter-lab` to get Jupyter running in a web browser (I prefer Firefox or Chrome). Now, you can run some Python commands and make some progress. ## Sharing code __GitHub and Git__: NumPy is a free open source software. The code is updated using a version control software called [git](https://git-scm.com/downloads). NumPy is shared and reviewed by a worldwide community of developers on the website <www.github.com>. You can download, share, and suggest changes to software using git and GitHub. Start by installing [git](https://git-scm.com/downloads), then use a terminal to clone this repository $ git clone https://github.com/cooperrc/uconn_numpy_tutorials Once you have run this command, you now have a copy of this repository on your computer. Try opening the practice_notebook.ipynb in the notebooks folder and running the commands. You can play around with the inputs and even write your own code. ## Reviewing code __GitHub Pull Requests__: We will get code reviewed by creating a pull request (PR) on an existing GitHub repository. Practice creating a PR with these steps: 1. Create a [fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) of the repository [uconn_numpy_tutorials](https://github.com/cooperrc/uconn_numpy_tutorials) 2. Clone your fork to your computer with the `git clone ...` 3. Create a new "remote" for the upstream repo with the command `git remote add upstream https://github.com/cooperrc/uconn_numpy_tutorials` 4. Use the `git` command to create a "branch" called my-notebook `git branch my-notebook` 5. Use the `git` command to "checkout the branch" `git checkout my-notebook` 6. Create your own Jupyter notebook in the notebooks folder, use your username to make it unique e.g. I would name the notebook, cooperrc_notebook.ipynb a. In your notebook include a NumPy example that you think is interesting b. Save your work and close the notebook 7. Use the `git` command to (i) add your file, (ii) commit your work, and (iii) push your changes to your fork i. `git add notebooks/cooperrc_notebook.ipynb` ii. `git commit -m "my first branch commit for my notebook"` iii. `git push -u origin my-notebook` 8. Now, you can [create a PR](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request#creating-the-pull-request) with this repository and I will merge your work. __Bonus:__ [contributing to your first open source project](https://towardsdatascience.com/getting-started-with-git-and-github-6fcd0f2d4ac6)