What customers say ...
Good course. Very fast progress without any prior Python knowledge.
Daniel Fuchs, GIGATRONIK Ingolstadt GmbH,
about the German version of the course "Python for Programmers"
more ...
Very nice course, got many useful suggestions.
Dr.-Ing. Ralf Wieland, Institut für Landschaftssystemanalyse,
Leibniz-Zentrum für Agrarlandschaftsforschung e.V.
about the German version of the course "Python for Scientists and Engineers"
more ...
Mike is an outstanding teacher ... I will look for his classes in the future.
Jannifer Trasti, Software/Systems Engineer, Sandia National Laboratories, Albuquerque, NM, USA
more ...
The Python Summer Course was a very good opportunity to know almost all
about Python. ... Highly recommended!!
Fabio Lamanna, Ph.D. Complex Transportation Networks, Trieste, Italy
more ...
We had a wide range of Python experience in our group and each person gained
something valuable to take away....
Dr. Ryan Woodard, Chair of Entrepreneurial Risks, ETH Zurich, Switzerland
more ...
I can absolutely recommend this course to everybody who wants become productive
with Python very quickly. ...
Dr. med. Beat Meister, Bern, Switzerland
more ...
The standard Python for programmers and the customized "Python for Experts"
course where a great success. ...
Bart Hillaert, Alcatel-Lucent Belgium
more ...
[The trainer] knows well what scientists need, so his hints are very practical
and valuable. The hands-on course [..] covers a wide range of
examples and will be very helpful in my daily work. ...
Dorota Jarecka, University of Warsaw about the course
"Python for Scientists and Engineers"
more ...
The course "Python for Scientists and Engineers" is a very useful
introduction to Python programming for scientific applications ...
Dr Mihai Duta, Oxford Supercomputing Centre
more ...
Very good introduction to the programming language.
Matthias Enderle, freelancer programmer
more ...
The Python Academy is sponsor of PyCon US 2012.
Module - Threads and Processes in Python
Motivation
Threads allow the simultaneous execution of several program paths. This opens new possibilities for program development. On the other hand, programs become more complex. Python uses the native thread implementation of the operating system and offers a unified API therefore offers platform-impendent threaded programming.
Course content
Thread Basics
The possibilities for threads in Python are shown. An examples is used to demonstrate how the module threading works.
GIL
Python has a so called General Interpreter Lock (GIL) that prevents several threads to run in real parallel on multi-CPU hardware. The implications of the GIL on programming are covered.
Thread Synchronization
Synchronization of threads is a important part of thread programming. Random manipulations of data has to be avoided when two threads access the same data at the same time. To achieve this data need to be locked by one thread providing exclusive access for this period of time.
Examples are used to explain the principles of locking. Special focus is put on so called dead-lock situations where threads block each other from executing and bring the program to a halt.
Processes
Python provides several ways to launch and access external processes. These ways are introduced with examples.
Combination of Threads and Processes
The combination of threads and processes allows to run programs in parallel using the advantages of multi-processor machines possibily gaining speedups. An example is used to demonstrate the effect of such combinations.
Module Duration
0.5 days
Exercises
The participants can follow all steps directly on their computers. There are exercises at the end of each unit providing ample opportunity to apply the freshly learned knowledge.
Course Material
Every participant receives comprehensive printed materials that cover the whole course content as wells as a CD with all source codes and used software.
Recommended Module Combinations
The module Network Programming with Python covers supplementary topics.
The course may be combined with the course Python for Nonprogrammers or Python for Programmers.
News
Python Academy founder receives PSF Community Service Award
details ...
Course: "Python for Programmers" (English) in Leipzig February 6 - 8, 2012
details ...
Course: "SQLAlchemy" (English) in Leipzig February 9, 2012
details ...
Course: "Camelot" (English) in Leipzig February 10, 2012
details ...
Next Meeting of Leipzig Python User Group, February 14, 2012
details ...
Course: "Python for Scientists and Engineers" (English) in Chicago (USA) February 28 - March 2, 2012
details ...
Tutorial: "Faster Python Programs through Optimization" (English) in Santa Clara (USA) March 7 at PyCon US 2012
details ...
Tutorial: "Plotting with matplotlib" (English) in Santa Clara (USA) March 8 at PyCon US 2012
details ...
Presentation: "Python and HDF5 - Fast Storage for Large Data" (Englisch) in Santa Clara (USA) March 10 at PyCon US 2012
details ...
Course: "Python für Programmierer" (German) in Leipzig April 16 - 18, 2012
details ...
Course: "Python für Wissenschaftler und Ingenieure" (German) in Leipzig April 19 - 21, 2012
details ...
Course: "Einstieg in Django" (German) in Leipzig April 23 - 25, 2012
details ...
Course: "Django für Fortgeschrittene" (German) in Leipzig April 26 - 27, 2012
details ...