Solution Overview & Team Lead Details

Our Organization

De Nepo: Open Ed

What is the name of your solution?

Software as a Second Language

Provide a one-line summary of your solution.

An easily-adopted, low/no-cost method for improving outcomes in vocational programming education using comprehension-first pedagogy.

In what city, town, or region is your solution team headquartered?

Brussels, Belgium

In what country is your solution team headquartered?

  • Belgium

What type of organization is your solution team?

Not registered as any organization

Film your elevator pitch.

What specific problem are you solving?

Learners from all backgrounds join vocational programming trainings to improve their future livelihoods.  Despite strong motivation and the best efforts of educators, many of these learners drop out early, especially learners from under-represented communities.  While there are many reasons for this, including social and systemic ones, we will focus on one significant pedagogical challenge early in the learning process. 

Transitioning from a conceptual understanding of programming to solving real-world, open-ended problems with code is a critical milestone for novice programmers.  Exiting this transition with weak program comprehension skills and avoidable misconceptions can mean the difference between a learner gaining confidence and continuing, or believing they cannot learn to program and dropping out. This is true for people who have the potential to be outstanding programmers, and is more pronounced for marginalized communities.  

We will focus on supporting this transition in vocational programming education reaching underserved communities through community colleges, vo-tech schools, university outreach programs, and non-profit trainings. These are often the only options available for many learners working towards a better livelihood.  Navigating this transition is important for anyone incorporating programming in a growing number of careers (fig 3.3), including but not limited to: software developers, data analysts, digital marketers, researchers, actuaries, and even people who only need to talk with programmers.

Based on literature from Computing Education Research and our experience, we have identified two related causes that we can address: 1) Evidence shows that comprehension-first pedagogy is most effective: deliberately practice reading, understanding, discussing and modifying programs before writing them.  However, common practice is to write programs first, and learn code comprehension independently.  These mismatched expectations contribute unnecessarily to frustration and dropout.  2) Even when learners and educators do have an evidence-based understanding of programming education, there is no easy, incremental way to adopt these practices, especially with limited resources.  

Computing Education Research has found many promising interventions to help learners through this transition, and for implementing comprehension-first pedagogies.  Unfortunately, very little of this research has focused on vocational programming education, and even less has been translated into solutions that can be easily adopted.   This translational gap is problematic, because learner outcomes depend on efficient time use and concept delivery, not teaching hours.

What may sound like a narrow problem at a specific stage of a learner’s journey actually causes larger problems. Organizations running these trainings face higher drop-out rates, many extra hours of educator time answering the same questions and creating remedial content, inability to serve all learners, inability to deliver a consistent alumni to employment partners, and ultimately less efficient course delivery.   

We see the opportunity to have an outsized impact on vocational programming education by focusing on challenges learners face with code comprehension in the early stages of their education.

What is your solution?

Our solution is a comprehension-first method for helping learners transition from high-level understanding to practical programming skills in vocational programming education, developed over the last 7+ years and 20+ cohorts of 10-30 learners.  Inspired by cognitive apprenticeship and human language education, we identified and sequenced over 30 skills a learner should master, then outlined how to practice and assess each skill. Even without adopting our tools or content, people can benefit from our solution by adjusting their expectations about what it means to learn programming.

To help adopt our method we have a 2-dimensional adoption map to help navigate and select the appropriate guides, content and tools for different constraints. The horizontal axis represents the learner’s depth of understanding:

  • Functional: They can install and run the software, write use cases or user stories, and sketch the application’s data.

  • Navigational: They can navigate the codebase, relate software features to lines of code, and write high-level documentation.

  • Maintainer: They can fix bugs, refactor, make small changes to the program, and review the code.

  • Developer: They can add new features or build similar programs from scratch.

