mozillascience / studyGroupLessons

One-hour introductory lessons on ideas and tools in coding and data wrangling for research.
MIT License
115 stars 37 forks source link
lesson mozilla-study-groups skills study-groups

Mozilla Study Group Lessons

Let's build a collection of introductory lessons for short tutorials on scientific coding, writing, data management and anything else connected to open science, that people can deliver to a Study Group in their labs and departments.

What's a Mozilla Study Group and How do I Start One?

Mozilla Study Groups are a great casual way to get people from your field together to share their skills in computing and data management, in a relaxed, no-pressure environment with friends and colleagues, and to create a space where it's okay to ask any question you like. The goal should be to help everyone get some hands-on practice with a new idea or tool they can use in their every-day research, and support each other as we learn.

Want to start your own? Check out our how to guide, and our quick-start Mozilla Study Group website kit.

Where We Are

People are starting coding meetups for scientists and researchers around the world, both with us and on their own. Check out the map of Study Groups, see if there's one near you, or add your own by sending us a pull request (add yourself to whereWeAre.geojson), or open an issue and we'll add you.

For help getting your longitude and lattitude pre-formatted in geojson, find yourself on this awesome web app.

What is a Study Group Lesson Like?

A good Study Group lesson should be a tutorial that's as hands on as possible - an hour-long lecture just doesn't have the same effect. To create a successful tutorial, keep the following in mind:

Have a look in the template directory of this repository for some more details.

Contribution Guidelines

If you'd like to contribute a new lesson, write it up in a new repo following these guidelines:

Then, add your repo to this one as a Submodule.

Using Submodules

Submodules are super handy for making a loose federation of resources like these, but are relatively rarely used; here's a primer.

Adding a new lesson

In this repo, do

git submodule add <url of your new lesson repo> <name to use for this lesson>

then commit, push and pull request as usual. That's it! Please prefix the name of the submodule with the relevant language or technology, like R-, python- etc.

Pulling down lessons locally

Clone this repo as usual:

git clone https://github.com/mozillascience/studyGroupLessons

You'll see directories for all the different lessons, but they'll be empty. Tell git you're going to be using submodules (only need to do this once for this project):

git submodule init

Then, you can pull down individual submodules like so (replace awk-lesson with the name of the submodule you want):

git submodule update awk-lesson

Finally, pull down new changes to lessons in future via:

git pull upstream master
git submodule update awk-lesson
Updating Submodule Pointers

(Note: maintainers of this repo will do this automatically regularly - contributors shouldn't need to do this)

git submodule update --remote

Need Help?

Not comfortable with Markdown or Git? That's ok! If Markdown isn't your thing, just cut and paste your notes into a plain text file, and we'll help you format them; if you're unsure of git, open a new issue and we'll help get you included.

Don't have a local Mozilla Study Group? That's also ok! We're collecting and sharing lessons from everyone who would like to write one, whether they are involved with a Mozilla Study Group or not. And if you'd like to start your own Mozilla Study Group, don't miss the how-to guide.

Check Out Our Friends!

There are groups that have been meeting & sharing their work for some time now - check out the list in the Mozilla Study Group Handbook, and send us your own if you'd like us to help share your work.