Remote Self Study Python - Group 3
Daniel Wheeler
What is Software Carpentry?
- Teach computer skills for research tasks
- "get more done in less time with less pain"
- Since 1998
- 500 workshops, 16000 learners, 450 instructors
- Volunteer organization
Why is this useful?
- Improve productivity
- Fundamental tools (command line / programming language / version control)
-
Otherwise difficult to learn
-
Testimonials: https://software-carpentry.org/testimonials/
How does this work?
- Software (Jupyter, Text Editor + command line,
- I'm assuming you have no experience with Python (if I teach)
- Please ask me to slow down in the chat interface
- Just 1 hour today and then 2 x 1 hour subsequent meets
- Is everyone on the Slack channel?
- Pre-workshop survey: https://bit.ly/2zmWZFz
- I'm signed in twice in case my computer crashes
- You'll need a view of the presentation in Google Meet and a view of your python environment (two windows)
Code of Conduct
- Comfortable and enjoyable environment to learn
Etherpad
- Please add your name, choose a color
- Include why you want to learn Python?
- Etherpad: https://bit.ly/2xPC8dj
- Please chat in the Etherpad (Google Meet chat is not persistent)
Questions?
Setup
- https://pages.nist.gov/2020-04-10-nist-python/
- Ensure you have Jupyter installed (it will help)
- Does everyone have a Python environment?
- print("hello world")
- What version of Python?
- import numpy
- Please contact me in Slack afterwards to work through any setup issues
Using Jupyter (notebook or lab)
Why learn Python?
-
It's a programming language - doesn't matter
-
Alternatives: Matlab, Mathematica, Perl, Ruby, Julia
-
Widely used in science
-
Widely used outside of science (web platforms, data science)
-
Number 3 on TIOBE index (Java, C, Python), https://www.tiobe.com/tiobe-index/
-
What else: huge active community, many scientific libraries, high level, open
-
Some drawbacks (types, reproducibility)
Study Material
-
SWC, heavily Pandas based
-
http://swcarpentry.github.io/python-novice-gapminder/
-
-
Python like you mean it
-
https://www.pythonlikeyoumeanit.com/module_2.html
-
-
Automate the boring stuff
-
https://automatetheboringstuff.com/
-
-
Any other ideas? Other books, learning materials?
-
Would you like me to teach this with live coding?
-
1. Self study only
-
2. Self study + live coding from select parts
-
3. Turn into workshop with all live coding
-
Homework
- Find a problem in Python that you have an issue with as you work through the material
- Either show that you now understand it or ask for help in the meeting
- Homework for next week
- Show the code and talk through it a little bit
- Example
- How do I merge two dictionaries?
- How do I reindex a dataframe in Pandas?
- How do I even read my data into Pandas or a Numpy array?
Remote-Python-Self-Study
By Daniel Wheeler
Remote-Python-Self-Study
- 549