The vertical axis represents how much the user can invest in adoption:

  • Quick Wins: Practices, materials or lesson plans that can be picked up in under an hour.

  • Tools: Softwares that generate comprehension exercises to drill any code, in alignment with the Block Model.  Users can manually select exercises, or the tools can generate a complete study sequence. Generated content can be packaged for offline mobile study. (Study Lenses (demo), Explorotron)

  • Content: Adopt new content without changing your curriculum.  You can either adopt/adapt our open content, or follow our guides to create your own.

  • Curriculum: Redesign parts or all of a curriculum for comprehension-first learning, ideally as a spiral curriculum (example). We also have solutions for authoring and packaging, simple class management, and project-based learning.

We support learners with access to Large Language Models (LLMs), such as ChatGPT, via workflows to benefit from AI without losing their autonomy (example).  While researchers are now discussing “focusing more on code reading and critique (p. 116)” as a path forward for programming education, we aren’t aware of any solutions as comprehensive or well-tested.

We encourage peer instruction with exercises like learning pseudocode conventions, generating discussion questions, structured code review, flashcards, oral code transcription, and discussing code at different levels of abstraction.  

The software portions of our solution run locally and offline to accommodate learners with older computers, intermittent power, and limited internet.  These tools support learners studying any code inside their professional development environments, providing layers of support which can be gradually removed as learners gain competence. This helps learners transition smoothly away from novice scaffolding, and allows them to continue using our tools to understand professional codebases.   

Our comprehension-based learning objectives, exercises and assessments are adapted for pencil-and-paper study which benefits users with or without limited computer access.

Who does your solution serve, and in what ways will the solution impact their lives?

Optimized learning design has double returns for these stakeholders: 

  • Learners accelerate their progress, and avoid damaging misconceptions.

  • Educators save hours of helping learners (often unsuccessfully) correct misconceptions, and hours creating content that only patches problems in the curriculum.  

  • Training organizations reduce the resources necessary to train learners, and produce a more consistent alumni.

Our ultimate aim is to support learners by helping them avoid early misconceptions and build strong program comprehension skills.  We will primarily achieve this by supporting educators and training providers with learning processes that can be implemented by anyone anywhere.  We will to a lesser degree design for self-directed learners using our online resources.  Over time this focus may change if we get strong traction from individual users.

More Effective Educators

Trained programming educators are in short supply, so educators in this space are generally developers motivated to help their learners and not afraid to experiment, but without training in programming education.  We have seen this profile quickly embrace our approach, grow familiar with our resources, and adapt them to their own needs.  

More Interaction

Our combination of prepared content and tools for generating content leave more time for educators to interact directly with learners, and our comprehension-based approach provides a clear framework for peer instruction.

Supporting Mixed Level Classes

In our experience focusing on code comprehension skills, as opposed to specific coding challenges, makes it easier to support classes with mixed abilities.   All learners can practice the same skill on more or less complex programs, which also enables peer learning across different levels of expertise.

Autonomous and Coherent Learning

Our solution offers a coherent study path for learners that helps learners to work autonomously. Our sequence of learning objectives are specific to help learners structure their own path, and flexible to adjust to their level and preferences.  It’s not uncommon for learners using our methods to say they have studied online for over a year without encountering anything we teach. This is even true for learners with some professional experience.

Learners currently rely heavily on free videos, platforms like Udemy, and tutorials like FreeCodeCamp which generally do not take a writing-first approach.  Relying on this patchwork of resources doesn’t provide a coherent learning path, and while there are resources with detailed paths they don’t take a skills-based comprehension-first approach.  

Operational Efficiency

Our personal experience is with one of the many small organizations across the world delivering unaccredited vocational trainings on a small scale, with very few resources, to learners with few other options. People organizing these trainings usually either don’t have the expertise to develop a robust curriculum, or must prioritize concerns like partnerships, funding, securing jobs for their learners or community management.  

Our solution is designed to help these organizations incrementally improve their curriculum with minimal resources, freeing more resources for other priorities without harming learner outcomes. We also target organizations like these because accessible design is good design, and solutions that work under tight constraints can benefit all users.

