1 of 24

Teaching Programming to Non-Programmers Winter School

Lightning Talks | 11 January 2024

2 of 24

How much do they really need to know? Balancing theory with programming�

Chris Oldnall

3 of 24

4 of 24

You can lead a horse to water: Supporting veterinary scientists in coding �

Jill MacKay

5 of 24

You can lead a horse to water: supporting veterinary scientists in coding

10 years of supporting coding at R(D)SVS/Roslin

  • My three main issues:
    • Skilled people leave frequently
    • R (and other languages) are complicated and time-consuming to learn
    • Neoliberal higher ed not favourable to continuous upskilling

Full slides: https://edin.ac/3NRGoNa

YouTube Link to Talk:

Jill MacKay

jill.mackay@ed.ac.uk

@jillymackay.bsky.social

@jillymackay@fosstodon.org

6 of 24

The ProgBoard: Teaching computers without computers �

David Cutting

7 of 24

https://thinklikeacomputer.org/

David Cutting

d.cutting@qub.ac.uk

8 of 24

Visual feedback for beginners

Alisdair Tullo

9 of 24

10 of 24

Code peer review classroom sessions

Helena Paterson

11 of 24

Code Peer Review Classroom Sessions

Aim: develop skills in reproducible coding

What we did: lab session; students submit their group project scripts as Rmardown files on a Moodle forum before class; in class peer review of 2-3 other groups’ code; transparent feedback

Supports skills: time management for group projects; builds confidence in coding; practice code review; practice making reproducible analysis

What you need: a template script helps students to make code that peers can understand

Dr Helena Paterson

@HelenaPaterson@nerdculture.de

12 of 24

Integrating code demos into slides

Tobias Ribizel

13 of 24

The debugger: An underutilized tool

Luke Naylor

14 of 24

~“Students will have trouble, until it clicks,

then it’s easy”~

- my high school teacher

Python for kids – A playful introduction to programming

Visual Studio

VSCode

15 of 24

Exploring code in teaching and learning with the Noteable service�

James Stix

16 of 24

Noteable is a cloud-based computational notebook service that allows academics to create and share engaging coding lessons.

Noteable can be integrated with an existing learning environment such as LEARN.

Hosts computational notebooks in one simple online hub and provides preconfigured coding environments for various subjects such as physical sciences, business, social sciences, computer science, and more.

17 of 24

Using Noteable for assessment

Maria Boutchkova

18 of 24

Do-s Don‘t-s

  • Ask the support team for what you need, incl new kernels
  • Use github to distribute teaching materials
  • Provide a practice test notebook
  • test nbgrader on multiple test solution notebooks in a separate sandbox Learn profile (release/fetch/submit/collect)
  • Have a doc file with common feedback to copy-paste
  • Account for the time required to click “Autograde next to each submission”
  • Expect students to follow instructions
  • Use a large raw data file from which students take a subset (or let the support team know in advance if you plan to do it)
  • Underestimate raw data issues
  • Expect that you will save time because marking is automated (even if you avoid some of my stumbling blocks)
  • Don’t hesitate to ask for help (a colleague who has done it can walk you through in 10min)

Maria Boutchkova

Lecturer in Finance

Investment and Securities Markets – UG Sem 1 2020/21 online only; Python and Stata kernels

Research Methods for Finance – UG Sem 2 2022/23 in person

Applications of Econometrics – PhD Sem 2 2022/23 in person

Stata kernel only

19 of 24

ARCHER2 Training

Juan Herrera

20 of 24

21 of 24

Micro & Macro Patterns: Pair programming, �flipped classroom, badges, �3 stars & 1 wish, ‘LinkedIn’ Assessments…�

Pawel Orzechowski

22 of 24

23 of 24

Thank you ---> Group Photo ---> Feedback

24 of 24

Please tell us how you found this event