GithubHelp home page GithubHelp logo

malvijaggi / intro_to_sprinting Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chalmerlowe/intro_to_sprinting

0.0 0.0 0.0 1.51 MB

Resources dedicated to introducing folks to open source sprints

intro_to_sprinting's Introduction

Intro to Sprinting

This project is designed to help beginners learn AND practice the basic skills necessary to contribute to open source projects. While it is designed to be delivered as a workshop for a group of students, it can also be used individually as self-study.

It can be used in multiple ways:

  • as a lead-in for open source sprints at programming conferences
  • as class material for teachers
  • as preparation for hackathons OR group projects
  • as a resource for open source project leaders

Why an introduction to sprinting?

At many programming conferences, time is set aside for developers to come together to work on open source projects (called sprints or sprinting). Many project leaders welcome new developers of all skill levels to contribute. This works fine if a newcomer has contributed to a project before and has an understanding of the tools and processes.

The struggle for both the project maintainer and the newcomer has been that beginners often have a very steep learning curve and need to learn too many new tools and new skills before they can successfully contribute.

They often turn to the sprint leader for help and mentoring on the basics of "contributing to open source". Things like these fundamental skills, most of which are not specific to a given project.

  • setting up virtual environments
  • using version control software,
  • interacting with version control repositories (repos)
  • process of submitting patches and contributions

They are often limited by the sprint leader's availability to help them learn. The sprint leader becomes, through no fault of their own, a bottleneck. The beginners often spend so much time figuring out the basics that they can't really get into the project sufficiently to understand nuances of the bugs they want to fix OR the contributions they want to add. Due to limitations on time, new contributors often leave the sprints without having successfully contributed to the project, at all. Furthermore, once new contributors arrive at home, they are often so removed from the project and the mentorship opportunity, that they may not be able to pick up from where they left off.

This project aims to fix some of these problems by having materials and instructions available via group/classroom study AND self-study so that new contributors can learn the basics before they ever sit down with their sprint leader and can start focusing more on the project and less on the learning curve. In addition, should they run into a problem, they have a ready resource to return to, thus taking some of the burden off the sprint lead.

Overview

This workshop provides a high-level overview of the steps, tools and tradecraft needed to introduce beginners to open source sprints. The workshop provides lecture/demo AND lots of hands-on in the following areas.

  • Understanding, creating, and using virtual environments
  • Using version control tools such as git and github
  • Hands-on: Creating additions and changes to an open source project
  • Getting those changes incorporated into the project via pull requests

In addition, the overview will include numerous resources for self-study.

This project is based on anaconda, git, and github for Python sprints. This project can be modified for the needs of other sprints and other languages.

Prerequisites

Beginners will need to already know the following:

  1. How to edit plain text files on their computer.
  2. The basics of using the command line (simple commands like cd, ls/dir, etc)

Beginners will NOT need to have in depth knowledge on the following:

  1. Programming OR python (many contributors to open source never write code: they help with design, documentation, etc)
  2. Any specific open source project
Next
Table of Contents

intro_to_sprinting's People

Contributors

chalmerlowe avatar seawolf42 avatar paulproteus avatar sockduct avatar james-prior avatar jpbatz avatar ctaylor08 avatar michael-b-king avatar samsammurphy avatar briansmithbeta avatar 808kimosan avatar jkobyp avatar steve-lorenz avatar dmanier avatar horshacktest avatar jfmario avatar meldex avatar tashamc avatar

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.