CodePath Overview

Core Mission

CodePath’s mission is to enable underrepresented college computing students, regardless of the university they attend, to land their first technical internship and enter into a competitive tech role after graduation.

We want to offer students a robust and well-rounded undergraduate experience that provides them an accelerated pathway towards 1) building their resume / LinkedIn, 2) starting the internship search early, 3) being fully prepared and confident for technical interviews at top companies, 4) and being high-performing and confident software engineers on the job.

In short, we want to provide university students the clearest and most efficient pathway towards a successful and fulfilling career in the tech industry, free of charge and available to them directly on their campuses. This starts Freshman year, through their very first internship, all the way to working in their first job in the tech industry after graduating, and beyond.

Moreover, we want to provide this to as many students as possible, with a strong emphasis on those that are the most underserved today: Black, Latinx, low-income, Appalachian, and other students that don't already have a clear path. These are students that largely will never be able to pay for courses, so our programs will need to be funded for by companies and universities.

CodePath.org leadings in designing personalized and tech relevant course offerings that provide students a pathway into the technology industry. Along the way, we will:

Provide students necessary context and foundations of a career in software engineering

Inspire and educate students about the tech industry landscape

students a chance for hands-on learning through application development

Connect students directly to relatable mentors that support them over time

Instill a core value of developing mastery and leadership through acts of service

Support students into their first technical internship while in school

Support students in their first full-time software engineer job

Why the tech industry?

Why introduce students to the tech industry in the first place? There are many reasons, here are a few:

  • Computer science education in the US is failing many, many students with the current approach. The software industry is not one-size-fits all and the programs can't be either. Underrepresented groups drop out of CS at nearly an 80% rate before graduation day. Many of them lose confidence in their abilities and do not end up finding a pathway into tech.

  • The tech industry is a clear pathway to economic opportunity and empowerment. No other industry provides such a concrete and attainable path to financial security. This path is open to anyone, regardless of background who is given the proper pathway and support.

  • The tech industry is "eating the world". Entertainment / media, finance, law, business, and more are all built upon lots and lots of software. All of these industries and more will be improved as more and more software engineers are available to empower people to be more effective with their time.

  • The tech industry is what we know, all of us on the team found ourselves in this industry, in one way or another, and we have an ethical responsibility to reach a hand back towards the next generation.

  • The tech industry is about a lot more than just "coding". Let's not forget that successful software products and business require far more than code. There's room for everyone of all interests: Marketing / PR, Sales, Design, Product, Support, Automated testing, legal, and much more.

Designing for Student Success

Between 60-80% of underserved students that major in CS today do not successfully make their way to success within the software industry. Many drop out their Sophomore year, and even those that make it to Senior year often are significantly underprepared and underemployed after graduating.

Students in college that embark on the path to software engineering roles in tech, especially those from underestimated and underserved groups. We create learning experiences that show students they belong in tech including the following |

  • Understanding of software engineering as a career and how this differs from Computer Science, and what software roles are actually like, causing them to believe things like “I need to be good at math”, or “the tech path isn’t for me”

  • Belief that they can personally get access to successful roles in the tech industry themselves

  • Confidence in their own abilities, self-doubt causes students to fall off the path into tech (Impostor Syndrome)

  • Access to role models and mentors in tech that reflect their lived experience, are relatable and that believe they can succeed

  • Strong support system along the path into the tech industry which helps tackle challenges as they arise

  • A feeling of belonging and acceptance in their peer groups, as well as at tech events, hackathons, or in other social circles

  • Confidence with “talking while they code," and techniques to pass tough technical interviews

  • Access to the kinds of networks that provides access to great opportunities and critical insights into the tech industry

  • Guidance and knowledge on how to start building out their portfolios and develop skills outside of the classroom

Our mission is to build support systems and programs that help lift as many underserved students as possible over these multitude systemic barriers.

Multi-Year Growth and Support

A crucial aspect of our programs involves working with each student spaced over multiple courses and years to help set the foundations and then build on that over time.

Rather than thinking about our program as a single item a student takes once over a semester, we believe highly effective outcomes require a more in-depth sequence of programs, and a deeper professional collaboration that spans time.

Develop a Bridge from the Destination

To most effectively ensure outcomes, programs should be methodically and carefully designed starting by serving students that are closer to the desired outcome target and then deliberate expanding programs outwards to support a wider and wider range of students.

In order to serve the broader audience of students, sometimes a course sequence is required, allowing students to enter into the sequence based on their current level of preparedness. This is crucial to ensuring every student is setup for success in a given program.

In cases where we don't have a course sequence, the programs need to be designed very carefully to serve an elastic audience. This is usually done by designing projects and labs that have a smaller number of required stories, as well as having a high level of additional supporting materials (which students can choose to leverage or not) to serve students at different levels of preparedness for the course.

Immersive Learning

Immersive learning means focusing squarely on context and application before explaining jargon and concepts. We believe theory is best learned when closely intertwined and guided by practical applications. These two are not at odds, but go hand in hand.

Immersive-style learning is about focusing on specific use-cases and skills, and providing sandboxes and guided opportunities to try applying them in a student-directed way. For example, if you are going to teach someone to swim, you don't start by explaining the chemical breakdown of water.

"ABC/CBV" means "Application before concept, concept before vocabulary". Effective programs weave these aspects together in a cohesive narrative, and never allowing students to lose the "forest through the trees". By interlacing theory and practice, and allowing students to "play" while they learn, we believe we can radically effect the enjoying and efficacy of learning.

Context is Crucial

Curriculum, projects, labs, videos, and materials must be developed with clear context and frameworks made available to students throughout. This is about giving students the "bigger picture", helping them to develop a mental framework for understanding and contextualizing their learning every step of the way.

Teaching individual concepts or topics is not helpful unless students are given a proper map for associating and integrating new knowledge as they take courses.

Providing students a clear understanding how each thing fits into the larger narrative and gets them closer to their goals is also essential to maintaining motivation when things are tough.

Check out this guide on providing context for more details on how to provide relevant context within videos.

Progressive Spaced Repetition

Our programs are designed to layer concepts and build on applied knowledge over time, with escalating repetition which combines past concepts and progressively extending them.

All of our courses start by introducing a clear deliverable to work towards (either a project, or a test or a lab), and then introduce key concepts and techniques needed on their quest to complete the deliverable.

The deliverables students submit are layered and build out over time, both frequently repeating past applied concepts and topics, while also challenging and expanding the student's understanding through new deliverables.

Last updated