--- tags: Carpentries --- # CarpentryCon 2022 attendees ## Session information Session Registration Not Required Duration: 90 minutes Name of Session Leads: * Richard Darst, Aalto University / CodeRefinery * Luca Ferranti, University of Vaasa * Radovan Bast, UiT The Arctic University of Norway / CodeRefinery * Samantha Wittke, CSC Abstract: In 2020, most courses and training projects transitioned from in-person to online teaching, but many tried to use in-person strategies online. CodeRefinery started this way, but soon scaled up and developed a very new model of online teaching: combining livestream, co-teaching, and parallelized and threaded questions and answers. This strategy has been applied to teaching events with up to 300 participants, and requires not only adjusted technology, but an adjusted mindset for the course purpose and outcome. During this discussion session, we will share our strategy and lessons learnt and how they can benefit the Carpentries community. Participants who have undergone similar challenges are encouraged to also share their experience and how they solved it. At the end of the session, hopefully everyone will be more prepared to manage large courses online. Prerequisites: Knowledge of general structure of Carpentries-style workshops Material: https://coderefinery.github.io/community-teaching/ Code-Of-Conduct: https://docs.carpentries.org/topic_folders/policies/code-of-conduct.html Captions: Google Chrome can provide automatic captions. ## Connection Information Livestream (join this first): https://twitch.tv/coderefinery/ xx:00 - xx:05 is "connecting time pre-introduction" ## Ice-breaker questions - I have hackmd open: - yes: oooooooooooo+ - no: o - What tools do you use to make online teaching feel more like in-person teaching? - providing a room for anonymous questions (to encourage more questions) and reacting to them (to show that participants can influence the flow) - keep my video on and don't hide my background, makes it feel more live and human - .. - .. - How is the weather at your place? - very sunny and t-shirt warm (northern Norway) - very nice sunny weather (Helsinki area) - few clouds and not too hot (24°C) (south-western Finland) - heat wave (south-central Canada) - sunny & warm in Maryland, USA (rising towards 30°C) - sunny and warm in Munich too (31°C) - cool morning air in California, USA (will be hot later)+1 - Really hot and dry(35 degrees Celsius) in Paris, France - sunny and warm in California, USA ## Hackmd sandbox - The Twitch shared screen is very tall and hard to read. Can the browser be resized to a wider aspect ratio to improve readability? Thanks :D - The portrait screenshare is part of or strategy we'll talk about, but yes, it needed to be zoomed in! - OK... lots of blank space on the share, but good to know it's a feature not a bug. - question? - answer - comment ## Schedule / notes (to be updated right before the session) * **Introduction (10 min)** * **Welcome and introduction** * Code of conduct: https://docs.carpentries.org/topic_folders/policies/code-of-conduct.html * Who we are - am I asking a question? - yes this is the right question - and that was a right answer * **About the CodeRefinery project** * Teaches intermediate-level software development tool lessons * Training network for other lessons, too * Publicly-funded discrete projects (3 projects actually) transitioning towards an open community project * We want more people to work with us, and to work with more people * Q: are you a carpentries lesson program? or want to be? * not yet, but a possible outcome of phase 3 * **About CodeRefinery workshops** * We have online material, teaching, and exercise sessions * https://coderefinery.org/lessons/ * Q: how do CodeRefinery workshops differ from carpentries workshop? * Quite similar in spirit (at least used to be). Now more online and larger. More advanced. More indpendent work (less focus on type-along). Onboarding sessions. * **Since our presentation in 2020** * "How to scale up to reach hundreds of learners" * Better privacy * What we presented there has become more smooth and routine now * More structured onboarding sessions and material * Teaching together * What we do now allows us to reach even more, with less effort * **Livestreaming opportunities and challenges (15 min)** * **Teaching online** * online as an opportunity for more community engagement in multinational project, workshop team from all over Nordics -> no need to travel for instructors and learners * breaking limitations of classroom: number of participants, screenshare/helping, watch only topics you are interested in, asynchronous Q&A only (whole team can answer, instructor can pick up question when fitting), ... * -> Teaching online allowed us to reach many audiences that we couldn't before, and provide more ways of attending * Poll: who wants to keep teaching online? * yes: ooooo+ * no: o * partly: ooooooo * hybrid: oo * **Livestreaming** * Zoom has problems with open courses, but livestreaming platforms allow huge audience and provide good moderation tools to build on. Though we don't use those moderation tools. * Livestreaming is a huge culture shift. Think more like watching a live TV program than a lecture. * There are some downsides, but the points we are about to cover more than compensate for us. * Q: why twitch? * Mostly history, we started it because we knew it. Possibly some other platform would be better now * Portrait screenshare support is/was lacking in some platforms. * Q: For someone who is new to teaching, do you think it would be easier to do their first worshop or in person? * Maybe. But most important is doing their first workshop as a co-teacher (the point right below). Team teaching is great for onboarding and I would recommend it instead of solo. (open question: does team teaching work well in-person? In theory it should) * **Team teaching** * Team teaching provides an interactive feel even when few learners ask questions * Less stressful for the teacher, if you forget or miss something, someone is backing you up * Risk: can be more confusing if not properly implemented * Q: how to prepare for team teaching? * https://coderefinery.github.io/manuals/team-teaching/ * **Learner teams** * Long-term discussion group with peers during exercises. * Pre-made or single learners put in teams. We give each team an exercise leader if it doesn't have one. * Pre-made teams: people who knew each other before hand provide excellent interaction and skill retention. * Expecting a community feeling in a lecture of 10 or more doesn't work well. Use teams instead of expecting interactive lecture. * Q: how to make sure everyone is included if some are more extrovert and some are shier? * onboarding for exercise leaders to help them prepare handle the teams * **Distributed workshop organization** * If another university/organization wants to run the course, they can easily join our existing course at little cost/risk to them and to us * Each organization that joins provide a great benefit to us (helpers, instructors) * They can reserve an in-person breakout room and provide mentors while watching the livestream. A great experience for their audience. * Comment: and also accept that if you can't do everything, direct people to the livestream/hackMD and say "we don't promise more than that". Let local organizers provide the rest. * **Roles and tools (20 min)** * **Workshop roles** * In order to manage 100 people, we need well-defined roles. * Split **instructor coordinator** and **registration coordinator** * **Instructor** can focus on teaching; can take other roles when not teaching * Other specialized roles: * **HackMD manager**: answering questions in real time, editing, referring to repetitive questions, move and format text, number questions. Can raise questions to the co-instructors if one co-instructor isn't watching. * **Broadcaster**: livestream tech, * **Director**: flow of the course: preparing and cueing instructors, switching the livestream scenes, announcing schedule, adjusting schedule as needed, * **Host**: manager of learners during the course, organizational issues, * **Expert helper**: all-around generalist who assists wherever is needed, rotates through breakout rooms and helps the exercise leaders. * **Exercise leader**: keep teams on track, help with questions, * ... * Issue: this is a radically different approach from "teacher does everything" * Onboarding takes time but people learn by example. * Q: what's the minimun number of organizers? * Minimum two (separate instructor coordinator from registration coordinator), plus exercise leaders. Usually the actual instructors are different from the coordinators. * **Instructor tech setup** * https://coderefinery.github.io/community-teaching/instructor-tech-setup/ * Screenshare: portrait layout * Comment: Zoom allows "share a portion of the screen" which is what does this * Readability and beauty * Prompt * Sharing history * Aside: the other page is what our lessons usually look like. * Q: Should instructors be forced to have a consistent screenshare? * We don't have a definitive answer. The more novice/earlier in the workshop, the simpler and more consistent it should be * let's ask people * yes: o * no: * depends: o * **HackMD** * Pausing and waiting for people to speak up isn't scalable or as inclusive as we hope * Asynchronous Q&A allows many more questions, including advanced questions which couldn't be answered otherwise * Problem of information overload. Learners must be prepared, but adapt quickly. * Q: How much do learners end up using HackMD to ask questions? * In a 3-hour course we can easily have more than 100 questions, all answered in real time without interrupting the instructor. The instructors follow and raise thi mportant quenstions * I guess it kind of depends on the workshop size and audience background level, but in my opinion in last Spring coderefinery workshop we had a nice constant flow of questions coming * Q: Why HackMD and not etherpad, google docs, etc. * For intermediate+ courses, markdown is good pedagogically * Markdown is plain text (open format), not proprietary * HackMD documents are backed by a GitHub repository for version control & recoverability * **Video recording** * We don't expect many people to watch the recording from scratch later. Some do. Some might look afterwards a few pieces. * Learners get an "instant replay" to review, or to make up for a lost day, which is great. * Recording only works if privacy is guaranteed and effort is low. This is only possible with the instructor-audience split setup of livestreaming. * **Video editing** * Video editing can take a long time, and makes it hard to release them quick enough * Privacy: since it is guaranteed, you can be "good enough" instead of perfect. * ffmpeg-editlist helps: https://github.com/coderefinery/ffmpeg-editlist * How you can get involved (5 min) * **Possibilities for Carpentries** * Carpentries is currently designed around small workshops, so many of these ideas can't directly apply * Yet many of these tools and also team teaching can still be used * You can run your own breakout room for any of our workshops * Join as observer if you want to see this in action * **CodeRefinery's plans** * We are continuing to focus on online-first with local breakout rooms * We welcome people joining us, either individually or as an organization * Still interested in collaboration with Carpentries * We need to become better at marketing and outreach * Next workshop coming up in September: https://coderefinery.github.io/2022-09-20-workshop/ * CodeRefinery chat: https://coderefinery.zulipchat.com/ * **DISCUSSION**: How can Coderefinery become closer to Carpentries? * Audience discussion (45 min minus overflow time) * **Livestream Q&A** (15-30 min) * **Zoom Q&A** (15-30 min) Q&A (write questions here): 1. What is the same and different with this demonstration, compared to a real course? * there would be a separate hackmd for questions which is not screenshared * in real workshops instructors talking are alternated by exercise sessions in breakout rooms * this gives instructors and exercise leaders the opportunity to small breaks 2. Engaging the audience in online workshops - what tips/tricks worked for you? - coteaching provides a built-in form in interaction. Instructors interact with each others and since they are prepared they offer an engaging dialog to follow to students - Make sure you screenshare the HackMD so that people can see. 3. Any good strategies for credit assignments in online courses? How do you all deal with participation or credit certificates in your online teaching? (question to all) - separate teaching part from evaluation part, don't mistake presence for participation 4. How do you recruit enough instructors? And especially retain them over time? - we try to motivate their employers/groups to allow them to spend some portion of their work time (20% or so) on teaching or lesson development and we hope it can be documented as a win-win scenario (since learning then works both ways) - instructors seem to enjoy teaching CodeRefinery courses so much that they want to come back :) - trying to lower the barrier to contribute (join an existing session) - we also encourage development of new material with low barrier (since the project is still small, the review process is not very rigid yet) 5. How can these livestream workshops be adapted to academic libraries or public libraries workshops? * In principle adapt the content, maybe adjust the tools some to be suitable to your audience. I think the general idea works, and provides good societal impact: anyone can attend! With more for your audience (e.g. ). 6. Do you also send a survey to the participants to evaluate the course material and structure? * Yes. Feedback is usually quite positive. * Is there a typical critical point that arises? * too little time for xx * too much scrolling and window switching * too many windows to follow * something was too fast and/or too slow 7. What happens if internet doesn't work? * You improvise, wait a bit and resume later (we give a warning to wait around and keep trying to join if the stream goes down). Disasters can happen in any kind of course. * Actually the fast.ly CDN failed during one of our courses and it caused some problems, we took it in stride. * for instructors: as there is always a minimum of 2 instructors, teaching continues also if one drops out 8. What kind of equipment is needed? * https://www.youtube.com/watch?v=S9Jor12Cxdc * We think this can be done with one laptop + one extra monitor. But this need smore development. 9. What happens if people don't show? * no show is a problem * recordings are useful 10. What happens if too many people show up? * great! and with the livestream no problem 11. What are your preferred platform/tools for Q&A or interacting with the audience? (question to all) - ... - https://pigeonholelive.com/ 12. would you like to continue the discussion on carpentries zoom? * yes: * no: ~ 15 (?) unique editors of HackMD ~ xx twitch watchers From Zoom discussion (~11 participants): * More information about teams? * see a bit about it here: https://coderefinery.github.io/manuals/how-to-attend-stream/#social * easiest to understand by joining the next workshop, eg as observer :) * Why twitch? * not much research done into other platforms * What is minimal amount of people where HackMD works well for courses? * * Is there a critical threshold where hackmd gets too crowded? * HackMD from our spring workshop: https://coderefinery.github.io/2022-03-22-workshop/questions/day1/ ; feedback section in the bottom: https://coderefinery.github.io/2022-03-22-workshop/questions/day1/#one-thing-that-was-good-about-today * HackMD can work too well (distraction) * Responsiveness can decrease if too many people are editing; suggestion to keep it in view mode, when not editing * What is the largest class size you have had in your live streams? * last autumn goal (Python for scientific computing): 500 ; reached on first day * CodeRefinery: 200-300 attendees * goal for this year: 5000 * drop-off rate? How to keep participants engaged? * usually low within one day * bit higher between days (different topics)