View on GitHub

Teaching Youth to Code

Removing institutional barriers for youth of color to succeed

Introduction

My name is Aijaz Ansari and I work at Gogo Business Aviation in Broomfield, Colorado. I also volunteer as a Member of the Board at MYPI, which is an registered non-profit organization dedicated to serving youth.

One of the goals of MYPI is to “work to remove institutional barriers for youth of color to succeed.” There is no single strategy that is guaranteed to work to serve our Black youth. Every one of us has different skills, and we should use them to reach our goals. Mine happens to be teaching. This project is an effort to teach programming (coding) to youth in our communities.

I have conducted this sort of program three times in the past, in Chicago. The first time was for young children, and the other two was for adults looking to learn new skills. In fact I got my job at Gogo through one of these programs: one of my students was a Gogo employee who told me about the job opening. In my experience, the program as designed is long enough to teach someone programming and have them complete with a tangible, working app or game.

Executive Summary

Risks

These are the risks that I have identified that could cause some details of the program to change:

Social Distancing due to COVID-19

Ideally, each class would be held in a room large enough to hold the instructor and all students. However, with social distancing being the norm for the foreseeable future, the classes will have to be conducted online. Given that requirement, the best option would be to use Zoom, Hopin, or Mmhmm.

Lack of Reliable Internet Access for the Students

This type of program depends on the students having reliable internet access for the weekly “in-person” sessions. These are the minimum requirements that each service suggests:

If a student doesn’t have access to Internet Service at this speed, we would have to look for local establishments like libraries or businesses that can sponsor the student’s access by giving them a place from where they can attend the class. This is not a scalable solution, because there are many variables, such as where the student lives, whether they have access to transportation, etc.

Inadequate Sponsorship

While the cost of this program is $1,000 - $1,640 per student, the minimal cost is approximately $360 per student: the cost of a Chromebook. The table shows the minimal cost based on the number of students, and how many sponsored students we would need (at $1,000 per sponsorship) to meet those minimal costs:

Number of Students Minimal Cost Number of Sponsorships Required to meet Minimal Cost
1 $360 1
2 $720 1
3 $1,080 2
4 $1,440 2
5 $1,800 2
6 $2,160 3
7 $2,520 3
8 $2,880 3
9 $3,240 4
10 $3,600 4
11 $3,960 4
12 $4,320 5
13 $4,680 5
14 $5,040 6
15 $5,400 6
16 $5,760 6

A similar table can be generated for the MacBook Air.

Student Safety

There will be only two or three people who will have physical or online access to the students:

  1. The MYPI Training coordinator
  2. The Head of Training (Aijaz Ansari)
  3. The Instructor (currently also Aijaz Ansari)

Any person who takes one any of these roles will have to have passed a background check within the last 12 months and should be able to provide proof of this background check on demand. Background checks will be performed by CIA Research.

All staff will be expected to adhere to the Code of Conduct when interacting with students, whether in class, or outside of class hours, and even after the program has completed and the student is no-longer enrolled in the program.

Data Privacy

The following data will be collected for each student:

The storage of student data may be outsourced to a third party such as Remind.

Scaling the Program

The goal of this project is to be able to provide this training to whoever wants it. We don’t want to turn anyone away. Logistically, we can only have a maximum of 16 students per session. More than that, and we may lose the ability to give individual attention to students during the training sessions.

This website, and the associate Git repository will store high-level curriculums as well as detailed syllabi so that we can duplicate this effort by adding more instructors and sponsors. We should not be starting from scratch every time. To prevent burnout, I would not recommend that a single instructor conduct more than one session at any point in time.

Why Assign a Dollar Value

I’ve been a volunteering in one capacity or the other for the last 30 years. During that time I’ve learned that if we don’t assign a value to a product or service, then that product or service is perceived as having no worth. A project such as this can only be successful if the students feel that they are getting something valuable. Something worth having. Lacking that, interest and attendance can wane if the class becomes difficult.

Another reason to assign a dollar value to each enrollment and look for sponsorships is that we want this project to be self-sufficient and viable in the long term. We want this to be in an organization’s best interest to conduct these classes. To use a cliché, it’s a win-win. For both, the students and the organization conducting the classes. Also, those laptops aren’t free.

Finally, I have noticed in the last three decades of volunteering that even the best-intentioned volunteers are only human. They may start a project with a lot of enthusiasm, but not see it through to completion. There are often good reasons for that: They may get busy at work, or school. They may get married, or take on more responsibilities at home. When we pay our volunteers (even if it’s only a token amount) we’re communicating to them that “This is a committment.” They’re committing to putting in the effort to complete this project. Sixteen youth are relying on them. This is not merely something they do when they have the time. Once money changes hands—no matter how little—it gets serious.

The Definition of Success

How do we measure success? If a student completes the program and leaves with an app that they made by themselves, that’s clearly a successful outcome. But what about the student who comes to us in week three saying, “You know, I thought I would love coding. But I absolutely hate how dull this is, and I never want to do this again in my life.” What about them?

I would call that a successful outcome as well. Better they learn that now, than after spending two years of misery in a CS program in college. Essentially, any outcome where the student attends regularly and is engaged with earnest is a successful outcome.

Curriculum

This program will have the following classes:

1. Programming Python

The student will learn programming with Python. By the end of the 16 weeks the student will have created an engaging Space-Invaders-type game that they can play on their computer. Each student will be given a Chromebook, which they can keep after they complete the class. Cost for sponsorship: $1,000/student.

2. iPhone Development with Swift

The student will learn programming with Swift. By the end of the 16 weeks the student will have created an engaging Space-Invaders-type game that they can play on their iPhone. Each student will be given a MacBook Air, which they can keep after they complete the class. iPhones will not be provided. If the student doesn’t have an iPhone, they can still play this game on the iOS simulator on their computer. Cost for sponsorship: $1,640/student.

Syllabus

The syllabus for the Python class is available here. The syllabus for the iOS class will be added here when it is complete.

Partners and Sponsors

We will reach out to partners and sponsors starting July 10, 2020, and add their names here once they join.

Become a Sponsor

If you would like to become a sponsor, and help remove institutional barriers for youth of color to succeed, please contact me at aijaz at aijaz dot net.

Enroll in the Program

If you’re a student and would like to sign up for this program, or a parent who would like to sign up their child, please email admin at mypi dot org.

Thank you.

Apple, the Apple logo, iPhone, and iPod touch are trademarks of Apple Inc., registered in the U.S. and other countries. iPad is a trademark of Apple Inc. App Store is a service mark of Apple Inc.