This event took place on January 11th, 2024 at the University of Edinburgh and online.
On this page you will find (click to jump there):
- Photos from the day
- Program with Slides and Videos of all presentations
Photos and Tweets:
Follow the twitter thread on here: https://twitter.com/bea_alex
All photos taken by organisers on the day: https://drive.google.com/drive/folders/1NRYh85QNZt7bmzeqHr1axi8KL3-khl4E?usp=drive_link


Feedback Form:
https://forms.office.com/e/fKEundgFEg
Sponsors and Partners:
This exciting event could not have happened without the encouragement, organisational and financial help from our partners. Thank you so much!
Centre for Data, Culture and Society – https://www.cdcs.ed.ac.uk
Data Driven Innovation for Health and Social Care – https://www.ed.ac.uk/usher/innovation/data-driven-innovation
Software Sustainability Institute – https://www.software.ac.uk
Program Timetable
09:30 – 10:00 – Coffee and Registration
10:00 – 10:10 – Welcome – Organising Team – Welcome
10:10 – 10:40 – Talk+Practical – Pawel Orzechowski – Pair Programming demo session – The best way to experience pair programming is to do it in person. In that practice 2 people take turns typing into one laptop, and discuss their code. During this session Pawel will briefly introduce the concepts, and how it can be used in teaching, and then you will all be divided into pairs and solve programming puzzles for 30 minutes. Coding will happen in a web browser, so no extra software is necessary. We will produce the challenge in Python and as language-independent version.
10:45 – 10:55 – [Long Talk] – Charlotte Desvages – Code review as peer assessment – In my courses, I ask students to review each other’s code as a peer-assessment activity, to train them to think about what “good code” means and improve their own practice. I’ll describe how I set up the peer assessment, the rubric and descriptors students use, and discuss some observations I’ve gathered over the past few years of doing this.
SLIDES: https://drive.google.com/file/d/1p5Ma5sPzIcCDMLIHGOlBYCH3yGYsXzyH/view?usp=drive_link
10:55 – 11:05 – [Long Talk] – Umberto Noe – From PAIR to PEER programming – Introducing group programming in a first-year statistics course using R for psychology students. The talk will discuss how and why it was implemented, as well as provide tips based on previous iterations of the course.
SLIDES: https://drive.google.com/file/d/15QnL-Rvsqp_UoV_KWEUfwj3ct44GHzq6/view?usp=drive_link
VIDEO: TODO
11:05 – 11:14 – [Long Talk] – Beatrice Alex – Pair-programming at the Edinburgh Futures Institute – This talk will present how we put pair programming in practice in two Edinburgh Futures Institute courses and the lessons we learned.
11:14 – 11:15 – Short Lightning Talk – Lucia Michelin – Jargon in Teaching Programming
VIDEO: https://media.ed.ac.uk/media/Lucia%20Michelin%20-%20Jargon%20in%20teaching%20programming/1_ikj1q96p
11:15 – 11:25 – Short Break – …
11:25 – 11:35 – [Long Talk] – Brittany Blankinship – Pair Programming with Online Distance Learners: Lessons from teaching R and Python – Pair-programming in online PG coding courses for medics: Reflections from last few years of using online and in-person pair-programming in R and Python education for Data Science for Health and Social Care. What worked, what did not work, and why.
VIDEO:
11:35 – 11:45 – [Long Talk] – Sarah Eliott – Creating Confident R Users with HealthyR.
SLIDES: https://drive.google.com/file/d/1BfzLDzLB3jMIL39d4iqXX_T8V1rdmrrX/view?usp=drive_link
11:45 – 11:55 – [Long Talk] – Serveh Sharifi – Teaching programming as a computational tool in an introductory data science course – This short talk is about our experience in teaching programming as a computational tool in an EFI introductory data science course, Insights Through Data. We will talk about our experience including experimenting with pair-programming, CodeRunner, using Jupyter notebooks and nbgrader, and challenges of fusion teaching and assuming no previous related background from students.
11:55 – 12:05 – [Long Talk] – Ozan Evkaya – AI for Pair Programming: Friend or Threat – Under the light of recent developments of AI, specifically Generative AI tools, I will try to summarize some papers and ideas about the use of AI for pair programming. General plan is to spark a discussion about its benefits or drawbacks.
12:05 – 12:15 – [Long Talk] – Kasia Banas – Let’s write a book! – We’d like to invite Winter School participants to contribute to an edited volume about teaching programming in diverse academic disciplines. I will be pitching this idea and encouraging everyone to take part.
CONTRIBUTE IDEAS FOR THE BOOK: Link to the document with book ideas
12:15 – 13:00 – Lunch Break
13:00 – 13:40 – Case Studies – Lisa DeBruine (and the Glasgow team) – Teaching case studies from Glasgow: PsyTeachR: using R to teach R
… – Tobias Thejll-Madsen – Errors – help! – Errors are commonplace when programming, but why are they there, and how can we use error messages to help us progress.
… – Sean – Demystifying Programming – Beginner programmers can often find the concept of functions a bit of a black box, where they may learn the inputs and outputs without feeling totally comfortable with the intermediate process. As part of Lisa DeBruine’s keynote, I will be showing how we can use simple examples from statistics to explore under the hood of functions and remove the intimidation factor from running analyses in R.
SLIDES: https://psyteachr.github.io/ews24 (these slides are a quarto web app)
13:40 – 13:45 – Short Break – …
13:45 – 14:25 – [Keynotes Online] – Olivia Guest and Sam Forbes – Inclusivity in teaching programming (speakers online) – Our guests will talk about their work on EDI opportunities in teaching programming. It is recommended that all guests read their paper before the event: https://osf.io/preprints/socarxiv/3r2ez
SLIDES OLIVIA GUEST: https://drive.google.com/file/d/1NAtg1uz7A_NQ2qHRWzPtIpLDCj66Om9E/view?usp=drive_link
SLIDES SAM FORBES: https://docs.google.com/presentation/d/10VUtLl89d-7fHLKrs1jHMOh3kvJL0W3w/edit?usp=drive_link&ouid=101044330351823728964&rtpof=true&sd=true
14:25 – 14:30 – Short Break – …
14:30 – 15:00 – [Q&A / Panel] – Keynotes, Speakers, Everyone
VIDEO: https://media.ed.ac.uk/media/Teaching%20programming%20to%20non-programmers%20-%20Q%26A/1_1ojomk9f
15:00 – 16:00 – [Lightning Talks] – Lightning Talks – – 5 minute short talks, run by Brittany Blankinship
— Christopher Oldnall – How much do they really need to know? Balancing theory with programming.
In this lightning talk we will briefly cover (my opinion on) how much a student really needs to know about the theory of the topic they are covering. From experience in teaching students with all to no statistics knowledge, I have made some observations and key learnings about the core elements students really need to be able to learn how to programme well.
— Vivek Agarwal – Integrating Pedagogy and Practice: Effective Approaches to Teaching Programming in Diverse Fields
In my talk, I will explore the intersection of pedagogy and practical techniques in teaching programming to non-programmers. I’ll share effective strategies and tools that enhance learning in various disciplines, highlighting how pedagogical principles can be tailored to meet the unique needs of diverse student groups in the programming classroom.
— Jill MacKay – You can lead a horse to water: supporting veterinary scientists in coding
A short reflection on my experiences supporting the development of coding skills on the Easter Bush campus over the last ten years, in formal and informal settings
— David Cutting – The ProgBoard: Teaching computers without computers
Given that programming is logical thinking in a few very specific areas (sequence, selection, iteration) I created the ProgBoard as a physical tool to explore these concepts without using a computer. This resulted in a fun activity which is less scary than starting with programming and has been used successfully in adult education and international settings. Here I present the very simple tool and how I have used this in real-world settings, moving from it into simple programming on a computer afterwards.
— Alisdair Tullo – Visual feedback for beginners
For complete beginners, it’s good to have direct visual feedback when programming. I’ll talk about and demo some of the options for this.
— Helena Paterson – Code peer review classroom sessions
In my teaching practice, I encourage students to review each other’s code for reproducibility. This is normally a lesson that takes place once students are in the final stages of writing up their reports. The session helps students to manage their time, and to focus on making reproducible code.
— Tobias Ribizel – Integrating code demos into slides
I want to share some experiences we collected from an application-focused tutorial, integrating examples shown with a web IDE into presentation slides for a seamless workflow.
— Luke Naylor – The debugger: an underused tool
“Fresh graduates’ lack of familiarity with the debugger (among other practical tools) is something that some gurus in the software industry point to when discussing common weaknesses of university education to prepare for software engineering.
But even well before that, and even when not targeting a software career. I believe that making students use the debugger in the very first programming lesson could be a more effective way of getting them past the initial mental hurdle about what happens when a program runs.”
— James Stix (Noteable) – Exploring code in teaching and learning with the Noteable service
Noteable is a cloud-based computational notebook service that allows academics to create and share engaging coding lessons to distribute in courses. This lightning talk will outline how Noteable integrates with an existing learning environment such as LEARN, providing access to preconfigured coding environments in one simple online hub for subjects in physical sciences, business, social sciences, computer science, and more.
— Maria Boutchkova – Using Noteable for assessment
I have implemeted Noteable for teaching and assessment (both quizes and final exam) of UG and PG courses in Investments and Quantitative methods during Covid and after. I will share what worked and did not work.
— Juan Herrera – ARCHER2 training
EPCC, as part of the ARCHER2 UK National Supercomputing Service, deliver a training programme that covers a wide range of scientific disciplines and technology platforms, and addresses the training requirements of users with different needs and level of experience. In this lightning talk, we will present our experience in designing a training programme based on the feedback received from our users and HPC training experts from around the world.
— Pawel Orzechowski – Micro & Macro Patterns: Pair Programming, Flipped Classroom, Badges, 3 Stars & 1 Wish, ‘LinkedIn’ Assessments…
Over last 6 years I’ve been trying to build courses for people on the beginning of their programming journey. I’ll share the results of combining gamification, kindness and curiosity into a number of modular beginners’ courses. I’ll talk about modifying courses to various formats, modalities and lengths.
16:00 – 18:00 – Bayes Center – Drinks & Nibbles Reception
18:00ish – Pizza, also at Bayes Center
Link to feedback form: https://forms.office.com/e/fKEundgFEg
Pair programming demo session:
In Person participants – how to start:
1. login to noteable with your UoE login https://noteable.edina.ac.uk/login
2. start “Standard Notebook (Python 3)”
3. checkout code from github with [+GitRepo] button. When popup shows up, paste link below into the top field then click Clone
https://github.com/drpawelo/winterschool
In Person participants – how to switch the driver?
1. just pass pass the laptop over

