Skip to content

sciprog-sfu/lesson-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

Leading a Study Group Session

We want your workshops to be the best they can be. We believe in a dynamic teaching style that engages the audience. To achieve this, here are a few guidelines for leading a study group session. We use the term "tool" below, but this can as well be a programming language as it can be a software package.

Checklist (tl;dr)

You can edit this file and check the items below by changing [ ] to [x].

  • Design lesson to last approximately one hour
  • Explain the motivation for using this tool
  • Code along as opposed to code lecturing
  • Try not to be too domain-specific
  • Include a few challenge problems (2-3)
  • Keep toolbox as simple as possible
  • Publish the lesson notes online for others to use
  • Publish screencast online

Checklist (--verbose)

1. Design lesson to last approximately one hour

While it's hard to time a hands-on lesson, try to design it such that it lasts approximately one hour. Importantly, if you don't get through everything, it's okay. It's better to leave stuff out and allow the audience to look up your lesson notes afterwards, if need be. If you speed through the end, you'll lose your audience and they won't appreciate as much the value of the tool you're presenting.

2. Explain the motivation for using this tool

Which problems does your tool solve? What differentiates the tool you're demonstrating from alternatives? What is it good at? What is it not so good at? Spending some time on the motivation for learning about this new tool and setting up the problem is essential for engaging your audience. It provides them with a context for an otherwise unfamiliar "thing".

3. Code along as opposed to code lecturing

Demonstrating a tool as a code along is much more enjoyable than reading code off of slides. It ensures that every one feels like they're on the same boat. And when they attain some milestone during the session, they get to feel that sense of achievement that is absent from code lectures. So, be sure to circulate any lesson notes and especially data that will be used in the lesson beforehand.

4. Try not to be too domain-specific

We welcome scientific programmers from all fields. Accordingly, your lesson shouldn't be too domain-specific. It's okay to use your own data as part of the demonstration, but be sure to highlight the value of the tool for other contexts as well.

5. Include a few challenge problems (2-3)

While it might be easy to code along mindlessly by copying the presenter, challenge problems allow the audience to take some time to synthesize what they've just learned and apply it in some useful way. Furthermore, it gives a chance for yourself and helpers to swoop in and help out anyone who got stuck at a certain point. Finally, why would we take away the opportunity for the audience to experience that rush of dopamine when you get something to work?

6. Keep toolbox as simple as possible

It might be tempting to show off more than one tool during the demonstration. In fact, it's probably more representative of what happens in practice. However, with every new tool that's introduced in a lesson, there's a significant burden in terms of cognitive load put upon the audience. This distracts from the tool that's being demonstrated. Hence, we recommend that you restrict your toolbox to the strict necessary to do your tool justice.

7. Publish the lesson notes online for others to use

If you're reading off this template, you're already off to a good start. Ideally, you can fork this repository and add your notes and data. By having your lesson hosted online (e.g. like GitHub), it allows two things to happen: the audience have a resource they can revisit later when they wish to use the tool you demonstrated, and others can use and build off of your work when leading their own session. We're firm believers in collaboration!

8. Publish screencast online

Due to scheduling, some people won't be able to make it to your session, despite wanting to. In some cases, they physically can't make it, and a live screencast would benefit them. In other cases, they're busy, but would like to watch the lesson when they get the time. Posting the screencast somewhere online enables this. We've included instructions below on how to set up Google Hangouts On Air, which makes live screencasting rather painless.

How to Screencast a Study Group Session

Setup

  1. Ensure that you meet the minimum requirements for Google Hangouts.
  2. If so, install the Google Hangouts plugin if you don't already have it.
  3. Visit the Hangouts On Air page and click the "Create a Hangout On Air" button.
  4. Sign in to Google if you're not already.
  5. Add in the details about the lesson (title, date and time) and create the Hangouts event.

Broadcast

  1. Visit the Events page and click on the Hangouts event you created earlier.
  2. Click on the Start button and skip the "Invite guests" step.
  3. Enable the Screenshare app (look for the green icon on the left-hand side) and select the "Entire Screen" option.
  4. Wait until the loading is ready (at the bottom) and then click "Start Broadcast".

About

Template for creating a study group lesson

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published