Teaching Programming Across Disciplines Book launched

Sam Skipsey

For the past two and a half years, a community for those who teach programming to students in disciplines outside of pure computer science has been building, centred around the University of Edinburgh, and the (for historical reasons) pairprogramming.co.uk website and blog. After two very successful “Winter School” workshops, with national attendance, the community was invited to contribute to a book collecting all our advice and experiences.

This was a long road for everyone – especially for the editors, for whom this was their first experience in the role, with a considerably more complex project than the usual publication (most books do not have 75 contributing authors across 36 chapters…).

Nevertheless, after a 18 months of chapter pitches, writing retreats (online and in-person), many many collaborative emails and parallel development strategies (and, in the final process of combining submissions into the final book, over 900 commits to the final git repository…), the Teaching Programming Across Disciplines book finally reached “version 1.0” at a launch event on the 22nd of June, at Edinburgh’s Usher Building at the BioQuarter campus.

The Event

Around 38 attendees made it to the launch event in person (with at least a dozen more online), including 12 non-authors. A number of first-run physical copies were available, with several attendees taking several to distribute to other interested people who couldn’t make the event.

Group photo of the Launch Event attendees, with printed copies of the book
Group photo of the Launch Event attendees, with printed copies of the book [CC:BY-NC-SA Pawel Orzechowski]

Print-on-demand copies are now available at this link, although the online edition will always remain free.

The bulk of the launch event consisted of 1 minute “chapter teasers” describing each of the 36 chapters, given by one of their co-authors. I ended up giving two of these – for  “A Guide on Empowering Students to Develop a Coding Mindset” and “Bridging Languages: Teaching C to Python Novices“, the latter of which is based around work done to redevelop the 2nd year course at the University of Glasgow which I teach. Selected chapters with particular interest were picked out for 7 minute lightning talks, including “Hype and The Need for Responsible Compute“ presented ably by my co-author Samantha Ahern, and the interestingly outside the box “Dungeon Crawlers and Anarchists: Co-Designing Programming Teaching Experiences“.

Much of the rest of the event was usefully spent with networking activities for the attendees, including a live collaborative playthrough of a pen-and-paper programming game inspired by multiple chapters in the book (and by the pair programming concept which originally brought the core of the community together). This is an ideal space for cross-fertilization of experience -with people from disciplines from Physics and Chemistry through Medicine to Ecology and the Arts, commonality and difference of perspective can combine in inspiring ways. An author Q&A session signposted this, with some quite deep questions from the audience (I think my co-authors and I did as well as can be expected in answering the “GenAI” question with no warning…).

The event ended with the Keynote from three of the editorial team – Brittany Blankinship, Pavel Orzechowski and Charlotte Desvages – covering just how the sausage was made. As with all the talks at the launch, this is available as part of the playlist.

The Book (for Physicists)

Whilst not all of the 36 chapters in Teaching Programming Across Disciplines are directly relevant to coding for Physics students, there is a commonality of experience that pervades the volume. The first section, concerned mostly with mindset and theories of practice, is applicable to all subjects. (Indeed, many of my fellow authors were surprised to learn that even Physics students often don’t expect coding to be part of their undergraduate degree.)

The second section, covering design and practice, is also widely useful. Problems such as wide incoming skill levels, and trade offs between notebook-oriented accessibility and the desire for a lower-level understanding of “what code is doing” are almost universal; and the deliberately more experimental chapters (such as the aforementioned Dungeon Crawlers and Anarchists) are a needed injection of new ideas into the pedagogic space.

Section three concerns assessment approaches, and includes one of the few specifically Physics case studies, drawn from Ben Waugh (et al)’s experiences at UCL for their undergraduate cohort. However, many of the chapters here provide useful viewpoints (even if I am personally not convinced by automated marking tools, the discussion in that chapter gives some food for thought)!

Finally, section four is the area which has the least direct applicability, consisting of the explicit case study chapters, most of which are from fields apart from Physics (we do not have the problems that Ignacio Sepúlveda’s Wildlife and Conservation Studies students do). Perspective, however, is a useful tool – and that same chapter from Ignacio gives a view of the needs of coding in education that is radically different from what we expect in Physics contexts.  For those wanting a closer case study to our own field, Nguyen Q. Chien’s chapter covering Civil Engineering at Edinburgh is very worthwhile (and is the only chapter other than one of mine to contrast Julia and Python as tools for teaching practical programming for mathematical sciences).

The book is open-access, licensed with an ethical Creative Commons BY-NC-SA licence (“freely copy, cite author attributions, no commercial use, derivative works must also use this licence”) for the online version, which will also get bugfix updates over the coming period.

There is also a nascent plan for a second edition, or even a volume 2. We encourage anyone whose interest has been whetted to join what is a welcoming and inspiring community.

TeachingProgrammingLaunchGroupPhoto-lq.jpg


Discover more from Physics Higher Education Research

Subscribe to get the latest posts sent to your email.


Posted

in