Giter Club home page Giter Club logo

Comments (14)

gonuke avatar gonuke commented on August 15, 2024

A variation on the red/green sticky notes.... I made little name tents out of red & green paper, held together with name tag labels. The learners used the white area of the name tags to write their names (imagine that), and could prop the tents either green side up, or red side up, depending on the feedback they were giving about too slow, too fast, respectively. You can see them in action in this photo.
photo

Another thing that worked really well - although requires the right space - was to have large white boards adjacent to the screen on which we kept a running list of the commands we had encountered in bash or in git, just a place for people to look back. We also drew a picture of the file system when working on the shell.

from deprecated-bc.

mikej888 avatar mikej888 commented on August 15, 2024

A co-instructor, when not instructing, can monitor the shared MoPad and update this with the key points made by the instructor, along with related hints and tips that the instructor may not have mentioned. It's less disruptive to the "live" instructor than interjecting with these points, but allows the attendees to get the shared expertise from both instructors.

from deprecated-bc.

rhiever avatar rhiever commented on August 15, 2024

Randy Olson (http://www.randalolson.com)

planning

Plan for the first 30 - 60 mins of every bootcamp to be spent on setup, installation, and catching people up. Even if you don't put that time in the schedule, that's how it's going to turn out anyway, and your first lesson will get shafted on time. I've seen some success (N = 1) with scheduling a meeting a day before the bootcamp to sort out installation issues -- and if they don't show up and prove they have everything installed, they are not allowed in the bootcamp.

establishing credibility

When using IPython Notebooks to teach Python, I start the section by talking about ipynb and its relationship with open science, reproducibility, and the benefits thereof. Then I show them actual ipynb's from my own research, highlighting note taking style, data processing, statistical analysis, plotting, etc. all in one notebook. Similarly when teaching version control, testing, etc., I start out by showing and talking to them about real-world examples (my own or others) to motivate why these tools and techniques are useful. Anything to get them motivated to learn and try out these new tools. I believe showing your own examples from your own research strongly establishes your credibility on the subject.

assessment

At the end of every day, have the students write what they liked & disliked about how the material was delivered on the stickies (green for liked, red for disliked). Also ask them to mention on the red sticky if there are any additional topics that weren't covered that they would like to go over before the end of the bootcamp. Have them turn those stickies in to you before they leave. I've found this daily feedback to be tremendously helpful for adjusting the bootcamp on the last day.

assessment

I picked this one up from Jordan Fish. Similar to the assessment tip above, instead of doing the stickies for feedback, have them fill out a Google survey before they leave for the day, answering the following questions:

  1. Let us know something you liked about today.
  2. Let us know something you did not like about today.
  3. What did you learn today that is useful to you?
  4. Is there anything you have, or still have, a question about? What's your question?

Although we get much less feedback on this form (in terms of # of people filling it out), the directed questions result in much more useful feedback. Most of the feedback we get on the stickies is not too useful ("good job!", "too fast", "too slow").

from deprecated-bc.

rhiever avatar rhiever commented on August 15, 2024

wrapping up

It's really important at the end to stress how important feedback and assessment is to us. It especially helps to mention that we're volunteers and are learning how to best deliver this material. If you don't stress the importance of useful feedback (i.e., not "I didn't like the coffee"), well over half the classroom will walk out without even writing something on the stickies nor filling out the survey. Also, don't let them leave until they fill out the survey -- don't count on them doing anything once they leave on the last day.

from deprecated-bc.

rgaiacs avatar rgaiacs commented on August 15, 2024

Raniere Silva (http://www.ime.unicamp.br/~ra092767)

assessment (or feedback?)

I setup one pad for class notes and another one for feedbacks. I only got one feedback but that can be because this experiment didn't happen in a bootcamp or the comment of @rhiever.

from deprecated-bc.

rgaiacs avatar rgaiacs commented on August 15, 2024

examples and exercises

Ijust end to teach a small course about LaTeX and ask the students to reproduce a little page (only half of it have text) in 40 minutes (students that already use LaTeX finish it in 20 minutes and novices only do half of the exercise) and after finish create a gist with their code (I review the code after the class). It was a very small experiment but seems to me that the students like the exercise.

from deprecated-bc.

ahmadia avatar ahmadia commented on August 15, 2024

technical troubleshooting

We all support Shell and Git on multiple operating systems, which can be a real pain when you've got students running Windows, Linux, and OS X all in the same session and you're trying to give them the same "look-and-feel" on wildly varying environments.

Install nano on Windows for a unified editing environment

Use the community nano installer, since it is not available by default in msysgit (somebody want to file a PR?)

We have some notes you can use in your install page, but they are not yet available by default

https://github.com/swcarpentry/bc/blob/gh-pages/setup/swc-windows-installer.py

Use nano everywhere when editing files and handling commit messages in Git.

Head to the desktop!

It turns out that:

cd
cd Desktop

always lands students on the Desktop. This is great. They can make files/directories and see the changes, both visually and with ls. This is a great visual way to reinforce what we're teaching, AND they have the ability to open and edit files without hunting around for them. I used this trick at the SESYNC workshop and it was surprisingly effective. We should also perhaps consider updating our shell lessons to get set up on the Desktop by default.

from deprecated-bc.

wking avatar wking commented on August 15, 2024

On Thu, Dec 12, 2013 at 11:55:59AM -0800, Aron Ahmadia wrote:

Use the community nano installer, since it is not available by
default in msysgit (somebody want to file a PR?)

They already bundle vi, which is probably what they use personally.
I think other editors are likely to be beyond the scope of msysGit,
but I suppose it wouldn't hurt to ask ;).

cd Desktop

This is probably not a big deal for students, who are probably not
using fringe desktop, but not all Windows managers use a Desktop
directory. Fluxbox (my personal favorite) doesn't have desktop icons
at all (there are third-party programs for that 1). Still, anyone
without a ~/Desktop will likely not be taking our class.

from deprecated-bc.

rhiever avatar rhiever commented on August 15, 2024

@ahmadia, can you please do a write up here about your metaphors for the shell and slicing/indexing? I think that'd be valuable to have here. Maybe include quickly-drawn diagrams to show what they should look like.

wrapping up

While going through the introduction to SWC at the beginning of Day 1, write the high-level advice on the board:

  1. Be fluent in multiple languages
  2. Make it work right first, make it fast later.
  3. Increase debugging bandwidth
  4. Don't Repeat Yourself (or Others)
  5. Automate common actions by saving simple blocks of code into scripts
  6. Refactor commonly used blocks of code into functions
  7. Group commonly used functions into libraries
  8. Reduce Complexity
  9. Back up your data!
  10. Use version control for checkpointing and collaboration
  11. Verify and Validate your Code
  12. Document your computational work

Keep that up for the rest of the boot camp, and put a check next to each tip when it's covered in the boot camp.

If you're near the end of day 2 and there isn't a check next to one of the tips, make sure you cover it before the end of the day.

from deprecated-bc.

ahmadia avatar ahmadia commented on August 15, 2024

Refreshing my memory:

  • shell pretty wrapper around ugly mollusk (the operating system?) that makes it easier to work with? Also, the little stick figure user and reins representing the scientist in charge?
  • slicing indices in Python Fences/pastures around your data. Indices are the fence posts: http://stackoverflow.com/a/509297/122022

from deprecated-bc.

gonuke avatar gonuke commented on August 15, 2024

@rhiever I've actually been trying to recast the entire curriculum through the lens of this kind of high-level advice (a la "Best Practices" paper) with the understanding that audiences don't attend bootcamps to learn to program shell or python. Rather, they want to know how to "automate their work" or "write code for people", for example (respectively).

from deprecated-bc.

rhiever avatar rhiever commented on August 15, 2024

👍 Do you think the current material doesn't cover those topics well enough? i.e., too focused on the particular tool?

from deprecated-bc.

gonuke avatar gonuke commented on August 15, 2024

I think it's a matter of tone. Any given instructor can add this flavor to the material as they teach it, but if I had enough time (ha!), I'd like a version that made frequent explicit reference to the best practices.

from deprecated-bc.

gvwilson avatar gvwilson commented on August 15, 2024

Replaced by #378.

from deprecated-bc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.