How are you and your team well-positioned to deliver this solution?

Abdu Al-Mahdi is originally from Yemen before eventually arriving in Brussels. He is a 2020 alumni of HackYourFuture Belgium where he studied while waiting for his paperwork. He is currently a FullStack engineer.  Abdu is very aware of the ways (little and big) a class can be inaccessible to someone unhoused, and how marginalized individuals can be exploited as PR to bolster an organization’s image.

Alana Cole is a disabled community organizer based in Washington, DC. They have led and supported participatory action research projects at the Patient Centered Outcomes Research Institute, Tufts University, and the University of Chicago. They bring to our team a deep understanding of how to build trust across different communities, especially multi-lingual and undocumented groups. As a disabled person themselves, they also bring an essential analysis of learning under ableist systems that don’t take into account practical needs.

Brian Ostenso  is from Minnesota in the US, and has lived and worked in Latin America. He has taught in the Graduate Business School at the University of St. Thomas, and is the founder of Sylvan Learning Centers of MN. He is currently the Chairman of Holy Cross Education Foundation, which, in partnership with the Anglican Diocese and Ministry of Education in Belize, are in discussions about co-delivering vocational programming courses nation-wide. 

Evan Cole is originally from Minnesota in the US before moving to Brussels. He has over 7 years of experience designing and delivering vocational programming trainings in participation with learners and alumni, the last 5 years of which have been with displaced learners.  From his learners, he learned that welcoming vocational trainings can serve learners twice over: once by finding work, and once by finding community.  

Samir Mohammad is originally from Syria before moving to Brussels. He was first a learner at HackYourFuture Belgium before graduating and working as a web developer, he has now returned to HackYourFuture Belgium where he runs the web development training in Brussels.  Both during his time as a learner at HYF Be and afterwards Samir was one of the most dedicated coaches, going above and beyond with hours of individual coaching and creating resources for others. 

Tamer Almurshidi, now in Belgium, is originally from Palestine, Gaza.  As one of the most compassionate and dedicated volunteers at HackYourFuture Belgium, he helped design and build the modules at HackYourFuture Belgium which cover collaboration, project planning, project management, and GitHub.  These modules have gone on to inspire curriculum at CodeYourFuture, Karel de Grote Hogeschool’s Bachelor in Applied Computer Science: AI, and a bachelor degree in IT - Software Development.

Yann-Aël Le Borgne, originally from Brittany in France.  Currently, Yann-Aël is an Artificial Intelligence expert at La Scientothèque, Université Libre de Bruxelles, where he leads the AI4InclusiveEducation project developing open-access educational content to introduce young people to artificial intelligence, programming, data science, and robotics. Yann-Aël will advise us on the state and limitations of LLMs, how we can integrate them with our resources, and how to prepare learners to collaborate with AI.

Which dimension of the Challenge does your solution most closely address?

Provide the skills that people need to thrive in both their community and a complex world, including social-emotional competencies, problem-solving, and literacy around new technologies such as AI.

Which of the UN Sustainable Development Goals does your solution address?

  • 4. Quality Education
  • 8. Decent Work and Economic Growth
  • 10. Reduced Inequalities

What is your solution’s stage of development?

Prototype

Please share details about why you selected the stage above.

We selected prototype because our holistic solution to support flexible adoption of our resources is still undergoing initial testing, including with InTechgration in Athens where we have been integrating our tools, content and method with their curriculum hosting solution.  This work has included separating our original content into smaller, reusable workshop.

However, many of the components in our solution are already at pilot or even growth stage:

Some elements of our solution that are at prototype phase include:

Why are you applying to Solve?

So far we developed our solutions within other initiatives, with limited funding, and in relative isolation from the broader world of educational outreach and research.  This approach served us well at the time.  It enabled us to truly understand and design for the constraints faced by our target audience because we were them.  However, we now have a solution with the potential for a broader impact than we offer running our own courses.  So we want to start our own initiative to help others improve their teaching and learning as well.  

