• Technical Conference:  30 March – 03 April 2025
  • Exhibition: 01 – 03 April 2025
  • Moscone Center, San Francisco, California, USA

SC487 - Hands-On: Laboratory Automation and Control using Python (Advanced)

Monday, 25 March
08:30 - 12:30 (Pacific Time (US & Canada), UTC - 08:00)

Short Course Level: Advanced


Jochen Schröder, Chalmers University of Technology, Sweden
Nicolas Fontaine, Nokia Bell Labs USA
Binbin Guan, Microsoft USA

Short Course Description:

This course aims to provide participants with the tools and knowledge to create sustainable automation of their experiments using the Python programming language.

This is an advanced Python Short Course which assumes participants have significant programming experience with other languages or have experience with Python and its scientific modules (Numpy, Scipy and Matplotlib). The course covers writing script to automate data acquisition with different instruments, to set up graphical user interfaces, and to make production code with version control and documentation. The course also provides helpful resources which can help participants develop their own python testing environment in the future.

Requirement: Basic programming experience expected.

Short Course Benefits:

This course will teach participants to:

  • Communicate with GPIB and USB devices to automate data acquisition, using our EXFO demo equipment.
  • Write object-oriented instrument driver interfaces
  • Write  user interface that can run standalone or in the browser.
  • Use automated testing to check correct code functionality and avoid regressions. 
  • Use advanced concepts such as decorators to write code that is easier to maintain
  • Interface with C-libraries
  • Apply programming practices such as version control and documentation.
Short Course Audience:

This advanced course is intended for researchers who are comfortable programming and have some experience with Python and want to learn how to put their lab automation onto a more sustainable basis. Unless you feel very comfortable programming you should really have some prior Python knowledge.

Instructor Biography:

Jochen Schröder is a tenured Senior Researcher at Chalmers University of Technology in Gothenburg Sweden. He has worked for more than 10 years in fiber optics and optical communication and has used Python for his lab automation, simulation and analysis since the beginning of his PhD. Together with Nicolas Fontaine and Binbin Guan, he started the Labautomation Hackathons at OFC and ECOC to bring together researchers and students and share experience and knowledge on using Python for your programming.

Nicolas K. Fontaine is currently a Distinguished Member of the Technical Staff at Nokia Bell Labs. His main research interests are in space-division multiplexed transmission systems and components, wavelength selective switches and crossconnects, and spectral slice arbitrary waveform synthesis and measurement. He is a Python user, fan and advocate and his SDM experiments would not be possible without Python lab automation.

Binbin Guan is the Senior Optical Engineer at Microsoft. Before joining Microsoft, he worked at Acacia Communications for developing next-generation silicon photonics products. He received Ph.D. degree in electrical and computer engineering at the University of California, Davis, USA, and B.S. degree in optics engineering from Zhejiang University. His current work includes DCI applications, Silicon Photonics, Coherent optics and Digital Signal Processing. He has been using python for research simulation, signal processing and lab automation since 2012.