# Teaching ML in Compact Courses
**Anne Fouilloux, Peter Steinbach**
ECMLPKDD2020 Teaching ML Workshop Satellite Event
September 8, 2020
---
# Who are we?
----
# Anne Fouilloux
![](https://codimd.carpentries.org/uploads/upload_d8f5dc8122ef686fe7a80e7c59c45c8e.png)
Research Software Engineer at [University of Oslo](https://www.uio.no/english/) for the climate community
twitter:@AnneFouilloux github:@annefou
----
# Peter Steinbach
![](https://codimd.carpentries.org/uploads/upload_7bbcde039941dd0e88fd2a122a3b4ad6.png)
[Helmholtz AI](https://helmholtz.ai) Consulting Team Lead at [HZDR](https://hzdr.de)
twitter:@psteinb_ github:@psteinb
---
# Our dataset
----
<div style="color: white; background-color: rgba(.2,.2,.2,.75);">
# Anne's
- [one deep learning workshop](https://carpentries-incubator.github.io/deep-learning_intro/) in 2019
- About 35 learners
- 2 days of teaching & practicals (carpentry style)
- 3 deep learning work-along & study group sessions
- 1/2 hour teaching
- 1.5 to 2 hours bring-your-own-data and discussion
</div>
----
<!-- .slide: data-background="https://codimd.carpentries.org/uploads/upload_d3e878a1cbb11df815e40d10612a3f59.jpg" data-background-color="#005" -->
<div style="color: white; background-color: rgba(.2,.2,.2,.75);">
# Peter's
- two deep learning bootcamps in [2017](https://indico.mpi-cbg.de/event/42/) and [2018](https://indico.mpi-cbg.de/event/118/)
+ 1 week each
+ 3.5 days of teaching
+ 1 day bring-your-own-data
- one deep learning hackathon in [2019](https://indico.mpi-cbg.de/event/186/)
- background: PhD students/PostDocs/RGL from natural science(s), business, engineering, digital humanities
</div>
---
# Agenda
["Ten Simple Rules for Running Interactive Workshops"](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1003485)
Katrina Pavelin, Sangya Pundir, Jennifer A. Cham (2014)
---
# 1 : Decide Whether an Interactive Workshop Is the Right Choice
----
# Anne
- Interactivity helps to satisfy all the learners (optional exercises, discussion)
- **[Co-develop training material](https://carpentries-incubator.github.io/deep-learning_intro/)** with other instructors and on-board helpers
- Hard to correctly communicate learning objectives (learners often read "buzz" words only)
----
# Peter
- teaching interactively is always a good choice
- **potpourri of speakers** is hard to synchronize in one week (teaching style, notation, exercises)
- single material or single speaker better during the event
---
# 2 : Choose Participants Carefully
----
# Anne
- First come, first served (university policy)
- **very unhomogeneous classroom**
- Much more homogeneous crowd with work-along and bring-your-own-data
- Lesson learned: **select attendees**:
- ask about learning objectives, and
- how they will be using what they learn
----
# Peter
communicating course content super tricky
![](https://codimd.carpentries.org/uploads/upload_64e8c92914125f0e45679cf1006c0a9a.png)
---
# 3 : Identify Suitable Activities
----
# Anne
- ice breaker, game, world of cloud
![](https://codimd.carpentries.org/uploads/upload_cd16065cb3d3786d32e908cae1db6130.png)
----
# Peter
- :vertical_traffic_light: started with transfer learning
(run your first deep learning within half a day)
- :100: elaborate on this
(NN, Loss, SGD/Optimization, ...)
- :+1: run example code in ready-made jupyter notebooks
---
# 4 : Identify Facilitators and Brief Them
----
# Anne
- 2 **helpers** for workshops:
- facilitators are even more important for online workshops (zoom host, hackMD host, helpers, etc.)
- for work-along and study groups, instructor also had the role of facilitator:
- possible with small groups only
----
# Peter
used local cluster with [jupyterhub](https://jupyter.org/hub) interface
- accounts for externals
- no HPC
- test, test, test *before* the workshop
- next time: colab :question:
---
# 5 : Consider Logistics, Facilities, and How to Record Outcomes
----
# Anne
- **Delegate** logistics to Science Library:
- used to organize workshops/events
- makes it much easier for instructors
- can get first help when starting the event
- loan laptops when required
- standard classroom for workshops and cabaret settings for work-along & study groups
----
# Peter
teaching = :computer: based & coop prepared
![](https://codimd.carpentries.org/uploads/upload_10272848dc97cdbae0320f3daf4447a9.jpg)
Note:
- discuss still not optimal setup (see neck posture of participants)
---
# 6 : Plan the Agenda
----
# Anne
- Used a template from [The Carpentries](https://carpentries.org/):
- :pencil2: plan for optional exercises
- :coffee: long breaks for informal discussions
----
# Peter
- leave room for breaks :coffee:
- keep strictly to 7h max per day
- dedicated breaks/sessions
- :+1: lightning talks
(first day self-introduction)
- :+1: poster discussions
- :-1: industry talks
---
# 7 : Market Your Interactive Workshop As a Networking Opportunity
----
# Anne
- Ice breaker: 🎲 :icecream:
- have a short game on how neural networks work effectively (using sticky notes for weights, etc.)
- :coffee::coffee: Long breaks for informal discussions
----
# Peter
- learners bring a A1 poster to explain their data/problem
- one longer break per day so people can discuss the posters
- activity so that all learners cover at least 3-4 posters (:gift:)
- bring-your-own-data as self-organized un-hackathon
---
# 8 : Get the Best from Your Participants
----
# Anne
- :coffee: had 1/2 hour morning coffee
- :information_desk_person: help desk before the workshop
- encourage more advance learners to help
----
# Peter
- :+1: used [indico](https://getindico.io/) served workshop website as central resource
(provide materials, announce schedule changes, ...)
- :ok_hand: use hackmd/etherpad for topic blocks to collect notes as class
- :rotating_light: used t-shirts to indicate helpers/teachers and learners
- :heavy_check_mark: do quality assurance survey (online **during** workshop)
---
# 9 : Follow Up with Your Facilitators and Create a Post-Workshop Report
----
# Anne
- :clap::clap: Encouraged helpers and instructors to teach/lead future work-along & study group sessions
- :mortar_board: :medal: Gave a certificate to helpers (at their demand)
----
# Peter
- :woman-running: tricky to do follow-ups with instructors (typically busy in day job)
- :medal: certificate to learners and helpers
- :scales: have post-mortem meeting with all helpers/teachers
(qualitative and quantitative feedback)
---
# 10 : Follow Up with Your Participants
----
# Anne
- Follow up with work along and study group activities
----
# Peter
- :mailbox_with_mail: postcards from your future self
- have learners write a postcard to their future self
- send out 6 months past workshop
- :computer: blog post
- highlights on social media
(return rate 20-30% of participants)
---
# Summaries
----
# in one slide
- Anne
- :ok_hand: 2 day workshops is about right for novices
- make workshop prerequisites **clear**
- Peter
- :sweat_smile: 1 week workshop on deep learning is intense
- :goal_net: set goals right & :speaking_head_in_silhouette: communicate them
- learning experience for all involved
----
# Anne acknowledges
- [Carpentry@UiO](https://www.uio.no/english/for-employees/support/research/research-data/training/carpentry/) and its [StudyGroup](https://uio-carpentry.github.io/studyGroup/) and in particular Naoe Tatara and Annika Rockenberger
- [Department of Geosciences, University of Oslo](https://www.mn.uio.no/geo/english/): Ana Costa Conrado and Jean Iaquinta
----
# Peter acknowledges
- [MPI CBG](https://mpi-cbg.de): Reni Schimmel, Florian Jug, Uwe Schmidt, Martin Weigert, Gene Myers
- [Scionics](https://scionics.de): Jeff Oegema, Ian Henry
- [TU Dresden](https://tu-dresden.de): Walter de Back, Nico Hoffmann
- [Zalando Research](https://research.zalando.com/): Kashif Rasul