We are applying to Solve because it is a unique program that straddles academia, entrepreneurship and impact.  Funding is interesting so we can focus full-time on De Nepo, but our primary motivation for applying to Solve is for the mentorship, the network and the partnership potential: 

To successfully serve learners and educators working outside of universities under tight constraints, we need to work closely with education providers to always understand their needs.  We hope to meet organizations delivering vocational programming courses to underserved populations who are interested in two types of collaboration: 1) short-term, scoped design collaborations to develop open source solutions for specific problems faced by their learners 2) long-term partnerships to co-design and deliver vocational trainings.

To sustain our work we need to operate efficiently and continually refine our strategic plan.  We are looking for mentors or a new team member / co-founder who can help us professionalize our team and operations.  

To build open source resources that are useful, usable and used, we need a community of users and developers around our open source software and content.  We hope to meet people who can help us learn how to build this community and how to balance centralized and community decision making.

To contribute to Translational Computing Education Research (TCER (paper, video)), we need a strong network in academia. We hope to meet researchers experienced in participatory research with whom we can partner to translate early-stage research into contextualized guides (TCER phase 3.B) and interventions (TCER phase 4.A), to study the effectiveness of our solutions (TCER phase 4.B), and to develop new domain-specific theories for vocational programming education (TCER phase 1.B).

Finally, we would like to join the Solve community to draw attention to evidence-based practices that can benefit vocational programming education.  We can pave the way for future projects in this domain.

In which of the following areas do you most need partners or support?

  • Business Model (e.g. product-market fit, strategy & development)
  • Human Capital (e.g. sourcing talent, board development)
  • Monitoring & Evaluation (e.g. collecting/using data, measuring impact)
  • Public Relations (e.g. branding/marketing strategy, social and global media)

Who is the Team Lead for your solution?

Evan Cole

More About Your Solution

What makes your solution innovative?

Our primary innovation is our method of instructional design & translational research (paper, video) which allows us to efficiently iterate, balancing speed and rigor to best serve our learners.

Our method first grew from switching our focus to code comprehension.  This freed us from time-intensive, inflexible content like video or text explanations, extensive unit testing and code analysis, or tutorial platforms.  We focused on giving our learners the skills & tools to effectively study any code, allowing us to focus on writing sequences of well-commented, level-appropriate programs.  

We use standard software development workflows and tooling to version and distribute our content without any platform lock, custom syntax, or specialized build processes (Box 4.2).  The workflows our learners use to study mirror professional collaboration workflows. English as a Second Language (ESL) learners say this approach made programming more accessible as they could practice hard skills with our content and build their conceptual understanding with resources in their mother tongue.

The rest of our method grew from one question:  How can we approach content creation to maximize the ratio of effective study time to content preparation time?  Some answers we found include:

  • Develop tools to generate comprehension exercises using only a code base and simple configurations as input.  Content should be so easy to generate that you can create “disposable” practice sequences based on any code.

  • Build study tools so each exercise generator is a plugin, so educators can easily develop and ship new exercises for learners to use with any code they are studying.

  • “Flatten” study environments so there is one simple interface for both authoring exercises and studying them. This makes the tools simpler, and empowers learners to create their own learning paths.

We can quickly contextualize evidence-based practices.  We either identify a challenge our learners face, then find a promising intervention from the literature to adapt, or we start from promising research and experiment with the best way to adopt it.  Others have recently explored methods of rigorous innovation in vocational programming education (A, B).  These methods are complementary to ours and we will explore collaborations with these and other researchers. 

Looking to the future, there are 3 main changes we will catalyze in vocational programming education.

  • Comprehension-first cognitive apprenticeship should be the norm in vocational computing education, whether someone is learning in a top-tier institution or a study group.  We believe this is a necessary step to making careers in tech accessible to all.

  • We want to help vocational programming education adapt to future models of education like Agile Continuous Education, employer-funded training (fig 5.9), and microcredentials.  Our approach blurs the line between learning environments and development environments, which supports continuous learning. And our Use -> Read -> Modify -> Create model mirrors the onboarding process, hinting at how employers could better train employees and at how educators could better prepare learners for work.

  • We envision tighter feedback loops between researchers and practitioners, accelerating translational research in vocational computing education.

