Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How do instructors deliver exercises? How can infrastructure better support that? #22

Open
brownsarahm opened this issue Sep 26, 2018 · 15 comments

Comments

@brownsarahm
Copy link
Collaborator

brownsarahm commented Sep 26, 2018

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.

@lexnederbragt
Copy link

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.

@wrightaprilm
Copy link

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.

@emilydolson
Copy link

I've always just used powerpoint slides with questions on them, but the %load method sounds excellent!

@DamienIrving
Copy link

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).

@brownsarahm
Copy link
Collaborator Author

@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?

@DamienIrving
Copy link

@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?

@gcapes
Copy link

gcapes commented Oct 4, 2018

%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

@katrinleinweber
Copy link

The possibility to collapse and expand every section like it's currently possible for challenge solutions would be helpful.

@tobyhodges
Copy link
Member

A general point, followed by a couple of specific suggestions:

  • I think this would be a great topic for an online discussion session soon, perhaps expanded to cover discussion of providing exercises in general. Marianne Corvellec joined my discussion session this morning and wanted to discuss this but we ran out of time. I could easily see how the discussion on this topic could fill 45 mins. @brownsarahm if you'd be happy to attend such a session, please drop me an email ([remove the vowels from tobyhodges]@gmail.com). I'd be happy to host, take notes, and write up a summary to post back here/as a follow-up to your blogpost...
  • 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.
  • 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

@sstevens2
Copy link

sstevens2 commented Oct 5, 2018

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! 👍

@brownsarahm
Copy link
Collaborator Author

@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.

@brownsarahm
Copy link
Collaborator Author

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

@lexnederbragt
Copy link

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).

@tiagopereira
Copy link

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.

@brownsarahm
Copy link
Collaborator Author

@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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants