Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
AnnaSapienza authored Aug 22, 2021
1 parent 573ac77 commit 67ca5b0
Showing 1 changed file with 139 additions and 0 deletions.
139 changes: 139 additions & 0 deletions lectures/PythonBootcamp.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Introduction to Python & Jupyter Notebooks\n",
"\n",
"In this class, we will rely on Python as our main tool for data science. We will be running in Python in Jupyter Notebooks. Most of you are at home in Python, and will only have to spend a few moments here. I have planned for three scenarios\n",
"\n",
"1. **You don't know anything about Python, only have a bit of experience**. Then read this whole thing carefully and follow the advice in Part 3 carefully.\n",
"2. **You have a bit of experience with Python, but feel like you need a refresher**. Then go through this notebook, chill a bit with the video, and make sure that you can do everything asked of you in the exercises at the end of Part 2. Then you're good to go.\n",
"3. **You're a pretty good python user and used to working with Jupiter Notebooks**. Then safely skip the whole thing."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Part 1: Installing Python\n",
"\n",
"Now it's time to install Python. \n",
"\n",
"* We recommend you use the _Anaconda distribution_ of Python. You can download it [**here**](https://www.anaconda.com/distribution/).\n",
"* Once Anaconda is installed, you start up the notebook system by typing `jupyter notebook` in your terminal, and the system should be ready to use in your favorite browser. \n",
"* Be sure to check the keyboards shortcuts under the heading of \"Help\" where you will find for instance shortcut to code-completion (Tab) and tooltip with documentation (Shift-Tab) which will save you a ton of time. \n",
"\n",
"Part 3 will teach you how to use the Jupyter Notebook. Note that if you want to use another Python distribution, that's fine, but we cannot promise to help you with anything other than Anaconda. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Part 2: Simple Python exercises\n",
"\n",
"> **_Video lecture_**: If you'd like an intro to Jupyter Notebooks and iPython, there's one below. I talk a bit about why we use Python, demo MarkDown, and provide a few tips & tricks. If you already known Python and Jupyter Notebooks, this video lecture is safe to skip."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/jpeg": "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\n",
"text/html": [
"\n",
" <iframe\n",
" width=\"600\"\n",
" height=\"337.5\"\n",
" src=\"https://www.youtube.com/embed/H9YrBVIcXS4\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" ></iframe>\n",
" "
],
"text/plain": [
"<IPython.lib.display.YouTubeVideo at 0x1120671d0>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from IPython.display import YouTubeVideo\n",
"YouTubeVideo(\"H9YrBVIcXS4\",width=600, height=337.5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Video notes:\n",
"\n",
" * Scipy (https://www.scipy.org)\n",
" * NetworkX Homepage (https://networkx.github.io)\n",
" * XKCD (https://xkcd.com/353/). About trying Python for the first time.\n",
" * Anaconda (https://www.anaconda.com/distribution/).\n",
" * Markdown (https://daringfireball.net/projects/markdown/syntax and https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)\n",
" * Stack Overflow (Don't search stack overflow. Google your problem and the stack overflow is usually the right link)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"> _Exercises_\n",
"> \n",
"> * Download the IPython file that I've prepared for you and save it somewhere where you can find it again. The link is [**here**](https://raw.githubusercontent.com/SocialComplexityLab/socialgraphs2021/main/files/Training_notebook.ipynb). (**Hint**: Be careful not to save this in _.txt_ format - make sure the extension is _.ipynb_.)\n",
"> * Work through exercise 1-9 in the file, solving the simple Python exercises in there. Also use this as a chance to become familiar with how the IPython notebook works. (And a little bit of `json`). "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Part 3: A warning\n",
"\n",
"### STOP: Super important notice\n",
"\n",
"Now that you've completed working through the IPython notebook, it's time for the moment of truth! If you had great difficulty with the Python coding itself, you're going to be in trouble. Everything we do going forward in this class will depend on you being comfortable with Python. There is simply **no way** that you will be able to do well, if you're also struggling with Python on top of everything else you'll be learning.\n",
"\n",
"**So if you're not 100% comfortable with Python, I recommend you stop right now, and follow a tutorial to teach you Python, for example [this one](https://www.learnpython.org), before proceeding**. This might seem tough, but the ability to program is a prerequisite for this class, and if you know how to program, you should be able to handle the Python questions above.`"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}

0 comments on commit 67ca5b0

Please sign in to comment.