Describe in simple terms how and why you expect your solution to have an impact on the problem.

Our near-term goal is to improve learner outcomes in the early stages of learning by making comprehension-first pedagogies accessible in vocational programming education (VPE).  We are starting with learners’ initial transition from conceptual knowledge to applied programming skills because it’s a weak link and because solutions to this challenge can be adapted across different contexts and programming languages.  

Our mid-term goals are 1) to accelerate translational research in VPE by establishing the infrastructure, methodologies and partnerships for closer collaborations between researchers and practitioners 2) to work with this community of practice designing and delivering accessible vocational programming certificates.  

Our long-term goal is to create a future where quality of and access to vocational education is never a barrier to someone entering tech, diversifying the pool of developers helping build tomorrow’s technologies.

To reach these goals we will first focus on:

  • Contextualizing evidence-based practices that support the transition from conceptual understanding to applied programming.

  • Creating free, open source resources for implementing these practices, affording everything from quick wins up to full curriculum redesigns.

  • Providing the guides and references necessary to navigate, select and implement our solutions.

  • Partnering with existing educational institutions to co-design and deliver vocational trainings to underserved populations.

  • Forming design partnerships with informal training organizations to ensure our free resources remain accessible and relevant.

  • Developing new translational research methodologies and building an international community of practice contributing to computing education research, particularly in phases 1.B, 3.B and 4.A/B of the TCER model.

  • We know these activities will help us reach our outcomes from first-hand experience.  This is how we have worked in the past, and all feedback from collaborators and learners has been that our approach is unique and effective, but can be unwieldy to adopt - this is why we are currently focusing on how to package our solutions for easy adoption.

Through these activities, we hope to achieve:

  • For learners: Improved autonomy, motivation, belonging, and learning outcomes.

  • For educators: Confidence in helping their learners, time saved correcting avoidable misconceptions, and time saved developing content that simply patches these problems.

  • For low-resource organizations:  More efficient operations through more efficient education, and more consistent alumni -> a stronger value proposition for hiring partners.

  • We know these outcomes are possible from first-hand experience.  We have run our own courses with very limited resources, and had feedback from learners and educators that we covered more content more effectively and more compassionately than organizations with more funding and more educators.

  • For CER: More relevant and impactful research for vocational education.  

If successful, our achievements will have these outcomes:

  • Learners from currently underserved populations will have access to top-quality VPE, allowing them to improve their livelihoods and contribute their perspectives to present and future technologies.

  • Experienced programmers will be better equipped to pass their knowledge on to learners, reducing the shortage of qualified programming educators.

  • The costs & challenges of running vocational trainings will be greatly reduced, enabling even under-resourced organizations and communities to deliver high-quality, inclusive courses at low/no cost to learners.

What are your impact goals for your solution and how are you measuring your progress towards them?

Below is an initial strategy for measuring our impact in vocational programming education.  There is a well-developed literature in Computing Education Research about measuring things like agency, belonging, accessibility and competence. Before implementing any monitoring and evaluation (M&E), we will consult the literature and reach out to specialists.

We also recognize the importance of participation in the design and implementation of an M&E strategy.  While we can begin planning on our own, we cannot finalize our plan without the trust and contributions of our collaborators. Without their participation we run the risk of measuring the wrong things, losing buy-ins, or damaging our partnerships.

Supporting Learner Autonomy 

Our goal is to equip learners for managing their own study path - whether they are enrolled in a training or learning independently. Measuring autonomy for learners in our trainings can be done with questionnaires and informal conversations.  Measuring autonomy for free-range learners will require voluntary responses to questionnaires, and analyzing conversations in forums, comment threads and Discord.

