Scientific Python Learning at the Computational Science Center
NREL's Computational Science Center is offering three training events for NREL research staff in September. An introduction to core Python concepts and array-based computing will take place on September 7, 2016 to be followed by advanced intensive courses led by Continuum Analytics on data-centric computing (September 13th) and general performance considerations for Python programming (September 14th). Training will use the Anaconda Python distribution on NREL's Peregrine high-performance computing cluster.
Topics to be covered include
Sept. 7: Introduction to Python
- Programming with basic Python data structures, control constructs, built-ins, and the standard library
- Python idioms for common programming tasks
- Array-based computing with Numpy
Sept 13: Data-centric Python
- Data representations and processing with Pandas + Xarray
- Batch and interactive plotting with matplotlib, Bokeh, and Plot.ly
- Interactive Python computing in Jupyter notebooks
Sept. 14: Performance Python
- Profiling and debugging Python code
- Accelerating code with compiled routines: math libraries, Cython, Numba
- Single- and multi-node parallel computing in Python
For more details, see the full syllabi.
The Sept. 7th class can accommodate all interested staff, and prospective attendees should be comfortable with introductory programming concepts. The Sept. 13 and 14 classes are each limited to 12 participants having a working familiarity with the Python language (i.e., achievable from the Sept. 7 class or greater). Attendees may sign up for one or more of these classes, and should have login access to Peregrine by the class date.
To apply for a class, e-mail email@example.com with
- which class(es) you would like to enroll in, and
- your experience with Python programming: none, beginning, intermediate, or advanced.