Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conducting a CS course the DoNew way {strength, interest, project} in a continuum of {learning, skilling, earning, centre, startup} #12

Open
rahul101001000 opened this issue Oct 19, 2022 · 0 comments

Comments

@rahul101001000
Copy link
Contributor

rahul101001000 commented Oct 19, 2022

Conducting a CS course the DoNew way {strength, interest, project} in a continuum of {learning, skilling, earning, centre, startup}

Project

Principles

  • Learning should be personalized, allowing students to go where their strengths and interests take them
  • Operational efficiency matters at scale
  • Quality cannot be compromised, it is okay to make them sweat until they meet the quality bar
  • Articulation is sometimes as important as writing the code
  • It is okay to drink from a fire hose, it is okay to want to drink glass by glass

The learning - skilling - earning continuum

Student at a competency level

  • A student should be identified by their current DoNew competency {functional, domain} level and their current DoNew responsibility {1-8} level. For the purpose of this project, it is assumed that the students are at a DoNew responsibility level 1 {reliability, quality} and that they are focusing on upgrading the domain competency levels only.
  • Students may be at one of the following competency levels for CS -
    1. can fix documentation
    2. can create documentation
    3. can fix minor bug
    4. can refactor small code
    5. can create small feature/test
    6. can fix major bug
    7. can create big feature
    8. can create new product/prototype
    9. can manage deployments and recover from disasters
    10. can architect horizontally scalable systems
    11. can create platforms
  • Students may be fixated on a particular programming language or framework until competency level 4. Post that they should be given projects/assignments with different languages/frameworks. By level 6, they should be deemed language agnostic.

Cohort of students

  • A cohort of students start at the same competency and responsibility level so that teaching and assignments are similar.
  • A cohort should be time bound.

Learning for a cohort

  • Github classroom is created for the cohort.
  • Cohort is taught the key concepts in a short 30-45 min interactive live lecture (remote or physical). Goal of this session is to motivate them to learn the topic, show examples of what before/after means when they learn this topic, to give confidence that it is not rocket science and that they can do it.
  • Cohort is given a link to a no-cost, ideally open source, self paced tutorial to expand on what was introduced in the interaction session. Different forms of the tutorial may be provided e.g. video, text, visuals, podcast to suit their DoNew learning style.
  • A simple made up assignment is given to confirm their understanding of the topic in Github Classroom.

Skilling for a cohort

  • A real world DoNew project is identified based on an issue from an existing open source repository. Each student is assigned a different project (i.e. each one gets a different issue and issues could be from different repositories). Students may express their interest of the kind of projects they would like to work on, they may find their own.
  • A fork of the repo is created in their own Github accounts. A feedback PR is created to allow student to ask doubts to the mentor.
  • Once the project is ready, student submits PR to the main repo requesting a review and merge.
  • If deemed fit by the owners of the main repo, the PR is merged.
  • Students are deemed skilled at a specific competency level once they do this.

Earning for a cohort

  • Once a student is able to prove skilling (by having at least one merged PR for a specific competency level), they are eligible to take on paid issues.
  • Sponsor organizations offer to pay a fixed price for issues of each type of competency level. e.g. One may offer to pay $5 for competency level 1 (minor documentation) but $100 for a competency level 6 (major bug fix).
  • Ideally a smart contract should enforce that if a PR submitted by the student is merged, payout is automatically made.

Centres of excellence

  • Mentoring organizations that run these mentoring cohorts can group skilled and earning students into groups by areas of expertise.
  • These groups may start as Special Interest Groups (SIG) and once a formal structure is established can be referred to as Centers of Excellence. See moonshot areas for a sample list of such areas.
  • Mentoring organizations may take on larger funded projects around a certain area once they have a credible number of earning students in their SIG/Center of Excellence.

Startups

  • Technologies and products developed at these Centres of excellence that have immediate consumer value can be commercialized in the form of a startup.
  • Technology/IP transfer, equity/royalty sharing principles between the Centre and startup should be laid out clearly to make it easy for students to start their own ventures.
@rahul101001000 rahul101001000 changed the title Conducting a CS course the DoNew way {strength, interest, project} in a continuum of {learning, skilling, earning, funding} Conducting a CS course the DoNew way {strength, interest, project} in a continuum of {learning, skilling, earning, centre, startup} Oct 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant