Skip to content

xoolive/pyclass

Repository files navigation

title layout permalink
Advanced and scientific Python
default
/

Introduction

This page lists a number of materials available for Python classes and seminars. Depending on the overall programme of the course, you may be asked to look at some of those pages in a different order.

Regardless the course you subscribed, the objective is always:

  • to practice and learn more about Python: you should know more about Python after the class
    (Keep in mind that "more" has a different meaning for everybody);
  • to be able to run all the examples from your own computer.

A first experience in programming is preferable. This course does not focus on basics of programming (conditions, loops, functions). Basic structures are just a quick reminder.

Requirements

  • Bring your own computer (or try to borrow one if you don't have any)
  • Set up your environment before the class 🏠

Resources

Set up your environment
🏠 Set up a basic running environment
Set up an environment following a requirement file
(optional) Understand the difference between pip and conda
Basic Python
Basic data structures
Basic programming
Basic algorithms (expected)
Advanced data structures
Scientific Python
Numpy exercices
Matplotlib exercices
Pandas exercices
(optional) Grammar of graphics
Objects, interfaces, protocols
List comprehensions
Iteration with pandas
Object-oriented programming
The iteration protocol in classes
Advanced topics
Modules and packages (expected)
(optional) Asynchronous programming
Speed up your code (expected)
Building on a C API (expected)
Applied problems
Compute the radius of Earth
Exploring map projections
Solving puzzles
Trajectography of the ISS
Satellite visualization
Data visualization of collected ADS-B signals

Disclaimer

Participants to classes are all considered adults. Enough material is provided to get proficient quickly and ask questions when needed. Obviously, the more assiduous you are, the better, and learning practices best suiting you are in your hands. In particular, it is perfectly acceptable:

  • to peak into the solutions when you are stuck, or to read them thoroughly;
  • to skip sections when it becomes overwhelming, or boring;
  • to extend problems, find new issues and discuss them with your teacher assistant;
  • to find issues in the provided materials;
  • to fix them, see how to create a pull request.

References

Programmation Python avancée

Some of the materials offered here is directly taken from the book
Programmation Python avancée.

The book (in French) is neither required nor really necessary for the seminar; it however brings a lot of advanced complementary materials for the curious reader.