Skip to content

ianabc/m2pi2021

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Math^Industry 2021 Python & Jupyter Notes

This repository contains notes for the Python course of the 2021 edition of Math^industry. This workshop takes place from August 3rd-27th, 2021 and pairs graduate students with industry and academic mentors to tackle real problems from industry. The Python course for m2pi is meant to provide students with a baseline of programming knowledge to help them tackle their assigned industry problems.

Before the Workshop

Prior to the taught material on Jupyter/Python, we would like you to self assess your skill level in Python and brush up your skills if necessary. Python is a very user friendly and is quite easy to learn. The python documentation has lots of links to learning resources; if you have no programming experience, this list should help you find some suitable tutorials, if you have some programming experience in another language, this list should help you find some useful tutorials. Here are a few examples from those lists

Some of these resources will let you run python snippets as part of the tutorial and you may also access a dedicated JupyterHub environment we have provided for the workshop at https://m2pi.syzygy.ca which will let you run python in your browser. You can also access google collab with a google account which will persist after the workshop and can let you work collaboratively with other people. If you prefer to install things locally, miniconda or anaconda is probably the best way to do that.

Your goals when working through the python tutorials should be to understand...

  • Basic python syntax such as keywords, variables, types etc.
  • Loops (for & while) and conditionals (if, elif, else)
  • Functions: what the def keyword does. How to specify positional and keyword arguments to functions and how to provide default values for them.
  • Modules: What they are and how to find good ones!
  • Classes, understanding how to define a basic class, what methods and attributes are and how to use inheritance/subclassing.

For the last two points, you don't have to master every little corner of the language, but you should be familiar with the basic terminology and ideas. For example, you might not need to write your own classes, but you might need to know how to create a subclass to customize a method in someone else's work.

In this session we'll go over some of the points above to see if there are any sticking points.

In this session we will review some basic programming problems and solve them using python.

Matt's Colab Notebooks

In this course we will build on your knowledge of Python to sharpen your skills for data manipulation and analysis. We will use libraries such as pandas, numpy and matplotlib to ingest, tidy and explore real world datasets and extract insights from them. We will leverage the Jupyter notebook interface to help us work with public APIs, combine multiple datasets and perform exploratory analysis. At the end of the course you should feel comfortable working with unfamiliar datasets, spotting common data errors and using visualizations to understand your data and plan more detailed analysis.

In this session, we will build on the content of the python/jupyter course as well as the first problem session and explore some more complex problems which include external data sources.

Matt's Colab Notebooks

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published