Roshanmahes / Python-for-Teachers

In this course, teachers with different experiences in programming get an overview of the most relevant packages and tools available for Python, and learn how they can be applied in teaching and research.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Python for Teachers

MIT JupyterLab Binder

In this course, teachers with different experiences in programming get an overview of the most relevant packages and tools available for Python, and learn how they can be applied in teaching and research. This is a flexible course. We offer weekly lectures and Q&A-sessions, but we expect you to formulate your own goals. We do not offer a full blown Python-course. We just try to offer motivation and guide you through the (advanced) material which is available online.

A few suggestions for the personal goals for this course: they can be educational (to create Python-examples for your classes) or they be research-oriented. Goals can also be recreational or can be motivated by the news (corona). A list of mathematically oriented programming challenges can be found in the Euler Project.

Teachers

The teacher of this course is Roshan Mahes, master student of the master Mathematics. At the moment, Roshan is writing his master thesis. His adviser is Michel Mandjes. Roshan has lots of experience in programming in Python. For his thesis, he is doing some Python programming using Jupyter. Futhermore, Roshan is also assistant for the course Inleiding Programmeren voor Wiskundigen in the bachelors.

Organiser of this course is Chris Zaal. He has programming experience in Unix, Perl, PHP, Python and Mathematica (he has been teaching Computeralgebra/LaTeX with André Heck). His knowledge of Python dates from more than eight years ago (Python 2 with IDLE), so he has to start again. His motivation to organise this course is that Python will be the standard programming language in the BSc Mathematics and for this we want teachers to use Python in their classes.

This is an 8-week course. We'll have weekly meetings every Friday, from 11-13 hours via Zoom. In the first hour of this meeting, our teacher Roshan Mahes gives a tutorial about one or two Python libraries through a Jupyter notebook. In the second hour, there will be a Q&A-session with Chris Zaal and the participants will present the projects they are working on.

Installation

Instead of downloading Python directly from python.org, we choose to download Anaconda. Anaconda offers a Python installation and a lot of packages and software. It also gives us a second way to install new Python packages. We recommend adding Python to PATH during the installation, as Python will be recognized in both your editor and the command line interpreter (the shell).

We will work with the integrated development environment (IDE) Jupyter. It uses a webbrowser. Its interface is more of less similar to Wolfram Mathematica, with cells for programming and cells for writing text. We propose to use Jupyter, as it is the ideal environment to present examples and exercises to your students (via Jupyter notebooks). Other IDEs (Spyder, Visual Studio) or editors (Atom, PyCharm) are available. There are also several websites which offer Python online.

Schedule

The schedule is as follows:

  1. Scientific Computing: numpy & scipy
  2. Data Analysis: pandas & scikit-learn
  3. Data Visualization: matplotlib & plotly
  4. Symbolic Computation: sympy
  5. Statistical Modeling: seaborn & statsmodels
  6. Deep Learning: tensorflow & keras
  7. Number Theory & Algebra: sage

If requested, we are willing to extend these topics or include new topics, e.g. Web development: dash, django, flask.

About

In this course, teachers with different experiences in programming get an overview of the most relevant packages and tools available for Python, and learn how they can be applied in teaching and research.

License:MIT License


Languages

Language:Jupyter Notebook 99.9%Language:Python 0.1%Language:R 0.0%