Skip to content

Commit e268f68

Browse files
committed
Update README and syllabus
1 parent 9c8a396 commit e268f68

File tree

4 files changed

+337
-1
lines changed

4 files changed

+337
-1
lines changed

README.md

+61-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,62 @@
11
# DS3_Introduction_Python
2-
Materials for DS3 'Introduction to Python' 1-day workshop
2+
3+
Materials for 1-day workshop DS3 [Introduction to Python](https://ds3.ai/2022/python.html) workshop
4+
5+
## Structure
6+
7+
- `./data` - Data files used in the workshop
8+
- `./exercises` - Jupyter Notebooks with class exercises
9+
- `./lectures` - Lecture materials (as Jupyter Notebooks and compiled PDF/HTML files)
10+
- `./syllabus` - Copy of workshop syllabus
11+
12+
## Schedule
13+
14+
| Date | Time (CEST) | Topic |
15+
|:--------|:--------------|:-------------------------------------------------|
16+
| 27 July | 15:00-16:45 | Introduction to Python objects and data types |
17+
| | 16:45-17:00 | Exercise I |
18+
| | 17:00-17:15 | Break |
19+
| | 17:15-18:00 | Introduction to Pandas |
20+
| | 18:00-19:00 | Exploratory data analysis and data visualization |
21+
| | 19:00-19:15 | Exercise II |
22+
23+
## Jupyter Notebook Installation
24+
25+
- For this workshop I recommend using one of the 2 online platforms for working with Jupyter Noteboks:
26+
- [Google Colab](https://colab.research.google.com/notebooks/intro.ipynb), a cloud platform for hosting Jupyter Notebooks. You need to have a Google account, but it does not require any local installations.
27+
- [Kaggle Code](https://www.kaggle.com/code), a platform for sharing and exploring data-science-focussed Jupyter Notebooks. Although technically owned by Google, you can register just for Kaggle website.
28+
- If you would prefer to install Jupyter Notebook on your local machine, there are two main ways to do this: [pip](https://jupyter.readthedocs.io/en/latest/install/notebook-classic.html#alternative-for-experienced-python-users-installing-jupyter-with-pip) and [conda](https://jupyter.readthedocs.io/en/latest/install/notebook-classic.html#installing-jupyter-using-anaconda-and-conda). Unless you have prior experience with Python, I recommend installing [Anaconda](https://www.anaconda.com/products/individual) distribution, which contains all the packages required for this course.
29+
30+
## Additional Materials
31+
32+
There are many great online resources and published books on programming in Python. Some of them also provide a good coverage of using Python for data analysis. Here are some pointers to start from:
33+
34+
Books:
35+
36+
- Guttag, John. 2021 *Introduction to Computation and Programming Using Python: With Application to Computational Modeling and Understanding Data*. 3rd ed. Cambridge, MA: The MIT Press
37+
38+
- McKinney, Wes. 2017. *Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython*. 2nd ed. Sebastopol, CA: O'Reilly Media
39+
40+
- Sweigart, Al. 2019. *Automate the Boring Stuff with Python*. 2nd ed. San Francisco, CA: No
41+
Starch Press
42+
43+
Online:
44+
45+
- [Python For You and Me](https://pymbook.readthedocs.io/en/latest/)
46+
47+
- [Python Wikibook](https://en.wikibooks.org/wiki/Python_Programming)
48+
49+
- [Python 3 Documentation](https://docs.python.org/3/) (intermediate and advanced)
50+
51+
---
52+
53+
## License
54+
55+
This work is licensed under a
56+
[Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License][cc-by-nc-sa].
57+
58+
[![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa]
59+
60+
[cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/
61+
[cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png
62+
[cc-by-nc-sa-shield]: https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg

requirements.in

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
jupyter
2+
pandas
3+
plotnine
4+
statsmodels

requirements.txt

+272
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,272 @@
1+
#
2+
# This file is autogenerated by pip-compile with python 3.8
3+
# To update, run:
4+
#
5+
# pip-compile
6+
#
7+
argon2-cffi==21.3.0
8+
# via notebook
9+
argon2-cffi-bindings==21.2.0
10+
# via argon2-cffi
11+
asttokens==2.0.5
12+
# via stack-data
13+
attrs==21.4.0
14+
# via jsonschema
15+
backcall==0.2.0
16+
# via ipython
17+
beautifulsoup4==4.11.1
18+
# via nbconvert
19+
bleach==5.0.1
20+
# via nbconvert
21+
cffi==1.15.1
22+
# via argon2-cffi-bindings
23+
cycler==0.11.0
24+
# via matplotlib
25+
debugpy==1.6.2
26+
# via ipykernel
27+
decorator==5.1.1
28+
# via ipython
29+
defusedxml==0.7.1
30+
# via nbconvert
31+
entrypoints==0.4
32+
# via
33+
# jupyter-client
34+
# nbconvert
35+
executing==0.9.1
36+
# via stack-data
37+
fastjsonschema==2.16.1
38+
# via nbformat
39+
fonttools==4.34.4
40+
# via matplotlib
41+
importlib-resources==5.9.0
42+
# via jsonschema
43+
ipykernel==6.15.1
44+
# via
45+
# ipywidgets
46+
# jupyter
47+
# jupyter-console
48+
# notebook
49+
# qtconsole
50+
ipython==8.4.0
51+
# via
52+
# ipykernel
53+
# ipywidgets
54+
# jupyter-console
55+
ipython-genutils==0.2.0
56+
# via
57+
# ipywidgets
58+
# notebook
59+
# qtconsole
60+
ipywidgets==7.7.1
61+
# via jupyter
62+
jedi==0.18.1
63+
# via ipython
64+
jinja2==3.1.2
65+
# via
66+
# nbconvert
67+
# notebook
68+
jsonschema==4.7.2
69+
# via nbformat
70+
jupyter==1.0.0
71+
# via -r requirements.in
72+
jupyter-client==7.3.4
73+
# via
74+
# ipykernel
75+
# jupyter-console
76+
# nbclient
77+
# notebook
78+
# qtconsole
79+
jupyter-console==6.4.4
80+
# via jupyter
81+
jupyter-core==4.11.1
82+
# via
83+
# jupyter-client
84+
# nbconvert
85+
# nbformat
86+
# notebook
87+
# qtconsole
88+
jupyterlab-pygments==0.2.2
89+
# via nbconvert
90+
jupyterlab-widgets==1.1.1
91+
# via ipywidgets
92+
kiwisolver==1.4.4
93+
# via matplotlib
94+
markupsafe==2.1.1
95+
# via
96+
# jinja2
97+
# nbconvert
98+
matplotlib==3.5.2
99+
# via
100+
# mizani
101+
# plotnine
102+
matplotlib-inline==0.1.3
103+
# via
104+
# ipykernel
105+
# ipython
106+
mistune==0.8.4
107+
# via nbconvert
108+
mizani==0.7.4
109+
# via plotnine
110+
nbclient==0.6.6
111+
# via nbconvert
112+
nbconvert==6.5.0
113+
# via
114+
# jupyter
115+
# notebook
116+
nbformat==5.4.0
117+
# via
118+
# nbclient
119+
# nbconvert
120+
# notebook
121+
nest-asyncio==1.5.5
122+
# via
123+
# ipykernel
124+
# jupyter-client
125+
# nbclient
126+
# notebook
127+
notebook==6.4.12
128+
# via
129+
# jupyter
130+
# widgetsnbextension
131+
numpy==1.23.1
132+
# via
133+
# matplotlib
134+
# mizani
135+
# pandas
136+
# patsy
137+
# plotnine
138+
# scipy
139+
# statsmodels
140+
packaging==21.3
141+
# via
142+
# ipykernel
143+
# matplotlib
144+
# nbconvert
145+
# qtpy
146+
# statsmodels
147+
palettable==3.3.0
148+
# via mizani
149+
pandas==1.4.3
150+
# via
151+
# -r requirements.in
152+
# mizani
153+
# plotnine
154+
# statsmodels
155+
pandocfilters==1.5.0
156+
# via nbconvert
157+
parso==0.8.3
158+
# via jedi
159+
patsy==0.5.2
160+
# via
161+
# plotnine
162+
# statsmodels
163+
pexpect==4.8.0
164+
# via ipython
165+
pickleshare==0.7.5
166+
# via ipython
167+
pillow==9.2.0
168+
# via matplotlib
169+
plotnine==0.9.0
170+
# via -r requirements.in
171+
prometheus-client==0.14.1
172+
# via notebook
173+
prompt-toolkit==3.0.30
174+
# via
175+
# ipython
176+
# jupyter-console
177+
psutil==5.9.1
178+
# via ipykernel
179+
ptyprocess==0.7.0
180+
# via
181+
# pexpect
182+
# terminado
183+
pure-eval==0.2.2
184+
# via stack-data
185+
pycparser==2.21
186+
# via cffi
187+
pygments==2.12.0
188+
# via
189+
# ipython
190+
# jupyter-console
191+
# nbconvert
192+
# qtconsole
193+
pyparsing==3.0.9
194+
# via
195+
# matplotlib
196+
# packaging
197+
pyrsistent==0.18.1
198+
# via jsonschema
199+
python-dateutil==2.8.2
200+
# via
201+
# jupyter-client
202+
# matplotlib
203+
# pandas
204+
pytz==2022.1
205+
# via pandas
206+
pyzmq==23.2.0
207+
# via
208+
# ipykernel
209+
# jupyter-client
210+
# notebook
211+
# qtconsole
212+
qtconsole==5.3.1
213+
# via jupyter
214+
qtpy==2.1.0
215+
# via qtconsole
216+
scipy==1.8.1
217+
# via
218+
# mizani
219+
# plotnine
220+
# statsmodels
221+
send2trash==1.8.0
222+
# via notebook
223+
six==1.16.0
224+
# via
225+
# asttokens
226+
# bleach
227+
# patsy
228+
# python-dateutil
229+
soupsieve==2.3.2.post1
230+
# via beautifulsoup4
231+
stack-data==0.3.0
232+
# via ipython
233+
statsmodels==0.13.2
234+
# via
235+
# -r requirements.in
236+
# plotnine
237+
terminado==0.15.0
238+
# via notebook
239+
tinycss2==1.1.1
240+
# via nbconvert
241+
tornado==6.2
242+
# via
243+
# ipykernel
244+
# jupyter-client
245+
# notebook
246+
# terminado
247+
traitlets==5.3.0
248+
# via
249+
# ipykernel
250+
# ipython
251+
# ipywidgets
252+
# jupyter-client
253+
# jupyter-core
254+
# matplotlib-inline
255+
# nbclient
256+
# nbconvert
257+
# nbformat
258+
# notebook
259+
# qtconsole
260+
wcwidth==0.2.5
261+
# via prompt-toolkit
262+
webencodings==0.5.1
263+
# via
264+
# bleach
265+
# tinycss2
266+
widgetsnbextension==3.6.1
267+
# via ipywidgets
268+
zipp==3.8.1
269+
# via importlib-resources
270+
271+
# The following packages are considered to be unsafe in a requirements file:
272+
# setuptools
113 KB
Binary file not shown.

0 commit comments

Comments
 (0)