# 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