Online participants – how to start:
- choose the driver
- driver shares their screen
- driver opens noteable via token-link (in zoom chat)
- navigate to correct folder and file of your group
e.g. …/winterschool/group_07
Online participants – how to switch the driver?
- previous driver saves the file (ctrl+s) and closes the browser tab
- new driver shares their screen; clicks the token-link; and opens the appropriate file…

How to Attend in Person:
The event will take place in Edinburgh 9:30am-4pm (with social 4-7pm) on Thursday 11th January 2024. In person participants will be in room LG07 at 40 George Square, Lower Ground Floor, Edinburgh EH8 9JX. Walking from George Square, pass by building number 50, and enter number 40 going down via glass doors. You will pass through the cafe space, and see signs for the room (see attached images or just ask someone there). The event starts at 10am, but signup and coffee will be available from 9:30am. Lunch will be served around 12noon. For drinks & nibbles we will move to the Bayes Centre from 4pm. From there, for those who will be keen, pizza will be served around 6pm.
For the practical pair-programming session you will need your laptop.


How to Attend Online:
The event will take place in Edinburgh 9:30am-4pm on Zoom. If you signed up for online attendance, you will receive login details by email. Also on the day, login details will be added to this page, for ease.
If you signed up to attend online, you received a link and password to join on zoom. It might be already too late, but you can still request to be sent joining instructions with this form: Request online joining instructions for the summer school.
We will try to record the sessions and if you signed up you will get a link to the recordings. If you decide to take part in the online pair-programming demo you will need an ability to use your webcam, microphone and screen-sharing on zoom. For the rest of the talks there will not be a need for participation, apart of the afternoon Q&A where one of the organisers will read out questions from online participants.
Initial Greeting Message from Dec 2023
This winter we teamed up with Center for Data, Science and Society to deliver a winter school for people interested in Teaching Programming to Non-Programmers.
Applications close on Monday 11 December. Event is free and will happen 11 January 2024, in 40 George Square (G 07). You can attend in person or (most sessions) online.
Are you an educator striving to make programming accessible across disciplines? Join us on January 11th, 2024, from 10:00 to 16:00, for an enriching experience at the University of Edinburgh. This is a hybrid event, offering both in-person and live-streamed options!
Discover innovative techniques for teaching programming in diverse fields such as psychology, medicine, mathematics, and engineering. Dive into industry-tested approaches like rubber-duck debugging and pair programming, exploring their effectiveness in educational settings. Delve into discussions on large class and online environment strategies, ensuring your programming courses are both efficient and inclusive.
Don’t miss the chance to share your insights! The event invites lightning talks, allowing participants to showcase practices and experiences in a quick, dynamic format. Network with like-minded professionals, exchange knowledge, and gain strategic and technical insights that can revolutionize your teaching methods.