carpentries / instructor-training

Instructor Training
https://carpentries.github.io/instructor-training/
Other
175 stars 290 forks source link

How to teach with Participatory Live Demonstration vs Participatory Live Coding #1363

Open brownsarahm opened 2 years ago

brownsarahm commented 2 years ago

From Nathaniel Porter:

Had [instructor trainees who do not program in instructor training workshop this week] and got feedback that [most of the IT curriculum] assumed some form of coding as the primary goal. They noticed there wasn't really any discussion of differences in live-coding when you're using a graphical tool (like the OpenRefine and Spreadsheets lessons) instead of a command-line or programming tool.

[denotes changes by me]

This issue is to collect notes about how trainers talk about teaching these tools in Instructor Training workshops and and tips from any instructors who teach these tools often so that they can be incorporated into the curriculum. The final format of inclusion will be determined based on the tips we get.

For me the main difference is that go slowly is even more important (learners can't catch up by copy-pasting) and it looks a little different:

ragamouf commented 2 years ago

Giving public/"traditional" librarians a novel experience to teach live coding is a salient example to bring learner doubts and insecurities to the fore, while they learn explicitly about teaching skills.

As a coding novice myself, running commands in the command line is sufficiently different to "yet another tool" that as a learner I have a richly relatable experience that I can apply to what I'm learning about in how to teach others in an area they may feel conspicuously amateur.

It's important how you frame the learning task. Perhaps it's worth acknowledging common misconceptions or challenges for the usefulness of coding for "traditional" Librarians. Such as:

  1. Why should I learn how to code and even teach our users/patrons/clients to code when we have an IT team?
  2. Coding skills will be redundant in the future because we'll have tools and graphical user interfaces for that.
  3. It's too hard, my brain doesn't work that way.
  4. Coding is only for computer scientists.

All these challenges can be useful talking points as you introduce either participatory live coding or live demonstration.

brownsarahm commented 2 years ago

Hi @ragamouf These are great tips, but as I understand them, and please correct me if I'm wrong, they are about how to motivate why learners or instructors as learners should learn to program not about how to deliver instruction via participatory live coding oversus demonstration. I understood the original question here as how to adapt the instructor training material to help instructor trainees who will in fact actually be teaching openrefine and spreadsheets.

ragamouf commented 2 years ago

Thanks @brownsarahm, you're absolutely correct, this is a useful clarification. If my comment is too far off topic I can start a new thread. Perhaps the name of the issue should change? I understood the issue to be comparing two instances of teaching, which to me includes addressing learner motivation (why should I learn to run participatory live coding if I'm a librarian and core focus is to show people how to use open refine and spreadsheets?).

jt14den commented 2 years ago

With menu-driven tools like Open Refine there are a few things I do that are more matters of a degree from what we normally teach with coding:

One thing to note about Open Refine instruction in LC. It is menu-based for common tasks but does move on to more command-driven actions that use regexes that are more code-based. And part of the lesson in LC is to teach how to capture the commands in json for reuse.

maryemurphy commented 2 years ago

There is alot of great discussion here. If I understand correctly, there is an ask for feedback on both learner motivation and how best to deliver the differences of skills gui vs command line. I believe that in the explanation of importance, one can describe how a command line often has high capability than a gui interface. Also how they play into each other. Describing out the pathway of drop down menus is like identifying the directories in the command line interface. It's not a goal of coding per say but understanding the foundationally rules that surround coding-- including how data and files are structured and how to best access, manipulate, and analyze them.

brownsarahm commented 2 years ago

Thanks for joining the discussion @maryemurphy.

@ragamouf if you are proposing a specific revision to the curriculum on motivation, a new issue for the motivation is welcome. If you want to open a discussion among trainers on how to present that/answer trainee question more generally, a discussion is better.

I don't know where in the carpentries we would put discussion of how to motivate materials for a learner who might not be motivated to take our workshops.

To clarify, the specific request is for tips on how to teach via live demonstration that is not live coding, so that we can add them to the IT curriculum. Instructor Training has a lot of material how to teach via live coding, but some trainees do not expect to teach that way or even if they will sometimes, they sill found that the workshop does not prepare them to teach via live demonstration.

maryemurphy commented 2 years ago

@brownsarahm, Thanks for the clarification. I think the first step is to talk outloud while coding, whether teaching or not. Get used to talking outloud and describing what is on the screen. An exercise could be to transcribe code to a terminal and talk a partner or small group through a semi-short coding example, bit longer than hello world.