Supporting Educator Autonomy

Our goal is to give untrainted educators with technical skills the confidence to make changes and experiments in their own teaching and curriculum.  As with learner autonomy, this will be easier to measure for educators working with our partner organizations than for free-range educators

Increasing the Efficacy of Accessible Vocational Trainings

Our goal is to give under-resourced organizations the capacity to deliver more efficient vocational trainings within their existing constraints.  Efficacy can be measured via pre-existing data collection:

  • Dropout/graduation rates

  • Grades & assessments

  • Employment details post-graduation

  • Cost per learner

And additional qualitative survey data collected from learners, educators and administrators.

Accessibility can be measured for incoming and current learners by looking at demographics and through questionnaires.  However, developing a strategy for learning why people did not apply in the first place would require expert help.

Supporting Continuous Education

Our goal is to prepare learners for continuous education.  We can measure this indirectly by understanding if/how/when learners use our study tools to understand their professional codebase with data collected from our tools, questionnaires, and direct observation.

Spreading Comprehension-First Pedagogies

Our goal is to make comprehension-first pedagogy the default in vocational programming education.  This is difficult to measure directly, we will need to rely indirectly on analytics from our resources:

  • Installs of our tools

  • Forks, stars and clones on GitHub

  • Views & comments of our videos

  • Activity on our Discord server 

And on publically available analytics such as:

  • Google search trends

  • Prevalence of keywords in tutorials or forums

  • Reviews of vocational training marketing material

We could try measuring the effects of this spread with questions like :

  • In areas where our practices are common, do we see more diverse talent pools?

Accelerating Translation in Computing Education Research

We will rely on a mix of academic and non-academic metrics, including:

  • Development of new domain-specific theories for vocational programming education

  • Researcher involvement in creating practitioner-facing guides & resources

Describe the core technology that powers your solution.

Our core technology is a well-tested approach to programming education, embodied by our teaching & learning design guides.  Our software and content co-evolved with, and are integral to fully adopting our approach, but even without adopting our tools or content, people can benefit from our comprehension-first approach.

Our approach is inspired by computing education research and refined over the years through constant design iteration, it includes: 

  • A suite of evidence-based, granular, assessable learning objectives for beginner programmers.

  • Design principles for creating content, lesson plans and projects to support these learning objectives. Plus content created using these principles.

  • Design principles for study tools to support these objectives and strategies. Plus software that implements these principles.

  • Design principles for creating vocational project-based programming curricula.

By a more conventional definition of “technology”, our solution is intentionally low-tech and offline-first so it remains accessible to contexts with limited access to the internet and older computing devices.  This includes basic serverless web apps, local applications and a VSCode extension.  For hosting and distribution we rely on conventional free services like GitHub, NPM and static hosting.

We intentionally avoided using any non-standard, inaccessible or unstable technologies so our resources are accessible, are not platform-locked, and so users can adopt our solutions without learning non-transferable syntax or platforms.

Which of the following categories best describes your solution?

A new application of an existing technology

Please select the technologies currently used in your solution:

  • Audiovisual Media
  • Software and Mobile Applications

In which countries do you currently operate?

  • Belgium
  • Greece

Which, if any, additional countries will you be operating in within the next year?

  • United States
Your Team

How many people work on your solution team?

At the moment we are a team of 7 volunteers (listed in our proposal), with occasional contributions from others.  Moving forward we will need to grow our team, adding profiles to help cover business operations, funding & finance, content creation, software development, teaching and research. 

Yoshi Malaise is a close collaborator, and will be involved in research and development from his doctoral position at the VUB.  He has also contributed significantly to our solution as a researcher, as a volunteer, and during his stint as Educational Director of HackYourFuture Belgium.

How long have you been working on your solution?

