Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Sign up here to be on the mailing list: email Brian Toby

Files for lectures can be found in: https://anl.box.com/v/2016Python

Lectures are held starting at 10:30 am on alternate Mondays during the synchrotron run cycle. Future lectures to be held on March 27, April 10, June 5, June 19, July 3, July 17, July 31, August 14, August 28.

Date / Time / LocationTopicLecture DescriptionPresenterLinks
Part 1: Getting Started / Basics

2016-06-06

10:30 AM - Noon / A1100

Basic Python

The Basics of the Python language (I).

Topics: course organization, Python variables & data types; defining functions

BHT

2016-06-20

10:30 AM - Noon / A1100

Basic Python

The Basics of the Python language (II)

Topics: conditional statements and looping

BHT

2016-07-11

10:30 AM - Noon / A1100

Basic Python

The Basics of the Python language (III)

Topics: file I/O, system-supplied and DYI modules

BHT

2016-07-25

10:30 AM - Noon / A1100

Coding Environment

PyCharm IDE

Version (git/github) control intro

DPJ & PRJ

2016-08-15

10:30 AM - Noon / A1100

Recommended Practices

Version Control with Git and GitHub,

PyCharm interface to version control

PRJ & DPJ

2016-08-29

10:30 AM - Noon / A1100

Coding EnvironmentUsing Jupyter NotebooksJH

2016-10-17

10:30 AM - Noon / A1100

Recommended Practices

documenting code (Sphinx)

structuring a package (intro), logging

PRJ
Part 2: Things APS Scientists Need to Get Started (Bootcamp for APS Scientists)

2016-11-14

10:30 AM - Noon / A1100

EPICSUsing Python to control beamlines: practical examples (EPICS interfacing)PRJ

2016-11-28

10:30 AM - Noon / A1100

Working with files

CSV, introduction to pandas, etc

JH

2016-12-12

10:30 AM - Noon/A1100

Working with filesWorking with HDF5JH
Part 3: Scientific Programming Tools

2017-02-06

10:30 AM - Noon / A1100

 Python for numerical computations I: Basics of NumPy; Optimizing NumPy for speedRBVD

2017-03-06

10:30 AM - Noon / A1100

 GUI development with Qt (1)NS 

2017-03-27

10:30 AM - Noon / A1100

 Python for numerical computations II: Using SciPyRBVD 

2017-04-10

10:30 AM - Noon / A1100

 GUI development with Qt (2)NS 
Other possible topics: 3D visualization (mayavi, VTK?); Generating 2D graphics (matplotlib, others?); using multiprocessing
Part 4: Coding for distribution to others
TBD Sphinx details, publishing docs (readthedocs)TBD 
TBD 

installing packages with conda, pip, etc.

code distribution & packaging (conda, pypi)

TBD 
Part 5: More Advanced Topics

TBD

 Making Python faster (speed in NumPy; multiprocessing,...)TBD 

TBD

 

Creating web applications

TBD 
TBD Data base access in Python (sql, XML, JSON, excel, web services, logging)TBD 
TBD Python advanced basics (from Enthought)? or later as neededTBD 



Draft Agenda:

Part 1: Getting started/basics

  1. (BHT) The Basics of the Python language         three sessions (two better!)

  2. (NS) Environments for Python coding (Pycharm, spyder, ipython/Jupyter…)                      one or two sessions

  3. (PRJ) Recommended practices  

    1. Version control (git, github,…)    one session
    2. documenting                            ]

    3. structuring a package (intro)    ] one session

    4. logging                                     ]

Part 2: Things APS Scientists Need to Get Started

  1. (PRJ) Using Python to control beamlines: practical examples (EPICS interfacing)

  2. Python coding for data analysis examples (numeric & graphing) 2 sessions max

        matplotlib, csv reading, HDF5, fitting, spec reading

  3. Python advanced basics (from Enthought)? or later as needed

Part 3: Scientific Programming Tools

  1. Python for numerical computations (NumPy and SciPy)

  2. GUI development with Qt

  3. Generating 2D graphics

        matplotlib, others?

  4. 3D visualization

        mayavi, VTK, ?

     

Part 4: Coding for distribution to others

  1. Sphinx details, publishing docs (readthedocs)

  2. code distribution & packaging (conda, pypi)

Part 5: More advanced topics

  1. Making Python faster (speed in NumPy; multiprocessing,...)

  2. Creating web applications

  3. Data base access in Python
    1. sql

    2. XML

    3. JSON

    4. excel
    5. web services

    6. logging

Planned sessions for 2016

  1. June 6
  2. June 20
  3. July 11
  4. July 25
  5. August 15
  6. August 29
  7. October 17
  8. October 31
  9. November 14
  10. November 28
  11. December 5

Planned sessions for 2017

  1. February 6
  2. February 20
  3. March 6
  4. March 20
  5. April 3
  6. April 17

Sessions will be Mondays, 10:30 am to noon in A1100 (gaps are due to room availability or Shutdowns.)

Recent space activity

Recently Updated
typespage, comment, blogpost
max5
hideHeadingtrue
themesocial

Space contributors

Contributors
modelist
scopedescendants
limit5
showLastTimetrue
orderupdate