swcarpentry / DEPRECATED-bc

DEPRECATED: This repository is now frozen - please see individual lesson repositories.
Other
299 stars 383 forks source link

Getting the exercises to students in a live bootcamp #713

Closed jdblischak closed 9 years ago

jdblischak commented 9 years ago

In novice/teaching/01-general.md we are advised to not show the learners the online rendered versions of the lesson:

So my question is, how should we deliver the challenges to the students? I'd rather not copy-paste out all the challenges from all the lessons to be used in a given bootcamp. The novice lessons have div tags surrounding them, for example this challenge from the shell section:

<div class="challenge" markdown="1">
What does the command `ls` do when used with the -s and -h arguments?
</div>

We could utilize this to write a script that pulls all the exercises for a given subject to create a new html page. Has anyone tried building such a script? Is there an easier way that I am overlooking?

wking commented 9 years ago

On Fri, Sep 12, 2014 at 03:07:03PM -0700, John Blischak wrote:

  • Point learners at the online versions of the long-form notes (either on your bootcamp's home page or at http://software-carpentry.org/v5/ after the lesson is done: if you do it before the lesson, they'll try to read the notes while you're trying to talk.

Heh, I hadn't realized that was the suggested procedure. I usually have the long-form notes open in another window for my own reference, and then I just leave the challenge section visible for longer while the students work through it 1. If students want to ignore me and read the long-form notes themselves, they'll get all the same information (and likely get it faster ;), so I'm ok with that. On the other hand, if they prefer the written notes to my lesson, I don't see why they'd bother showing up to the workshop in the first place. It's not like we're dispensing any secrets that you can't easily learn online. All we're doing is providing an in-person launch for folks who don't want to start on their own.

rgaiacs commented 9 years ago

So my question is, how should we deliver the challenges to the students?

Normally I write it at the etherpad being used for the workshop when proposing it to the students.

synapticarbors commented 9 years ago

I just taught at the University of Delaware bootcamp and I ended up putting the challenge cells into their own notebook. I'm going to write a longer post on this soon, but basically I had a couple of notebooks for each lesson. For example for the python 01-numpy lesson:

At the start of the lesson, I provided the students with 01-numpy_session.ipynb which was essentially blank except for a little intro stuff. I then had everyone copy this file, and I made a copy called 01-numpy_livecode.ipynb, which is what I started the lesson in. I had a separate notebook called 01-numpy_challenges.ipynb that had just the challenge cells, which I copied the challenges into the livecode notebook as we went. The evening after a particular lesson, I committed the livecode notebook so that they had a complete copy of what I did in the session, as well as the nice annotated copy that is provided in novice/python. All of this was done in lessons/udel-python:

https://github.com/jrherr/2014-09-11-udel/tree/gh-pages/lessons/udel-python

I think it worked pretty well. I like that both I and the students have a permanent record of what we did in the lesson in addition to the official materials. I had originally thought of instead of using a largely blank notebook to live code in, using some sort of paired down "outline" with just headings and the challenges in place from the start. I realized though while prepping that having cells already populated below where you were working meant that you couldn't shift + enter to execute a cell because that moves you to the next cell rather than creating a new one if one already exists. You could use alt + enter to create a new cell after executing but I didn't want to confuse my muscle memory or the students.

At @karinlag's suggestion, I had converted all of the python notebooks to latex using nbconvert, converted them to pdf and printed them out. During my prep, I marked them up with comments and I had the printed pages with me as I taught for reference. It worked well and meant that I didn't have to switch away from the notebook that I was actually displaying on the projector.

gvwilson commented 9 years ago

On 2014-09-12 11:21 PM, r-gaia-cs wrote:

So my question is, how should we deliver the challenges to the students?

Normally I write it at the etherpad being used for the workshop when proposing it to the students. I do this as well.