---
# System prepended metadata

title: 'Teaching ML 2021 breakout: Teaching ML in STEM (Beyond CS/Math)'

---

# Teaching ML 2021 breakout: Teaching ML in STEM (Beyond CS/Math)

## Why STEM?

- MOOC offering for STEM
- mandate for physics & astronomy
- mandate for engineering 

- PS: in STEM, people tend to be critical about the nature of heuristics

## How do you teach today?

- VA: very traditional setup (lecture+exercises), focus on theory and reinforce content by exercises
    - putting in some domain specific datasets
    - keep math level at the minimum
    - goal of classes: 
        - ML methods (not domain focussed)
        - learners pick up vocabulary to understand papers which use ML 
        - ML = yet another tool
    - do physicists come with good prerequisites? (wrt to statistics)
        - no really, it varies a lot (some have good statistics background, some don't)
- KB:
    - approach is very practicial and visual for engineering (e.g. unit sqaure for a confusion matrix)
    - challenge: the concept of a model (2nd year students), e.g. https://scikit-learn.org/stable/_images/sphx_glr_plot_classifier_comparison_001.png 
        - understanding over fit situation
        - understand what dataset is plotted (training set vs. test set)
        - **important** understand extreme cases (kNN with k=1) to teach what is common and what is uncommon
        - try peer teaching/instruction, learners teach to eachother
        - discussion of bias and variance: vary k of kNN 

- CG: 
    - jupyter notebooks as the method of choice for teaching
    - VA: challenge is to find platform for automatic grading is hard to find (and feedback provisioning)
        - same goes for MOOC platforms
        - tools out there for jupyter
        - some examples: 
            - https://nbgrader.readthedocs.io/en/stable/
            - https://cocalc.com/ 
            - https://www.hubhero.net/
        - other ideas: 
            - have a programming exercise / project in a notebook and then ask questions *about* the project results in multiple choice
            - **peer assessment**
            - Coursera now also offers little one-line coding exercises *within* videos. Something similar might be doable with H5P: https://h5p.org/interactive-video ![](https://i.imgur.com/RMAhJi4.png)

- PS:
    - with large audiences (40-80 people) do a divide-and-conquer approach
        - split audience into groups of 10
        - all groups are presented videos (inverted class room)
        - after time for the video, each team is asked to conduct exercises using a TA/mentor to help or answer questions
        - trying to aggregate feedback stats to see how well it goes
    - deeplearning540.github.io 

Below are list of questions you may want to consider
* What are your top takeaways from your conversation?
    * do exciting realistic examples early on
    * you are not alone ("never teach alone")
    * easy problems are not always easy
* What are questions/concerns that you have about teaching?
    * realistic scalability (for an individual instructor) -> individual feedback to learners
    
* What is one thing from this conversation you want to try in your classroom?
    * automatic grading
    * varying k in kNN classification to explain limits 