Wagyx / Scipy-Bordeaux-2016

Course taught at the University of Bordeaux in the academic year 2015/16 for PhD students.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Scientific Python course new title

Lecture notes from the course taught at the University of Bordeaux in the academic year 2015/16 for PhD students.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Each student needs to come with a notebook computer running either Linux, OSX or Windows.

Adapted from https://xkcd.com/353/

|

The scientific Python ecosystem is made of several modules that constitute together the scientific stack. There are hundreds of Python scientific packages and most of them are built on top of numpy, scipy, matplotib, pandas, cython and/or sympy. We won't cover everything in this short course, but you should get enough information to decide if your research can benefit from Python. And I bet it will likely do.

Also, make sure to have a look at the awesome python, a curated list of Python frameworks, libraries and software.

|

This course is mostly based on the teaching material kindly provided by:

|

Beginner course

Day 1 Monday, March 14, 2016 Day 2 Tuesday, March 15, 2016
09:00 Installation & Welcome ––––––––
09:15 Introduction (part 1) 09:00 Computation I (part 1)
10:30 Coffee break 10:30 Coffee break & questions
10:45 Introduction (part 2) 10:45 Computation I (part 2)
12:00 Lunch break 12:00 Lunch break
14:00 Programming (part 1) 14:00 Visualization I (part 1)
15:30 Coffee break & questions 15:30 Coffee break & questions
15:45 Programming (part 2) 15:45 Visualization I (part 2)
17:00 Wrap-up 17:00 Wrap-up

|

Introduction to Python

This gentle introduction to Python explains how to install Python and introduces some very simple concepts related to numerical expressions and other data types.

Programming with Python

Scipy Lecture Notes. This lecture does not attempt to be comprehensive and cover every single feature, or even every commonly used feature. Instead, it introduces many of Python's most noteworthy features, and will give you a good idea of the language’s flavor and style.

Scientific computation I

Scipy Lecture Notes. The primary goal of this lesson is to introduce the numpy (numerical python) module which is de facto the standard module for numerical computing with Python. It is essential for you to become familiar with this module since it will be used everywhere in the next lessons.

See also:

Scientific visualization I

This tutorial gives an overview of Matplotlib, the core tool for 2D & 2.5D plotting that produces publication quality figures as well as interactive environments across platforms.

See also:

|

Advanced course

Day 1 Thursday, March 16, 2016 Day 2 Friday, March 17, 2016
09:00 Computation II (part 1) –––––––– 09:00 C/Python integration (part 1)
10:30 Coffee break & questions 10:30 Coffee break & questions
10:45 Computation II (part 2) 10:45 C/Python integration (part 2)
12:00 Lunch break 12:00 Lunch break
14:00 Version control (part 1) 14:00 Visualization II (part 1)
15:30 Coffee break & questions 15:30 Coffee break & questions
15:45 Version control (part 2) 15:45 Visualization II (part 2)
17:00 Wrap-up 17:00 Wrap-up

|

Scientific computation II

Scipy Lecture Notes. This lesson introduces the scipy package that contains various toolboxes dedicated to common issues in scientific computing. Its different submodules correspond to different applications, such as interpolation, integration, optimization, image processing, statistics, special functions, etc.

See also:

Version control

Software Carpentry. This lesson introduces version control using git. Version control is the lab notebook of the digital world: it's what professionals use to keep track of what they’ve done and to collaborate with other people. And it isn't just for software: books, papers, small data sets, and anything that changes over time or needs to be shared can and should be stored in a version control system.

See also:

C/Python integration

Scipy Lecture Notes. This chapter contains an introduction to the many different routes for making your native code (primarily C/C++) available from Python, a process commonly referred to wrapping. The goal of this chapter is to give you a flavour of what technologies exist and what their respective merits and shortcomings are, so that you can select the appropriate one for your specific needs.

Scientific visualization II

This lesson introduces the (modern) OpenGL API through the use of glumpy which a python library for scientific visualization that is both fast, scalable and beautiful. Glumpy offers an intuitive interface between numpy and modern OpenGL.

|


|

About

Course taught at the University of Bordeaux in the academic year 2015/16 for PhD students.