Our solution is 7+ years in the making. We have developed a large suite of solutions to support different aspects of vocational training and strategies for integrating evidence-based practices in our courses.  Our specific solution for Solve, focusing narrowly on transitioning from theory to practical skills, is more directly the result of our work over the last 4 years. For 1.5 years we have been exploring how to best package our solutions for adoption by other organizations and learners.  

Tell us about how you ensure that your team is diverse, minimizes barriers to opportunity for staff, and provides a welcoming and inclusive environment for all team members.

Building a diverse team and community of collaborators is not optional.  Our solution comes from design thinking, and good design is participatory.  As we grow from volunteers to paid collaborators, our team must include members from our target populations so we can continue to design relevant solutions.

Our success relies on broadening our idea of “team” to include our partner organizations. Trust and accountability are necessary so we will begin by creating community agreements about how we address conflict, how we collaborate and how we speak to and treat one another. These processes will be iterative throughout the project, with regular opportunities for formal and informal feedback sessions.

Non-University Programs (NUPs)

Institutions such as community colleges, vo-tech schools, and university outreach programs provide credible, accessible, professional education for learners who don't have other options because of paperwork, finances, other responsibilities, or discrimination.  We will form long-term relationships with these institutions to both reach learners through channels they trust, and as a path to sustainability.  As a low-stakes initial collaboration we will offer remedial support to students, demonstrating our value and building our relationship before engaging in a broader collaboration.

Engagement plan includes:

  1. Formulation of stakeholder advisory committees to determine our first steps with representation from faculty, students, domain experts and administration.

  2. Though each group will only meet quarterly, we will stagger when they meet so we have a meeting each month to ensure that we have regular feedback without overburdening stakeholders.

  3. When important milestones are completed, we will bring everyone together for a day-long meeting to review the work and plan ahead.

Informal Vocational Trainings (IVTs)

There are many small organizations and informal groups across the world delivering unaccredited vocational trainings on a small scale with very few resource for learners who often don’t even have access to NUPs.  We will engage in scoped, short-term design collaborations with these organizations to develop and deliver tailored content, tools or workshops. This will help us better understand how our solutions can support under-resourced educators, and build a community of contributors.

Engagement strategy includes:

  • Meeting with learners and educators from an organization to understand each other and our goals.  The objective of these meetings will be to identify a scoped problem in their practice to address.

  • A hand-off strategy to ensure the solution remains useful after our partnership.

Self-Guided Learners (SGLs)

Independent, online learners have many resources available yet few are evidence-based, and it’s challenging to organize a realistic study path.  There are resources with detailed paths for learning programming languages, but they do not take a skills-based comprehension-first approach.  We must engage with our resources’ online users to understand how we can support learner autonomy, and fill the gaps in existing online resources.

Engagement strategy includes:

  • Following user comments on different platforms, and providing a comment section on our own. 

  • Contacting people who have shared their information to interview them about their experience, especially around usability without an instructor.

  • Creating and sharing optional surveys, though never as a condition for access.

Your Business Model & Funding

What is your business model?

Our ultimate value proposition is to improve outcomes for learners which we can provide directly with our free resources, tools and guides.  However, indirect channels are better for scaling our impact and generating income; we don’t want to charge our learners, B2C education is expensive to operate, and for-profit education has a mixed reputation.  Our best option for generating income and reaching more learners is by collaborating with existing educational and research institutions.  

Our paid services integrate with our impact mission by improving and spreading our methodology, and by financially subsidizing our free resources. Refining and validating this business model is one of our first priorities in the coming year, in parallel with professionalizing our team and recruiting any missing profiles.   

