# 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 
- 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