A simple Vlasov-Poisson Particle-In-Cell (PIC) code

I was invited to give a tutorial at the ANU-MSI Mini-course/workshop on the application of computational mathematics to plasma physics, and I thought it would be instructive to design a Particle-In-Cell (PIC) code from scratch and solve the simplest possible equation describing a plasma, namely the Vlasov-Poisson system in 1D. The idea was to illustrate: how simple, efficient and robust such numerical schemes are; how complex the non-linear phase-space dynamics