Open brownsarahm opened 5 years ago
As @brownsarahm knows, I really like the %load
method and I use it a lot in my regular teaching.
I am a big fan of multiple choice questions (MCQ) for formative assessment. I have used Socrative for that, and at some point one could import quizzes prepared by others. The Etherpad is till up: https://pad.okfn.org/p/swcarp-socrative-quizzes but not maintained. Biggest drawback is that this cannot be automated. I think Socrative allows excel import, so that may help.
Having the option of a page (or html slide) per exercise is really good. For MCQ, this can be combined with your favourite quiz-tool (or even a simple Google Form with 'option 1, option 2, option 3, option 4' as answers without any specific question). Once automated, creating a markdown file would also be helpful, people can then plug that into whatever they use for delivering the exercises.
In my own classes, I usually use the nb-extension codefolding. I like it because you can put multiple folds into a code block. So if I'm having them do something complex, the students can unfold a little if they're having a hard time getting started, then unfold totally to check the answer at the end.
But that means an additional install, and therefore more chances for something to go wrong. So as a maintainer, I'm on board with moving my repo to %load magic.
I've always just used powerpoint slides with questions on them, but the %load method sounds excellent!
I simply get people to go to the online lesson notes (here's an example) and scroll to the bottom of the page where the lessons are in orange boxes. If they missed anything I said they can scroll up for the lesson notes, and I want to them to be familiar with navigating to the lesson notes as hopefully they'll be referring back to them after the workshop is over.
The %load
magic is a neat trick, but obviously doesn't help with lessons where we are working from the command line (e.g. the bash and git lessons).
@DamienIrving have you lessons where the exercises are spread throughout the episode? would, for example, having 1 page per exercise help? or a page of only exercises with numbering help?
@brownsarahm I've done both in the past (i.e. exercises spread through the episode and exercises only at the end of the episode) - it's certainly less confusing for learners if the lessons are only at the end of the episode (the consequence being that you end up having more, shorter episodes).
Sometimes I think a separate page with the exercises would help, but I generally find that after I've just introduced a new concept, learners need to refer back to the lesson notes in order to answer the questions in the exercise (i.e. so the notes and exercises might as well be on the same page). Perhaps a hyperlink at the top of the lesson pages to the exercises at the bottom would be helpful so learners don't have to scroll all the way to the bottom would help?
%load
magic looks really good. But I don't see how we could use it for Git, Shell, or MATLAB lessons.
I just show the exercise on my screen and tell learners which episode it's in so they can find it on their screen, and sometimes have a slideshow with a link e.g. http://slides.com/gcapes/git#/22
The possibility to collapse and expand every section like it's currently possible for challenge solutions would be helpful.
A general point, followed by a couple of specific suggestions:
%load
magic had an option to specify the cell type e.g. %load markdown /path/to/file
. No idea how easy this would be to add to the existing Jupyter/iPython setup but there's potential here for a PR, I think.As @tobyhodges sort of mentioned this question does come up a lot in instructor discussion session. Even in my somewhat limited time hosting this question has come up about half the time. I’d love to see a blog post/handbook page of the different methods to refer to. I mention some of the methods above: showing them on the website, making slides, socrative. I’d forgotten about @brownsarahm mentioning the how great load magic worked though. 👍 for the instructor discussion idea.
Like @lexnederbragt I’m a fan of socrative. From sticky note feedback, the learners seem to like it as well. Wish this could be more automated but I would really love an excel file in extras for importing the challenges from a lesson though. I’ve not taught python yet but I’m excited to try load magic when I do. I will certainly mention it to others now too. I ❤️ed the gif example in your blog post @brownsarahm. Thanks for starting this discussion! 👍
@sstevens2 I actually came across this yesterday: https://docs.carpentries.org/topic_folders/hosts_instructors/instructor_tips.html#using-exercises So we can add things to that page from this discussion.
@sstevens2/ @lexnederbragt whatever scraping we do to extract exercises for individual files could be adapted to also/alternatively have output in the form for socrative. Can you link the format required here?
- it would be excellent if the
%load
magic had an option to specify the cell type e.g.%load markdown /path/to/file
. No idea how easy this would be to add to the existing Jupyter/iPython setup but there's potential here for a PR, I think.
I agree that would be super helpful, but I'm also not sure how easy that is to add. maybe we can submit it as an issue? it would have to go to the ipython project.
@tobyhodges I'm on board for a discussion
- for the other SWC lessons, e.g. Shell and Git, perhaps a shellscript that takes an integer argument and writes the exercise text to STDERR? This should be relatively easy to write but perhaps harder to maintain unless one could find a way to update it automatically from the lesson repository
would cat
be enough? the usage syntax would then be similar to the load magic syntax. we could have them navigate to the same place each time? However, for those lessons, since a terminal window is generally not full width so having a website open on the other half of the screen might actually be better? Since for Python, R, MATLAB we typically work full screen having files that can open in the context of the notebook/RStudio/MATLAB would be more important in terms of reducing cognitive load by reducing unrelated tasks.
But I don't see how we could use it for Git, Shell, or MATLAB lessons.
@gcapes the goal is to figure out what instructors are already doing in all of the different contexts so that we can update the lesson infrastructure, which is shared across all, to support instructors better. Load magic is one option, but there is unlikely to be any option that is equally good across all lessons, so we want the infrastructure to support many options.
From discuss, we also have the point that the web-rendered versions of exercise pages should be compatible with zooming in and projecting/ support large font.
We will be having an instructor discussion session on this topic:
Wednesday, November 7 15:00 UTC - (3pm LON, 10 am NYC, 8am LA) - Europe/S. Africa/S. America/N. America see in your time zone sign up on the instructor discussion etherpad
Preparing a quiz for importing into Socrative (through an excel file):
I assume that with enough clever programming the code could spit our a compatible excel file for import into Socrative.
I guess it would be better to use an auto-generated excel file rather than import it to someones account and share the final quiz (as per these instructions).
The %load
magic also allows downloading from a URL. One advantage is that the exercises could be centrally located. I haven't tested this on a real workshop, but this also makes possible delaying the solution to an exercise. For example, load an exercise but don't give the solution straight away. Let the students try to solve it, and after a while update some remote file (e.g via a git push, or a simple static file on a server) and make the solution available.
@tiagopereira I thought about that, but the urls learners have to type are potentially long; I think I unsuccessfully tried it with shortened urls
from trainer discussions: it would also be helpful (at least for instructor training) to support export to ether-pad compatible plain text
let's discuss how instructors provide exercises to students to help refine our plan to update the infrastructure to support teaching and giving exercises more efficiently.
I have written a blog post for the carpentries on how I use
%load
magic with jupyter notebooksand will update this issue with that link when it's available to start the discussion.