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
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.