From our experience the competencies required to deliver the following value propositions are very similar, so considering this many options is not a dilution:

  • Through our free, open source resources we can provide value to self-directed learners by helping structure their learning paths, and providing evidence-based study materials.  In exchange we can receive feedback, and visibility/credibility.

  • Through unpaid design partnerships we can provide value to under-resourced training organizations serving marginalized communities by designing tailored solutions with them in exchange for a better understanding of their context. 

  • Through co-design and co-delivery of vocational trainings with established educational institutions, we can provide value via improved learner outcomes, more efficient course delivery, and a more consistent alumni. These partnerships can be sustained over time, or can have a planned hand-off followed by advisory services. To initially build relationships we can offer remediation services before exploring the best strategies for full curricular integration.  In exchange we will receive income, context for research & design, and improved open source resources.  

  • Through curriculum advisory services, we can provide similar value as above to training organizations with less of an investment on their part.  To keep these services accessible we will offer a pricing scheme for custom artifacts dependant on how they are licensed:

  • Open-source artifacts licensed to us will be discounted.

  • Open-source artifacts licensed to our client will be market rate.

  • Close-sourced artifacts will be priced at a premium.

  • Through research partnerships, we can provide value to computing education research with novel domain-specific theories, by translating interventions developed in controlled settings, and by sharing data collected from our open tools.  In exchange we receive open source content, visibility, and research funding. 

We have also considered the following value propositions to explore at a later date:

  • Through train-the-trainer certificate programs, we can provide B2C value through our own certificate programs, or B2B value by delivering internal trainings for other organizations. 

  • Through internal corporate trainings, we can help with both onboarding new developers and preparing strong individual contributors for project leadership. This value proposition is based on interviews with contacts in industry and fig 5.9.

Do you primarily provide products or services directly to individuals, to other organizations, or to the government?

Organizations (B2B)

What is your plan for becoming financially sustainable, and what evidence can you provide that this plan has been successful so far?

Initially we will focus on finding product/market fit and proving the viability of our paid services by focusing on our collaborations with educational institutions.  This will allow us to shift away from full dependance on external funding as quickly as possible, and towards a better balance of income & grants or donations.  During this period of transition we will focus on developing open resources directly required for our courses or consulting projects.  These resources will be published open source & documented for adoption so they can still reach learners directly.

After we have grown our team and stabilized our paid services, we can begin focusing on better public documentation and expanding our content & tools to cover programming languages we do not teach directly.  Parts of our free resources that can still be developed within the scope of our paid services include:

  • Generic guides & tools we develop for use across all of our services

  • Content, guides and tools developed for specific courses we co-design and deliver

  • Anything developed under an open license in a consulting project

The extra work of making our free resources accessible (including organizing, documenting, producing additional guides and supporting additional programming languages) can be ~½ sustained with profits from our services, and ~1/2 by grants or donations.

We are confident this plan will work because:

  • We have experience developing open resources within the scope of delivering vocational trainings.

  • We ran profitable vocational trainings for 3 years before going into nonprofit work.

  • We have secured several contracts applying these approaches in other schools including a bootcamp in the UK, an apprenticeship program in Nairobi, and MIT Emerging Talent.

  • We have already begun discussions with Holy Cross Education Foundation and the Catholic School System in Belize to co-deliver vocational programming courses integrated with the Belize public school system. 

We plan on scaling vertically, offering more comprehensive solutions for vocational programming education because our methodology becomes increasingly effective the more thoroughly it is integrated.  Updating only parts of a curriculum will still provide value to learners, but can leave critical gaps where the curriculum is not updated.  This decision is also pragmatic because we already have well-tested curriculum modules covering a wide range of vocational skills including cross-cultural collaboration, design thinking for software development, Agile Development, project planning, and professional workflows.

Possibilities for achieving efficiency at scale include:

  • Collaborating with research partners, rather than directing our own studies.

  • Partnering with other organizations and experts to develop content for fast-evolving industry technologies, so we can focus our attention on more stable fundamentals.

  • Partnering with existing institutions to deliver trainings so we can focus on learner outcomes, while they cover recruiting learners, operating the space, and managing hiring partners.

  • Embedding in another organization that can take over administration so we can focus on designing and delivering education.

  • Developing strategies and tools for using AI to generate and iterate corpuses of code for learners to study 

Solution Team

 
    Back
to Top