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 -
can fix documentation
can create documentation
can fix minor bug
can refactor small code
can create small feature/test
can fix major bug
can create big feature
can create new product/prototype
can manage deployments and recover from disasters
can architect horizontally scalable systems
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.
Conducting a CS course the DoNew way {strength, interest, project} in a continuum of {learning, skilling, earning, centre, startup}
Project
Principles
The learning - skilling - earning continuum
Student at a competency level
Cohort of students
Learning for a cohort
Skilling for a cohort
Earning for a cohort
Centres of excellence
Startups