It's dangerous to go alone, take each other! Remote work has transformed interactive teaching from something that exists in one room to something that can be a community event. While online misses physical presence, by using the practices CodeRefinery has developed, we can keep it reasonably interactive and take advantage of a huge number of other benefits, such as more collaboration, more ways to learn (for different needs), and more large-scale interaction.
This mini-workshop will try to discuss (and demonstrate) some of the best practices that CodeRefinery (https://coderefinery.org) has learned during remote teaching, and provides a hands-on way of getting some experience with them. At only three hours, this is more of a preview and discussion than an intensive training event (and we hope to have a longer event sometime in mid-late 2022).
Schedule
Starts at 12:00 CEST / 13:00 EEST / other timezones, 21 June 2022
This is a interactive, discussion-based workshop. We don't have a perfect program yet, but we do have many topics and exercises and activities to do. We will roughly cover the topics seen here: https://coderefinery.github.io/community-teaching/
T+0:00: Community teaching: the lesson, taught by demo of livestream teaching (Livestream; anyone may attend, includes HackMD Q&A; recorded)
Introduction round and introducing the live stream (not recorded)
Intro to the workshop: Richard and Radovan (5 min)
Teaching tools: Richard and Radovan (15 min)
Workshop organization: Radovan and Johan (10 min)
Socio-technical factors and collaborative lesson development: Richard and Johan
Socio-technical factors: (5 min)
Collaborative lesson development: (10 min)
T+1:00: Setting up a high-quality teaching: screenshare for terminals, slides, websites, and collaborative documents (Zoom and HackMD; discussion and workshop; not recorded) [Radovan Bast, plus co-teachers]
T+2:00: Sharing lessons learned from online collaborative teaching (and/or further discussion from the first hour) (Zoom and HackMD; discussion and demo; not recorded) [Diana Iusan and everyone else]
Questions for discussion session are below
T+3:00: End
Breaks every xx:50-xx:00
Suggested questions for the discussion session
Warm-up question/intro: Which courses are you or your institution offering? Format and time length?
Why should an organization open up to teaching together with other organizations? Benefits and challenges.
Engaging the audience in online workshops - what works? is it a must?
Your preferred platform/tool for Q&A.
How do you present the course material? Free-flow, power-point style, other?
Co-instructing: are you using this approach in your workshops and how do you prepare for it?
Going big. Pros and cons. Or what makes a good size for an online workshop?
Big workshops = many helpers. How do you tackle workshop organization?
Livestreaming - is this something you're using for your workshops or would like to know how-to?
Credit assignments for online courses? Any good strategies?
Teaching vs mentoring: what do you do, which is needed? And how can we provide both given limited resources?
Is the amount of non-degree-program teaching you need to do increasing these days?
Attendee icebreakers
HackMD basics: use it as chat, write at bottom, go to edit mode at least once to make sure it updates live.
Which courses are you or your institution offering? Format and time length?
Introductory courses to high-performance computing
Python courses
Intro to high performance computing, online, halfday
Summer school on high performance computings, onsite two weeks
Intro to HPC/scientific computing. Livestream format.
Numerical methods, parallel prog., AI (all academic, weekly lecture + hands-on). Need to restructure some of them for intensive training. Audience is physics/STEM students and scientists.
Providing courses to Humanities researchers to be able to implement AI solutions in their research. Currently the design is based on on-demand online courses.
Tip: View Twitch in theater mode, you may then have the HackMD window to the side.
Questions?
"Is video buffering?" message on screen (right lower corner, it has inactive "close" button) - is it your side? Thanks.
Looks good to me.
UPDATE: it goes away after (and only after) closing/ restarting the tab, so looks like Twitch UI bug on Firefox.
break-out rooms with no interactions with other "disturbing" groups.
Disadvantages of online teaching:
no informal discussions in breaks
Complicated to ensure active participation/ engagement
People leave and it's hard to follow up
Difficult to keep track of the pace and reception of the lesson (social interaction and visual feedback from the learners)
miss live interaction
There are more distractions on the participant side
co-teaching is VERY confusing +1
it's not like commenting sports games, sorry
it's scary for newcomers
it feels more like you're doing an interview, but interviewing eachother
Sometimes it feels like if the instructors are just chatting together, and not really teching. But this can be modulated having it in mind beforehand.
rkdarst yeah, we do that sometime. The idea is to make it more interesting, than one person info-dumping, which you can find anywhere
The problem I see with HackMD vs eg etherpad is that it takes double horizontal screen space.
Markup syntax may be an overhead for some people -> cognitive overload: split-screen for editing + Markdown…
"Great way to onboard new instructors - extensive training and preparation no longer needed." How is that a benefit? Quality has to come from somewhere.
rkdarst Two people allow on-the-job training and two people can better make quality than one alone.
In this case a caution must be used to not make learning experience a beta-testing for instructor training. I'd suggest to rephrase the statement in the future to clarify that.
Presentations in CodeRefinery contain good information, but is troublesome to see presented a bunch of text that presenter jumps back and forth in on a page. I would really appreciate presentation using MARP https://marp.app/ that shows MD converted to slides.
Yeah, this is a good point. Free-flowing or slide-based? For the current case, free flowing is a bit strange. One way to look at it is we optimize for later consumption, not presentation.
In person teams with local helpers worked really well last CodeRefinery Workshop
BTW, your images hide part of the URL +1
aha. thanks!
better? yes :)
Can't agree more with the terminal tips. Yes! +1
Yeah, teaching is just not taken seriously – by FILL_IN. –> some like to clap on their shoulders how much teaching is provided but not providing enough time to teachers to learn, to prepare, …
More coordination, but also more people. It's a different kind of challenge and I rkdarst find that large livestream is easier, since I just coordinate and others teach. Teachers find it easier, since they "just teach".
In the spirit of "voice of the audience", wouldn't it be natural for the co-teacher to also be the HackMD "watcher"?
Yes. Usually one co-teacher would closely watch HackMD. But there is another role that does things like formatting: adding the question numbers, answering questions which don't need to be answered by voice (useful in a large enough workshop).
Oh, ok, this seems reasonable, yes.
if there are too many questions, HackMD watcher can answer most and help the co-teacher see which are unanswered and most important
Regarding the template, last CRW (Code Refinery Workshop) I myself was struggling with getting rid somehow of the sidebar. Just zooming in does it, but it took me a while to discover this. Again, screen space is a problem when in person with laptops.
I agree, I wish there was a button. We should look at better themes rather than sphinx_rtd_theme. Anyone want to help?
When looking on how to do it I remember I found some template with a hide sidebar button, on the line like "RTD with hide sidebar" or so.
Other tools you use to get feedback during the lesson:
Comments and Q&A 16. maybe not mention that there is too much material to cover and just present what you find suitable. 17. hard sometimes to focus both on screen and what the instructor is talking about
but for some it is important to have the material visible as well instead of just listening - different strategies work for different people - good to accomodate for that
What do you like and what could be improved in examples S1 to S10?
S1:
…
Con: terminal font too large +2
Con: FullHD, needs to be scaled down a lot (at least font is large?)
Con: Dock takes space from the screen
Pro: colour difference helps orient what window you are looking at
Pro: light colors +1
Con: system bar unnecesary
S2:
Pro: shell terminal history present +1
Pro: two-line prompt easy to see, doesn't wrap
Con: lots of text color, some are hard to read
Con: very small text on my screen
Con: lots of wasted space in the middle
Con: web browser window menus unnecesary
Con: Unnecessary decorations on windows
S3:
…
Con: cramped layout, UI not ready for such space-starvation +1
left hand side of interface unnecessary
Things like Jupyter/browsers should have a presentation mode (JupyterLab has one, right?) -> Yes, with RISE extension https://rise.readthedocs.io/en/stable/
S4:
Terminal color scheme not ideal (I think I have seen it as a default of some env.)
Con: Too wide shell prompt
S5:
Pro: the little table of contents seems interesting
Con: too long shell prompt.
Con: command you type don't stand out
con: very small text. Hard to read especially on right hand side panel.+1
S8:
…
some colors are very low contrast to the white
Con: instructor webcams are too intrusive
S9:
…
Con: terminal font too small :) may look different on a half-screen than here, but generally good choice shows right away.
S10:
the history of commands feels in a strange place, it might also cover some content in the terminal?
pro good color choices (good contrast)
vertical sharing
good font size
Con: terminal background is dull/boring
Con: If instructors hide address bar, just remove it. Same for tabs
Good comment on preparing. I've had on-line, on-site (through projectors) and on-site (hands-on) lesson modes and everyone requires different font sizes, sometimes color schemes (projectors are flawed) and so on.
How often do you rehearse and how long before the actual course?
I try to the day before, but have done it a lot (often it takes a day to fix final problem anyway)!
I would say, prepare a few days in advance and talk to instructor.
Suggestion: when doing tests for the terminal setup write down the one you finally go for and have it at hand (exact color profiles, font size, number of rowsxcolumns, etc). Same goes for screen resolution etc.
+1 for solarized ligth -> solarized is designed with readibility in mind.
I like the light grey background
Have you tried monospace comic sans as a terminal font (question by a regular user. Would recommend.)
I don't think anyone has, would you recommend it?
I really like Hack font
I like it when all the instructors use the same screen sharing setup. Did you have an on-boarding with all the instructors?
Agree with no path in the prompt. It will end up taking too much space.
How do you set the path to the terminal title?
prompt-log (link above) tries to do this.
I prefer seeing diversity to understand the teachers' personal preferences better
Seeing (slightly) different terminals helps to learn (relatively) new users to separate UI and content within terminal, because for the uninitiated it is just a wall of text symbols.
+2 Diversity, depending on the learners level. For very basic workshops as less as possible, for more advanced learners it can be ok as they can make wider connections based on their underlying knowledge and they already have some mental model of the matter at stake.
About shell history I planned to show later shellshare https://shellshare.net/ "live terminal broadcast". Just check it, it's really trivial to use.
Nice to hear about screen sharing, but what about the screen behind the scene? That's important for instructors too, what do you have in your secret screen and how is it arranged?
e.g. if you are in portrait mode, do you keep the lesson skeleton next to it, to make sure you stay on track? Or what do you keep next to it?
instructor chat, additional browser windows with content I might need to present during the lesson; but I try to close everything that I know will not need to reduce cluttering as much as possible
In my secret/second screen, the lesson!! X-D
Teleprompter, you mean. :P. Yes! X-DD
I'd say looking in the wrong direction and that kind of camera problem is a lot less annoying than bad sound quality +2 strongly agree. When screen sharing you're not very visible anyway. And it's so HARD to know what you sound like.
What can we do to promote better setups after this course - should we? Dedicated presentation on it? Is there any way to teach this in general?
Hour 3
In an ideal world, how would you like to split your time for working on a topic (i.e., becoming an expert or staying an expert) and for teaching about that topic?
3:1 at first, then taper to 2:2 or even 1:3 if you know the subject backwards.
Sharing lessons learned from online collaborative teaching
We won't have time to discuss all of them. Please vote for your preferred ones. Also, feel free to add comments after each question.
Why should an organization open up to teaching together with other organizations? Benefits and challenges. +2
Aalto story: we opened Python for SciComp, and got a large number of instructors - in the end it was less work for teaching, better quality (more minds preparing it), and most importantly more fun overall.
Challenge: who gets the credit when reporting. It can be challenging to communicate well where credit is due.
Benefit: watch other intructors techniques, tips, etc. from outside your community, which can follow similar practices.
Challenge: Situations might be different at the different sites of the collaborators, how to handle loss of specificity
benefits: learn from others and also get networking
challenges: some organizations might have the "not-invented-here" syndrome and seeing this open collaboration with others as "giving for free" their people / skills without enough credits
+1, big factor!
Co-instructing: are you using this approach in your workshops and how do you prepare for it? +2
facilitates showing how to recover from mistakes
Credit assignments for online courses? Any good strategies? +3
At least it makes us think that attendance is not all that is required for the credits
From my experience in teaching at university, if I gave credits from exercises sessions, many students showed up only for collecting points and didn't focus that much on learning… but on the other side, they were required to complete the course to get a degree, for a free optional workshop, you maybe have less than this problem and it's fair to give recognition for the time and effort spent at the workshop
Giving credits for our courses I find problematic. I'm not a member of the (teaching) faculty.
registering as team or organization can make this easier as this can be delegated to the team representative/lead since they better know/"see" who is there and who is participating
We did exctly this for out local in-person teams.
a standardized quiz could be an approach
But also novice people may not pass the quiz, even though they may have learnt a lot!
making sure people don't cheat would be even harder than in-person
Livestreaming - is this something you're using for your workshops or would like to know how-to? +1
Interesting idea, that's one of the things I actually noted to follow-up in the 1st hour.
more technical question, why did you lean towards twitch instead of youtube for live streaming?
Your preferred platform/tool for Q&A or interacting with the audience. +1
hackmd
pigeonhole.at is pretty nice too, but I think that's not free (and doesn't have that many advantages over hackmd, except maybe slightly more intuitive user interface)
Good ol etherpad for novices at least. This worked ok for ~50 people.
I actually use the zoom chat a lot. But it's really bad :( (and worse for larger numbers of participants)
hackmd good for code examples and sharing error messages
google doc feels less anonymous (but it is possible to edit via private mode browser)
hackmd/md allows more focus on content and less thinking about formatting
I'd like to emphasize, I think hackmd clearly contributes to congnitive overload, and does not contribute to anything lesson related (even if the rendering for the non-initiated is nice :-).
this always pops out every now and then, so it must be true, but markdown is nearly plain text, so I am always a little surprised when I hear this)
Is nearly plain-text, yes. The problem is the nearly :-)
ok fair enough, I guess I have used markdown so much that I don't remember if/how much I was confused at the beginning
Not much confusing I guess, but everything contributes +1
very interesting comment. I found that for me gdoc has too much cognitive overload and I found md more focused. It is very useful for me to see that this is different for others.
agree, for me any tool (like google docs) with a lot of graphical formatting is a lot more distracting. HackMD is easier on my brain.
I guess it depends on the background, for people with more CS background, plain typing tools like markdown can feel more intuitive and less mentally exhausting, but I guess for people who come from a different background GUIs and click, drag-drop workflows feel more intuitive.
Engaging the audience in online workshops - what works? is it a must? +3
parallel chat. During Q&A we look at it and see questions, and highlight and discuss important ones
I think it makes for a lot better learning, and for me as an instructor it's essential because otherwise I just get so bored I want to die. But I don't always succeed here.
asking questions/polls that learners can answer
showing learners that their input/feedback is taken into consideration (either live or for the next day)
How do you present the course material? Free-flow, power-point style, other? +1
Slides for prepared-in-advance content, mixed with free-flow demos. The former help students to remember lesson structure. (Of course, I am porting content from live lectures…) Exercises have their own session in academic courses. +2
Same here: slides for the big picture interleaved with type-along parts.
for any teaching of coding I think type along works a lot better, at least for what I do. +1
Going big. Pros and cons. Or what makes a good size for an online workshop?
You need a certain number of participants to make a tool like HackMD work - too few people and it's just too slow. It's then easier to have people just talk out load, but this can also make for a bit low energy in the room. On the other hand, in a larger group it's easy to miss that some people are not keeping up.
20 to 100 participants
worked with small audiences (~10) so far, but I think larger would be easier (more people that can interact)
$<$20 people, then just a regular zoom call has been working quite well (but far from optimal)
size depends on topic of workshop, audience
Big workshops = many helpers. How do you tackle workshop organization?
I would say big workshops many helpers. The challenge is to find enough helpers. (And if you find enough, also coordinate all of those has its own organizational challenge of course)
I somehow disagree (to when in zoom was mentioned that big events feel more engaging), for me e.g. big conferences / online events feel much drier, because there are a lot of people and hence less room for small-group interactions. Opposed to that, I find small events (e.g. this one) more cozy and better for connecting with people. Well, you can still have great community feeling in big events, but it doesn't come for free and it takes way more effort to achieve the same level of "connection" you could get in a small group.
Teaching vs mentoring: what do you do, which is needed? And how can we provide both given limited resources?
More teaching for novices (they learn tools along with content), more mentoring for advanced users (where "how?" can be skipped in favor of "what?" and "why?"). +2
mentoring can be beneficial for novices too, but I agree it's less critical for them than for advanced users and at some point you need to cope with limited resources
There seems to be a lot of emphasis of hands-on. I'm wondering if we could emphasize demos more, if people can do the activities later.
I'd say that it depends on the kind of course. If is an online workshop hands-on "forces" them to type through the lesson. Delegating this to later exercices…well, it happens to me, many times they end up as just good intentions, never fullfilled. For eg more traditional university lessons are different as you can treat them as assignments.
Agree on activities not done during a workshop tend to not get done. So just demo is maybe interesting but probably not as useful.
Is the amount of non-degree-program teaching you need to do increasing these days?
I would see yes, and this has both opportunities and threats. The obvious good side is that it makes what you need and valuable knowledge / skills available (for free). The tricky part is that as teaching becomes decentralized, there will be both good and "not-that-good" resources and might be not trivial to distinguish between those, of course institutions will lock on the 1-2 "not-that-good" to oppose and slow down this more open form of teaching.
Feedback
This workshop had (multi-choice):
too much material o
too little material
just right ooo
material wasn't on-topic:
voted just right but honestly, there's still a lot to discuss. Thanks for letting us have this discussion! +1
One good thing about today:
The general discussion was very good and I found it all in all productive
very interesting discussions and comments
Interesting discussions! Much food for thought
very interesting discussion. learnt alot
The experiences you've shared in what has worked or not. Especially the idea about the vertical screenshare and setting up the look of the Shell
One thing to improve for next time:
Richard's sound :-) mmm not sure, I think is the audio/mic setup
All things flows better second or third (or fourth) time.
This is mostly a preparation issue, but the delivery could be tighter. Even with caveats about multiple instructors, spontaneous communication etc., asking "would anyone else like to comment on that?" 15 times in an hour probably just means that there were too many topics planned during that hour. +1
It was a lot of different inputs, at times you were sharing 2–3 windows, with a lot of content (especially) text on each, there were 2 people talking and then I had hackMD up on the other side of the screen where people were writing in a few different places. I felt that I didn't really listen at all and I'm very tired mentally now. If it weren't for the breaks I wouldn't have managed that well even. +2
Other comments:
Can we have a one-page overview of the courses taught together? So you know where to join, or what pieces are missing?
Helping people get started with community teaching
teaching hackathon for developing material / setup etc. sounds a very funny idea (like coding day, but with focus on teaching).
reminds me of a coding day where I was once. People showed up with buggy code or application ideas and were matched with experienced users to make the code better, get into specific aspects of the language etc. Something similar, bring your teaching material, discuss on how to make it better + small simulation to get feedback on screen sharing setup, etc. Well, I guess this would be a lot of work to plan
would love to come to a teaching hackaton
About hackmd, related to previous comment, in a live coding situation you can not keep up with everything. In our (Carpentry) workshops we tend to use it (well, etherpad) just for someone taking notes in case people get lost, and also interacting with more advanced lerners who are "bored" and ask more advanced lessons. Keeping an eye on the lesson, the instructor terminal, and your terminal, is definitely tough.
How do we get a certificate? X-DD
ha!
Many thanks! This was really interesting!!!
Thank you! Very interesting!
Please always write above this line, at the end of the document.