Teach Prisoners How To Code with FreeCodeCamp

Hello,

My name is Frank DelPidio and I work as a software engineer at a company called Veracross.

We recently began an outreach program working with prisons in Maine to teach prisoners how to code. We would like to use the FreeCodeCamp curriculum.

Giving prisoners internet access has been a sensitive subject that has proven to be a challenge. A possible solution we are considering is forking a copy of the GitHub repo and running the curriculum on a local server at the prison.
My questions are:

  1. Is it ok for us to do this? I don’t want to violate FreeCodeCamp’s terms of service.

  2. Is it feasible to run the FreeCodeCamp curriculum locally without any internet connection? I believe it is but I want to make sure.

  3. Do you know of anyone who has done something similar?

Thank you in advance for any help or advice you can provide.

–Frank

1 Like

You can ask @QuincyLarson :slight_smile:

Sounds like a great cause, I know that personally, I’ve done a fair bit of googling around the topics/challenges on the course so it might be worthwhile making sure some good books are available to reference if you are going for an offline version.

I believe that the CONTRIBUTING documentation has the information that you need for setting up your own local instance. Besides FCC community members that contribute to the code base, I know that some students do this so they can work offline.

Here are some other aspects to consider:

  • Community support is one of the best things about FCC. Learning this alien material is very frustrating and demoralizing in isolation. Interaction between peers and across skill levels helps keep you sane and moving forward. I don’t know what the environment you’d be teaching in is like, but hopefully there is the opportunity to create a replacement for our chat and forum.

  • The FCC curriculum does not contain all of the information that students need. The expectation is that you’ll have access to documentation and other online resources. You’ll want to supplement with good reference material.

  • You’ll have to get creative with the projects, probably redesigning them to work in a closed environment. Our instructions regarding codepen, heroku, etc will not be useful. Actually building projects on your own is something that really sets FCC apart in terms of success, so I think it’s worth the effort.

Best of luck! If you get this program going I would love to hear how you adapt FCC to make it work and the lessons we can take from it (maybe a Medium article?)

ETA: I can’t speak for Quincy, but this seems to be totally in line with FCC’s goals. If you haven’t found this already: here are the Terms of Service

2 Likes

Wow! Great plan! In addition to terms of service, the license is on GitHub: FreeCodeCamp License. Its too long for me to read but I think it allows what you plan to do.

+1 to everyone saying supplemental material around the web is important, though.

I suspect you could keep a local copy of the MDN docs pretty easily, and probably the docs for any relevant libraries/frameworks as well, but those aren’t always the easiest to read.

If it’s at all possible to push for internet access – restricted to only certain top-level domains? – I would try to do that. But if not, I think you can still make it work – Especially if you have someone who could print out relevant blog posts/stack overflow answers/etc and bring them in when someone’s stuck on a certain thing.

I am on the “Core Team” and this has been something on our radar for over a month now. I know that another group that is reaching out to us for the same (A prison friendly version on a raspberry pi 3).

I know that at least one other developer is working on the port onto a raspberry pi 3. Unfortunately, with the upcoming curriculum expansion we have all been very busy trying to get new content live so our progress has been considerably slower than we would care for on this project. I personally am working on it when time permits and I am hoping to get a raspberry pi sometime next week to start hacking on it.

  1. We are open source. I am reasonably sure it can be done and I know we are considering it for non-profits.

  2. I am reasonably sure. I am still testing this hypothesis.

  3. We are working on this as a team. To be distributed on Raspberry Pi 3’s.

The license of the TOS page:
https://creativecommons.org/licenses/by-sa/4.0/ I also could swear some components might be covered by BSD-3.

The license on GitHub:

@QuincyLarson maybe you could share some insight of how this would work at a for profit company.

So far I am having issues with one of the packages being out of date and that is causing errors. I am working on resolving those conflicts. But I have not had enough time start any serious work. I think there is another who is further along, but I can’t remember who it is right now.