# FreeCodeCamp

freeCodeCamp (alternative Schreibweise: Free Code Camp) ist eine Non-Profit-Organisation, die aus lokalen Organisationen besteht und verschiedene Internetplattformen betreibt, die das Erlernen der Webentwicklung für jedermann zugänglich machen sollen. Ausgehend von einfachen Tutorials, die in HTML, CSS und JavaScript einführen, gehen die Studenten zu Projektaufgaben über, die sie entweder alleine oder zu zweit bearbeiten. Nach Abschluss aller Projektaufgaben werden die Kursteilnehmer mit anderen Non-Profit-Organisationen zusammengebracht, um Webanwendungen zu erstellen, wodurch sie praktische Entwicklungserfahrung sammeln können.

## Geschichte

freeCodeCamp wurde im Oktober 2014 gegründet und unter dem Namen Free Code Camp, Inc. als Marke registriert. Der Gründer, Quincy Larson, ist ein Softwareentwickler, der nach Abschluss seines Studiums mit dem Programmieren begann und freeCodeCamp als eine Möglichkeit schuf, den Weg eines Schülers vom Anfänger bis zur Berufsreife zu optimieren.
Larson war sechs Jahre lang Schuldirektor, bevor er anfing, programmieren zu lernen, um Tools zu entwickeln, die die Arbeit an Schulen effizienter machen sollten. Seine eigene Lernerfahrung als Programmierer war langwierig und voller Umwege. Daraus zog er den Schluss, dass ein vorgegebener, klar strukturierter Lehrplan für Programmieranfänger von Vorteil sein würde. Nachdem er Daten über Coding-Bootcamps in den USA analysiert und erkannt hatte, wie unzugänglich die Programmierausbildung für die Mehrheit der Nutzer war, machte er sich daran, eine vollständig kostenlose Online-Plattform für peer-getriebenes Coding-Lernen zu schaffen – das Ergebnis ist freeCodeCamp.
In einem Podcast-Interview aus dem Jahr 2015 fasste er seine Motivation für die Gründung von freeCodeCamp wie folgt zusammen:
   “freeCodeCamp is my effort to correct the extremely inefficient and circuitous way I learned to code. I'm committing my career and the rest of my life towards making this process as efficient and painless as possible. […] All those things that made learning to code a nightmare to me are things that we are trying to fix with freeCodeCamp.”
   „freeCodeCamp ist mein Versuch, den extrem ineffizienten und umständlichen Weg zu vereinfachen, auf dem ich das Programmieren gelernt habe. Ich setze meine Karriere und den Rest meines Lebens dafür ein, diesen Prozess so effizient und schmerzlos wie möglich zu gestalten. […] All die Dinge, die das Programmierenlernen für mich zu einem Alptraum gemacht haben, versuchen wir mit freeCodeCamp zu beheben.“
Der ursprüngliche Lehrplan konzentrierte sich auf MongoDB, Express.js, AngularJS und Node.js und sollte schätzungsweise 800 Stunden in Anspruch nehmen. Viele der Lektionen waren Links zu kostenlosem Material auf anderen Plattformen, wie Codecademy, Stanford University oder Code School. Der Kurs war in „Waypoints“ (kurze, interaktive Tutorials), „Bonfires“ (Algorithmus-Herausforderungen), „Ziplines“ (Front-End-Projekte) und „Basejumps“ (Full-Stack-Projekte) unterteilt. Für den Abschluss der Front-End- und Full-Stack-Projekte erhielten die Studenten entsprechende Zertifikate.
Der Lehrplan wurde im Januar 2016 überarbeitet, um weniger auf externes Material zurückzugreifen, die unkonventionellen Namen der Abschnitte zu ändern und den Fokus von AngularJS auf React.js als die Frontend-Bibliothek der Wahl zu verlagern. Es gab eine Reihe von Ergänzungen zu den Kursarbeiten, einschließlich D3.js und Sass, die die Gesamtzeit auf etwa 2.080 Stunden und zwei weitere Zertifikate, Datenvisualisierung und Back-End, gebracht haben.

## Inhalte

Der Lehrplan zum Selbststudium umfasst 1.400 Stunden interaktiver Programmieraufgaben und Webentwicklungsprojekte sowie 800 Stunden Mitarbeit an Open-Source-Projekten für Non-Profit-Organisationen und wird ständig um weitere Aufgaben und Projekte erweitert. Dies entspricht etwa einem Jahr Vollzeit-Entwicklung. Der Lehrplan ist unterteilt in Responsive Webdesign, JavaScript-Algorithmen und -Datenstrukturen, Frontend-Bibliotheken, Datenvisualisierung, APIs und Microservices sowie Maschinelles Lernen, Informationssicherheit und Qualitätssicherung. Die Teilnehmer erhalten nach Abschluss jedes Abschnitts ein Zertifikat.
Der Lehrplan betont die Paarprogrammierung, um eine Kultur der Zusammenarbeit und des gemeinsamen Lernens zu fördern, die die Zweifel der Studierenden an der Angemessenheit ihrer Fähigkeiten überwinden kann (oft als „Hochstapler-Syndrom“ bezeichnet).
Zu den Sprachen und Technologien, die derzeit von freeCodeCamp unterrichtet werden, gehören HTML5, CSS3, JavaScript, jQuery, Bootstrap, Sass, React.js, Node.js, Python, Express.js, MongoDB und Git.

## Ehrenamtliche Arbeit

Wenn die Teilnehmer von freeCodeCamp alle Zertifikate des Lehrplans abgeschlossen haben, erhalten sie die Möglichkeit und werden ermutigt, mit gemeinnützigen Organisationen zusammenzuarbeiten. Beispiele sind die in Indonesien ansässige gemeinnützige Organisation Kopernik und People Saving Animals.
Im Jahr 2016 kündigte freeCodeCamp seine Initiative „Open Source for Good“ an, die die gemeinnützige Arbeit erweitert und für alle gemeinnützigen Organisationen zur Verfügung stellt. Innerhalb von zehn Monaten nach dem Start hat die Initiative sieben Open-Source-Tools geschaffen. Mail for Good ist eines der Projekte, das Organisationen dabei hilft, Massen-E-Mails zu geringen Kosten zu versenden, was als günstigere Alternative zu Diensten wie MailChimp dient.

## Aufnahme

Die Plattform von freeCodeCamp wird von etwa 350.000 Besuchern pro Monat genutzt, mit Studenten aus über 160 Ländern.
freeCodeCamp hat internationale, von der Community moderierte Gruppen, in denen sich Studenten persönlich austauschen können. Einige Gruppen wurden in den Lokalnachrichten erwähnt, die freeCodeCamp als Einführung in die Programmierung anführen, um den zu erwartenden Bedarf an programmierbezogenen Jobs im nächsten Jahrzehnt zu decken.