CAA/SSLA workshop at CAA 2026, Vienna (-)
Organised by Matteo Tomasini
When: 2026-03-31, 13:30 - 16:30 CET
Where: In person, TU Wien, room AC 02 - 2 (Karlplatz 13, 1040 Vienna)
Format: Half-day workshop
Description
With the introduction of more and more digital tools in archaeology, most journals made it mandatory to publish software on a public repository such as Zenodo or Github, even when said software is not the central topic of a paper. However, during the process of peer review after submitting a paper, only a few journals requires of their reviewers to review a software. Additionally, in many cases the review does not follow a specific protocol to ensure that the code is running and functional. In other words, ensuring the correctness of code review is up to the reviewer’s time, capability and willingness.
On the contrary of code review performed in business software development settings – which aims at functionality as well as at uniforming a code base written by several individuals – the process of scientific code review aims at making sure that a code functions correctly, but it also aims at making it more readable by external individuals, and more usable in the future both as its own piece of software, or for further development. The consequence of lack of software review is that a lot of software becomes unavailable a few months after publication – either because it was not written nor assessed to ensure maintainability, or because the original developers left the building and nobody is able to pick up the obscure code.
A simple way to decrease the amount of published unusable software, is to perform code review on each piece of software that see the light of day on a journal. However, code review requires the collaboration of developers who are tasked with writing code better. This is why it is paramount to spread good practices in archaeological programming: these include code documentation (e.g. comments in the code), unit testing, proper software design and good stylistic writing. Learning these principles makes of us better software developers, but also contributes to making review of software easier on reviewers.
In this workshop, we will learn about software design principles and best practices in programming through a look at scientific code review. A short presentation will be followed by some hands-on work.
Attendee requirements
- laptop
- at least a little bit of experience in coding
- a Github profile would be useful, but not required
Attendees are encouraged to find by themselves the code that they want to review during the hands-on part of the workshop. Being able to run code written in one of Python, R or NetLogo (or any other common language out there) will be necessary for the hands-on part: it would be beneficial to install all the necessary components for one or more of these languages before the workshop.