Welcome to the Contributing guideline for UofT Coders. Thanks for taking the time to contribute! :clap::clap:
The following is a set of guidelines for contributing to the UofT Coders community, whether it be by teaching a lesson, fixing the website, helping to plan and organize our various events, or taking on a leadership role.
We adhere to a Code of Conduct and by participating, you agree to also uphold this code. Please report any unacceptable behaviour to firstname.lastname@example.org. If you feel that the exec has been violating the Code of Conduct, please email email@example.com to report.
The UofT Coders group was formed to share and learn about coding techniques and best practices for computing and analysis in research. We hold weekly sessions in the format of code-alongs, coworking sessions or journal clubs/discussions. To see our previous and upcoming events, you can visit our Events repo. To learn more about our group, you can read our constitution.
The Mozilla Science Study Group handbook here and here has several very good points about making a lesson. This section summarizes bits of the handbook, but also adds pieces that are missing from it. Check out the lesson bank too.
From the handbook:
Expanding on this are other things to keep in mind.
Data: External data should not be used unless it is absolutely necessary. Instead, rely on built-in or sample datasets provided by the respective programming language or package.
Code: This is the main thing that should be emphasized. How the code is used, its specific applications, and its meaning should be the entire focus of the lesson. Here are some tips:
Lessons should be submitted as a Pull Request (PR) at least one full day before the
session. Submitting the lessons as a Pull Request is also a great way to find
out whether your lesson matches what is advertised in the Events repo. New lessons
should be created from a copy of the
lessons/template/lesson.md file. Follow the
details and requests in the template lesson file and write up your lesson!
Submitting a PR can be done by (brief step-by-step):
git cloneyour forked version onto your computer
git committhat lesson
git pushyour lesson to your forked
In a more detailed step-by-step:
studyGroupinto your GitHub account. See this GitHub help for info on forking.
git clonefrom your terminal or Git Bash of your new forked version of
studyGrouponto your computer from your account. If you want it on your Desktop do:
cd Desktop git clone https://github.com/YOUR-USERNAME/studyGroup.git
…replacing YOUR-USERNAME with your own user name on GitHub (eg: mine would
git clone https://github.com/lwjohnst86/studyGroup.git).
lsto confirm that the
studyGroupfolder was created. Then
git logto confirm that you are now in the new repo.
git remote add upstream https://github.com/UofTCoders/studyGroup.git git fetch upstream
studyGroupon your computer, naming it appropriately (without spaces) to the lesson you are planning on teaching. Files and folders should be named as such:
lesson/python.). Use the
misc/folder if you aren’t sure.
-) for a space (e.g.
lessons/template/lesson.md into the new folder and write up your
lesson in there, filling out requested information. This is a
Markdown file (
The reason it should be Markdown or plain text is because GitHub
renders the Markdown file into HTML so it’s nicer to read on the site and for
git add ./lessons/yourlesson/lesson.md git commit -m "Added file on lesson"
git push origin gh-pages
mozillascience/studyGroup). Check the GitHub help on Pull Requests.
Note: For those wanting to contribute regularly or who edit their repositories often, it’s best to create a new branch for each PR you make. For example, if you want to clean up some bits of the repo, you can follow a workflow such as this:
## Good to name the branch to reflect what you are doing. git checkout -b cleaningUp ## Make edits/changes/cleaning up git add files-changed git commit git push origin cleaningUp
You can now make a pull request of the
cleaningUp branch. Once the pull
request has been completed, you can delete the now old branch via:
git checkout gh-pages ## Move back to main branch git branch --delete cleaningUp ## If you want to delete the remote branch too do: git push origin --delete cleaningUp ## Update your main branch from the new upstream branch git pull upstream gh-pages
Come 10 min early, to make sure everything is set up.
Before you begin:
A few tips:
There are two ways of fixing or adding to the website, either by:
If you want to view the website before submitting a Pull Request to make sure your changes are as you expect, you’ll need to:
We hold various sessions that incorporate code-alongs, and having the help of more advanced users to help out the beginners is very much appreciated.
The planning and organization of our the group and our various events are done by our executive council. We hold elections every April to elect the executive council members, however, we are always open to suggestions on new roles and positions for interested members of the UofT Coders community who wish to take on more a leadership role. To read more about these positions, please see our Council Roles document.