[socal-piggies] Python Class in LA/El Segundo

Grig Gheorghiu grig.gheorghiu at gmail.com
Mon Apr 9 12:20:44 PDT 2012


Hello everybody, please see this announcement for a Python training
class organized by Enthought. Please reply to Majken (cc-ed) directly
if you are interested.

============================================================================================================================


Our Intensive Python Training Courses provide a competitively-priced
option for individual scientists or developers seeking to learn more
about the use of Python for scientific computing. They are held at
various locations worldwide, and can also be scheduled on-site for
your organization.

Python for Scientists and Engineers

Registration  |  Pricing  |  General Course Information


This class is intended for the scientist or engineer interested in
using Python for their day-to-day computational tasks. It begins with
a day long introduction to the Python language focusing on the
standard data structures, control constructs, and text/file
processing. Object oriented development is briefly discussed. Day two
introduces numeric data processing using NumPy arrays as well as
visualizing data with 2D plots. Day three covers several advanced
topics in NumPy such as structured arrays and memory mapped arrays for
dealing with large data. This is followed by a survey of the
scientific algorithms available in SciPy including interpolation,
integration, linear algebra, signal/image processing, optimization,
and others. The class concludes with an overview of how to interface
Python with other languages (C/C++/Fortran).

The week is wrapped up with two 1-Day Modules, Interfacing with C /
C++ and Fortran and Introduction to UIs and Visualization. Taken
together, these five days of highly interactive training will give you
a rock-solid base to build high-quality software in terms of
readability and performance. Developing cutting-edge custom software,
Enthought instructors possess professional, first-hand experience with
the tools and technologies covered in the course.


Target Audience

Programming experience in some language (C, VB, Fortran, Matlab) is
expected. Experience with C, C++, and/or Fortran is useful for some
topics. Object oriented programming skills are not necessary but will
be helpful. Knowledge of calculus, statistics, signal and image
processing, optimization, are all valuable but not absolutely
required.


Course Topics

Day 1
8:30 am to 5:00 pm

Introduction to Python

The first day is devoted to understanding how to think in Python. We
start by demonstrating the IPython interactive environment and how it
can be used for rapid application development. The pace of this day is
determined by previous exposure to Python. Even experienced Python
programmers report learning new ideas from the experts that teach this
course.

Data-types (strings, lists, dictionaries and more)
Syntax and language structure (if-then statements, looping)
Defining functions
Creating and importing modules
Reading and writing files

Day 2
8:30 am to 5:00 pm

Python, continued

Introduction to Python classes and object oriented programming
Handling errors

Introduction to NumPy

The NumPy extension module to Python is exposed as a tool for rapidly
manipulating and processing large data-sets.

Detour: plotting with matplotlib
Basic operations and manipulations on N-dimensional arrays
Using vectorization to process arrays with implicit loops
Reading and writing arrays
Indexing arrays by slicing or with more general indices or masks
Understanding the N-dimensional data structure

Day 3
8:30 am to 5:00 pm

NumPy, continued

Broadcasting of array operations
Working with "structured" arrays

SciPy, extension modules, and additional topics

Overview of SciPy
3D plotting with mayavi.mlab
Introduction to C extension modules

Day 4
8:30 am to 5:00 pm

Interfacing with C / C++ and Fortran

One of Python's greatest features is its ability to integrate
seamlessly with C, C++, and Fortran. In this module you will learn how
to use a variety of tools that have emerged for efficiently
integrating with legacy code as well as optimizing new code with
compiled modules. This module extends the material covered on the
third day of the Python for Scientists and Engineers course. Topics to
be covered can be modified to suit participants interest but can
include:

Integrating with Fortran using f2py
Integrating legacy C / C++ code using SWIG
In-lining C/C++ in a Python application using Weave
Calling arbitrary shared-libraries with ctypes
Creating new extension modules with Cython

Day 5
8:30 am to 5:00 pm

Introduction to UIs and Visualization

This one day course is a condensed version of portions of the 3-day
course which covers just the basics of Traits and Chaco. Students will
learn the basics of Traits and how to build simple interactive
visualizations with Chaco. Topics included:

Traits

Notification
Visualization
Validation
Initialization
Delegation

Chaco

Integration into Traits UI
Scatter and line plots
Image plots
Containers for layout
Simple tool creation for event handling
Introduction to overlays



More information about the socal-piggies mailing list