Comments (14)
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.
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.
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.
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:
- Let us know something you liked about today.
- Let us know something you did not like about today.
- What did you learn today that is useful to you?
- 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.
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.
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.
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.
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.
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.
@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:
- Be fluent in multiple languages
- Make it work right first, make it fast later.
- Increase debugging bandwidth
- Don't Repeat Yourself (or Others)
- Automate common actions by saving simple blocks of code into scripts
- Refactor commonly used blocks of code into functions
- Group commonly used functions into libraries
- Reduce Complexity
- Back up your data!
- Use version control for checkpointing and collaboration
- Verify and Validate your Code
- 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.
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.
@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.
👍 Do you think the current material doesn't cover those topics well enough? i.e., too focused on the particular tool?
from deprecated-bc.
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.
Replaced by #378.
from deprecated-bc.
Related Issues (20)
- Interest for a Julia lesson HOT 1
- Problem in building site from repository (ubuntu) HOT 2
- R: mean() and median() have been deprecated for dataframes HOT 4
- Extract history of novice Git lesson HOT 16
- Extract history of novice Python lesson HOT 11
- Extract history of novice shell lesson HOT 1
- Extract history of home page and setup instructions HOT 4
- Extract History of novice R lesson HOT 22
- Extract history of intermediate Python lesson HOT 22
- Extract history of novice Mercurial lesson HOT 1
- Problem with novice/sql sqlitemagic HOT 5
- Reference for "...the more open work is, the more widely it is cited and re-used." HOT 4
- Matlab novice materials HOT 7
- Extract history of MATLAB materials HOT 3
- Protocol for version releases HOT 1
- Revise and add additional steps for creating a new page HOT 3
- Exporting images from Draw HOT 2
- instr function not available in SQLite 3.7.13 and older HOT 2
- Instructor's Guide ... General Advice ... Teaching Notes ... Duplication HOT 1
- Extract history of intermediate Git lesson HOT 14
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deprecated-bc.