Python has become one of the most popular general purpose programming languages over the last decade. Regardless of your interests in programming, Python is a great choice. The language is used at scale to power everything from from web applications to bioinformatics.
This repository is designed to cover slightly more than just the basics of using Python to write programs. It leans slightly towards the use of Python for statistical analysis, but covers the fundamentals fairly rigorously, including:
- Basic Python syntax rules
- Data types
- Control flow and looping
- Functions
- Classes
Additionally, some topics for data analysis are covered:
- Pandas for EDA
- Parsing text files (e.g. logs)
- ETL
Some notably missing topics that are worth studying after completion of this workshop:
- Scope
- "Pass by Reference" vs "Pass by Value"
-
Install the latest version of Python via Anaconda
- https://www.anaconda.com/products/individual
- Anaconda comes packages with some libraries (pandas, matplotlib, numpy, jupyter notebooks) which are used in some sections of this workshop.
-
Install an IDE or good text editor.
- Visual Studio Code is a good starting point if you don't already have a preference.
- https://code.visualstudio.com/
- Install the python extension if you go this route https://marketplace.visualstudio.com/items?itemName=ms-python.python
- The suggested order of the material is clearly denoted in the filenames.
- The general flow is for these materials is:
- Demonstration
- Exercise
- Review the solution
- Repeat
- Many of the exercises assume work in small groups, particularly in the first module where the exercises are discussion oriented.
- The demonstration sections are written with knowledgeable instructors in mind, and might not contain all the information you'd need to complete an exercise.
- Consider doing additional research, there are many Python tutorials out there!
- I especially love the ones by Real Python
- Free Code Camp also has a lot of great Python tutorails.
- Get help from a friend, social network, or elsewhere (Teb's Lab contract information is on our website...).
- Try to look at the solutions only as a last resort.
- Consider doing additional research, there are many Python tutorials out there!
All of the material in this repository is dedicated to the public domain. See the LICENSE
file for more details.
These materials were created by Teb's Lab. We maintain several open source curriculum repositories, all with public domain dedications. Browse our repos on Github, or our website or click here to arrange a training from Teb's Lab.