Teaching basic lab skills
for research computing

Python as a Second Language

Donny Winston, Joey Montoya, and I taught a one-day class for Lawrence Berkeley National Laboratory on Python as a Second Language last week. As its introductory blurb says, “This lesson is an introduction to programming in Python for people who are already comfortable in some other language such as Perl or MATLAB.” The notes are still very much under development, but having delivered it twice, we’re pretty confident that it can actually be delivered in one day. We would be very grateful for feedback: please file issues in the GitHub repository to let us know what you think, to add more exercises and bullet points, or anything else.

As well as delivering new(ish) material, we experimented with having one of the instructors teach via video conferencing with local helpers in the morning, while on-site instructors taught in the afternoon. Some of the feedback included:


  • On-line with local help worked very well.
  • Mixed mode worked well for the first section because the material was easier, might have been more difficult for second half.
  • Easy to follow, well written exercises.
  • I thought remote instructor was great…having local instructors was a big part of that though.
  • Plotting super helpful.
  • Etherpad being read-only may have helped, so people didn’t mess it up.
  • Cool, dense content, helpers are very knowledgeable.


  • Sometimes fast.
  • Typing is hard to follow as it scrolls off screen.
  • Pytest can’t install.
  • For online instructor, dual screens may be useful, I’d like to see the Notebook longer.
  • A bit fast at times, particularly due to the auto scrolling of the screen.
  • Confusing if you fell behind for a second and the teachers would overwrite, rather than start new cell.
  • I would have liked to see how python is more typically used, such as IDEs, command line, etc.
  • Tell people that terminal functionality is needed in advance.
  • A bit rushed through matplotlib, would have liked more practice plotting.

Based on this feedback and what we heard in the previous round, we have moved the material on command-line scripts into the “Extras” section: there wasn’t time to get to it, and it requires yet another install for Windows users.

Dialogue & Discussion

You can review our commenting policy here.