Nous avons créé une école locale de codage gratuite en utilisant le programme de freeCodeCamp. Voici ce que nous avons appris.

Bien que cette image montre une salle de classe en personne, nous avons déplacé notre école complètement à distance en raison de la situation COVID-19.

Si vous souhaitez apprendre à coder, vous avez généralement le choix entre trois options:

  1. Vous pouvez vous enseigner et trouver votre propre programme.
  2. Aller à l'université et obtenir un diplôme en informatique / informatique.
  3. Ou fréquentez une école de codage. Les écoles de codage sont des cours intensifs pratiques conçus pour vous permettre de vous mettre rapidement à niveau afin que vous puissiez trouver votre premier emploi de développement logiciel dans un délai de trois mois à un an.

L'option numéro un est la moins chère, mais aussi la plus frustrante et la plus difficile. Il est si facile de rester coincé en cours de route et de vouloir abandonner.

Les options deux et trois pourraient bien fonctionner, si vous pouvez vous permettre de vous absenter du travail (ou au moins travailler moins d'heures), payer les frais de scolarité plus les frais de subsistance pendant que vous êtes présent et que vous cherchez un emploi, et que vous êtes toujours en mesure de gérer votre vie familiale et personnelle. Tout le monde n'est pas capable de le faire.

C'est pourquoi nous avons créé freeCodeSchool Indy. C'est un programme de codage gratuit basé sur le programme freeCodeCamp où nous guidons les étudiants à travers des programmes scolaires de codage à temps partiel pendant trois mois.

Nous avons deux cours de deux heures par semaine - le lundi et le mercredi de 18h à 20h, où nous leur apprenons tout, des bases de HTML à JavaScript et Intro to React.

On s'attend à ce que les étudiants passent au moins 6 heures par semaine à étudier seuls, et peuvent éventuellement assister aux heures de bureau le dimanche que nous tenons de 13 h à 17 h. S'ils terminent les trois premiers mois, ils peuvent participer à un deuxième programme de trois mois, où ils peuvent en apprendre davantage sur le développement Web back-end dans Node.js.

Nous avons commencé à travailler sur cette idée il y a plus d'un an et c'est excitant de pouvoir dire que nous avons terminé notre première cohorte en mai. Nous pouvons maintenant partager ce que nous avons appris dans cet article.

Notre objectif dans la construction d'une école de codage gratuite

Notre objectif depuis le début était de fournir une éducation accessible et de soutien à tous, quel que soit le revenu ou les circonstances de la vie (comme la capacité de s'absenter du travail).

Nous n'essayons pas de rivaliser avec les bootcamps ou les écoles de codage régulières - ils fournissent également un service précieux aux étudiants. Nous essayons simplement d'avoir une autre option plus accessible pour les personnes qui ont besoin d'un horaire plus flexible ou qui n'ont pas les moyens de payer une école de codage.

Les étudiants recevront des conseils et des directives du personnel, des bénévoles et des membres de la communauté tout au long du programme et en tant qu'anciens élèves par la suite.

Bien sûr, nous voulons que nos étudiants puissent trouver des emplois dans l'industrie si tel est leur objectif. Mais nous n'avons pas les moyens de garantir quoi que ce soit. Nous voulons simplement fournir autant de soutien que possible aux étudiants, qu'ils décident de continuer à apprendre par eux-mêmes ou de suivre un programme plus formel, comme une école de codage ou un collège.

Comme je l'ai déjà mentionné, il nous a fallu environ un an pour tout mettre en place - entre trouver l'espace et les instructeurs, ainsi que décider du type de programme et du curriculum. Voici tout ce qui est entré dans la préparation de notre programme.

Comment nous avons planifié le programme

Les premières choses que nous avons faites ont été de choisir la durée et les objectifs du programme. Nous avons atterri sur des cours de trois mois où les étudiants apprendraient les bases de HTML, CSS et JS, avec quelques extras comme Bootstrap et React Components.

Si tout se passait bien, notre objectif était de prendre un mois de congé et d'accueillir un cours de niveau deux pour les étudiants ayant terminé le premier. Le niveau deux serait encore trois mois où nous nous baserions sur ce que nous avons enseigné au niveau un et en apprendrions plus sur les frameworks JavaScript et présenterions Node.js.

Commencer petit avec un programme à temps partiel de seulement trois mois nous a aidés à apprendre et à faire des ajustements au fur et à mesure. Cela a également donné aux étudiants un objectif court et temporel pour pouvoir terminer le programme et avoir un petit portfolio en quelques mois seulement.

Voici notre organisation sur Github. Nous sommes en train de mettre à jour et d'ouvrir notre matériel au fur et à mesure.

Adopter le programme de freeCodeCamp

L'élaboration des programmes est longue et coûteuse. Heureusement, freeCodeCamp a déjà un formidable programme gratuit que nous pouvons utiliser et modifier sans aucune condition.

Nous avons suivi le programme de freeCodeCamp et l'avons suivi comme plan de nos conférences. Nous avons utilisé les défis comme des devoirs que les étudiants devaient accomplir entre les cours. Nous avons également utilisé les projets de freeCodeCamp comme affectations individuelles et de groupe en cours de route.

Tout au long des cours, nous avons également encouragé les étudiants à essayer de faire un peu de travail supplémentaire pour pouvoir obtenir leurs certifications freeCodeCamp pendant ou après la fin du programme.

Comment nous avons trouvé un espace pour accueillir des cours

La bibliothèque publique d'Indianapolis a généreusement accepté d'accueillir nos cours et de nous donner également un espace pour les heures de bureau. La taille de l'espace dans le laboratoire informatique était limitée, de sorte que le nombre maximum d'étudiants que nous pouvions prendre par classe était de 22.

Nous aurions pu utiliser une plus grande salle de conférence dans la bibliothèque pour accueillir une classe plus nombreuse, mais nous n'aurions pas pu accueillir des étudiants qui ne possédaient pas d'ordinateur portable - et cela n'aurait pas été très accessible à tout le monde.

Nous n'avions pas prévu d'être un programme à distance, nous avons donc dû ajuster nos classes pour utiliser Discord pour les conférences et toutes les communications avec les étudiants lorsque le COVID-19 s'est produit. Plus à ce sujet plus tard.

Comment nous avons choisi les outils technologiques

Nous avons préparé un forum Discourse (comme le forum freeCodeCamp) avant le début des cours afin que les étudiants puissent se connecter, recevoir des annonces, poser des questions et publier des devoirs. Cela a également donné au personnel administratif des privilèges pour suivre les étudiants et modérer les interactions des étudiants.

Comment nous avons administré l'école

Trouver des étudiants

Lorsque nous planifions ce programme, nous craignions de ne pas susciter suffisamment d'intérêt et toute notre planification ne servirait à rien. La réalité était que nous avions beaucoup trop d'intérêt et que nous ne pouvions pas accueillir tous les étudiants. Pour 22 machines à sous, nous avons eu plus de 140 personnes qui voulaient participer! Et c'était sans faire autant de marketing.

C'était très excitant de susciter autant d'intérêt pour notre programme, mais nous devions également décider quels étudiants suivre et comment choisir de manière équitable.

Nous avons décidé de réduire la taille du terrain en exigeant que les gens se présentent à trois activités de présélection où ils compléteraient certains défis de base, comme le jeu Flappy de Code.org. Cela nous a permis de savoir quels étudiants étaient dédiés à se présenter et a réduit le nombre de personnes en ligne à environ 80. C'était encore trop pour l'espace dont nous disposions, nous avons donc dû faire une loterie aléatoire pour sélectionner les étudiants finaux.

Enseigner aux étudiants

Chaque élève apprend différemment et a sa propre personnalité et ses préférences. Il est déraisonnable de s'attendre à ce que nous puissions simplement donner des cours aux étudiants pendant une heure et ils seront tous capables de récupérer toutes ces informations et de construire le laboratoire sans problème.

Nous avons décidé d'un format pour les conférences où nous commençons chaque conférence en demandant si quelqu'un a des questions - généralement, nous n'en recevons pas beaucoup. Ensuite, nous passons aux diapositives et nous nous arrêtons toutes les 15 minutes environ pour donner aux étudiants des `` laboratoires '' guidés afin qu'ils puissent essayer le codage par eux-mêmes avec l'aide d'instructions et de pouvoir toujours poser des questions en classe.

Nous laissons également souvent les 30 dernières minutes des cours de 2 heures pour que les étudiants puissent travailler sur leurs projets de classe.

Collecte des affectations

Certaines personnes ne remettent pas de devoirs. Cela pourrait signifier qu'ils hésitent à partager leur code là où d'autres élèves peuvent le voir, ou qu'ils ne pensent tout simplement pas que c'est nécessaire car c'est une école de codage gratuite après tout, et certains de leurs camarades de classe ne le font pas non plus.

Si c'est le premier, nous les encourageons à partager les affectations uniquement avec le personnel et à leur faire savoir que nous avons tous été à leur place auparavant.

S'ils ne remettent pas les affectations parce qu'ils ne veulent pas ... eh bien, nous ne pouvons pas faire grand-chose à ce sujet. Nous essayons de décourager les étudiants de rejoindre la classe qui ne veulent pas participer pleinement au programme.

À l'origine, les affectations se déroulaient sur le forum, mais nous y étions très peu engagés. Les étudiants ne se connectaient pas très souvent et ils ne posaient jamais de questions là-bas.

Désormais, les devoirs sont rendus via un canal Discord sur le serveur que nous avons pour notre école de codage.

Puisque nous gérons l'ensemble de notre programme à partir du même serveur Discord - y compris en organisant des conférences, en répondant aux questions et en gérant le programme - nous constatons une augmentation du nombre de devoirs rendus. Nous recevons également des commentaires plus utiles que les étudiants reçoivent du personnel et les bénévoles.

Les délais

Devrions-nous avoir des délais pour rendre les projets? Notre opinion en ce moment est non, nous ne devrions pas.

La plupart des membres de la première cohorte ont pris un peu de retard et certains d'entre eux ont terminé le programme des semaines après la fin. Devrions-nous punir les gens qui terminent, mais pas à temps? Nous ne le pensons pas et voici pourquoi: chacun apprend à son rythme.

Si quelqu'un termine dans 3 mois et un autre étudiant dans 4 mois, ils devraient tous les deux être récompensés de la même manière pour avoir terminé le programme.

Un jour, nous pourrons avoir des admissions glissantes pour notre codage et aider les étudiants à un niveau plus granulaire. Jusque-là, le moins que nous puissions faire est de rester flexible pour les accueillir et de les laisser tourner le reste des projets chaque fois qu'ils le peuvent.

Amener les étudiants à demander de l'aide

Cela a été l'un de nos plus gros problèmes! Certaines personnes prennent du retard et certains étudiants sont confus mais ne veulent pas demander de l'aide. Certains élèves sont tellement confus qu'ils ne savent même pas quel type d'aide demander.

Vous ne pouvez pas vraiment forcer les gens à obtenir de l'aide, mais vous pouvez leur demander. Le meilleur moyen que nous avons trouvé pour les amener à poser des questions est de faire de courts segments de révision au début des cours et de prévoir des heures d'étude où les étudiants peuvent venir poser des questions dans un groupe beaucoup plus restreint.

S'ils préfèrent taper la question, ils peuvent la publier dans le chat étudiant ou envoyer un message privé à l'un des organisateurs.

Nous ne pouvons pas faire grand-chose. Si les étudiants sont perdus ou confus et ne veulent pas demander de l'aide, nous n'avons aucun moyen de résoudre ce problème. Nous nous efforçons de les rencontrer là où ils sont, mais ils doivent aussi faire des efforts pour venir vers nous.

Sondages étudiants

La réalisation de sondages réguliers auprès des étudiants nous aide vraiment à obtenir des commentaires critiques pour notre programme.

Lors de notre première visite, nous avons recueilli des informations sur les objectifs et les antécédents des élèves au début, puis nous avons répondu à une enquête auprès des étudiants à mi-parcours - environ 6 semaines - puis une autre enquête à la fin.

Bien que nous ayons reçu beaucoup de bonnes informations, avec le recul, nous aurions dû répondre à d'autres sondages et ajouter quelques questions supplémentaires. Cette fois, nous réaliserons probablement des sondages pour obtenir les commentaires des étudiants chaque mois. Voici quelques-unes des questions que nous nous posons:

  1. Que pensez-vous du programme jusqu'à présent? Répond-il à vos attentes?
  2. Pensez-vous que les conférences sont utiles pour faire les devoirs?
  3. Comment pouvons-nous mieux vous aider à atteindre vos objectifs?
  4. Avez-vous d'autres commentaires à nous faire?

Gérer les abandons

La vie arrive, les choses changent. Nous devons comprendre que les étudiants qui ont pleinement l'intention de participer pourraient devoir abandonner en raison de circonstances inévitables.

S'ils communiquent avec nous sur la situation, nous leur offrons une place dans la prochaine cohorte.

S'ils ne se présentent tout simplement pas ou ne communiquent pas avec nous, ils sont libres de présenter une nouvelle demande à l'avenir, mais aucune place ne leur sera réservée.

Personnel et bénévoles

Sollicitation de bénévoles

Sans bénévoles, il serait assez difficile de gérer un programme comme celui-ci. Voici quelques-uns des différents types de bénévoles dont vous aurez besoin pour réussir.

Responsabilités:

  1. Organisateurs - Oui, nous sommes aussi des bénévoles.Nous avons la chance d'avoir une équipe formidable d'organisateurs qui dirigent le programme. Cela comprend moi-même, deux autres développeurs et un superviseur de laboratoire informatique de la bibliothèque qui sait également coder. Nous discutons plusieurs fois par semaine dans Discord pour nous assurer que le programme se déroule correctement et que les étudiants progressent. Je pense que 3-5 est un assez bon nombre pour une équipe d'organisation, mais nous pourrions en ajouter d'autres pour faire des choses spécifiques, telles que «gestionnaire de communauté» ou «coordinateur des bénévoles».
  2. Présentateurs - Ces personnes donnent des conférences pendant les heures de classe ou des séances d'aide spéciales qui ont généralement lieu le week-end. C'est le type de volontariat le plus difficile à gérer. Dans notre programme, les cours durent de 1,5 à 2 heures et il n'y en a que 24, donc chacun doit être en phase avec le reste du programme. Certains bénévoles bien intentionnés pourraient ne pas être la bonne personne pour donner des conférences à des personnes qui sont novices en développement. Il est très important d'être clair sur ce que vous voulez qu'ils couvrent dans le cours, jusqu'aux points individuels et aux résultats d'apprentissage attendus. Nous nous sommes également assurés de donner aux bénévoles une plate-forme de diapositives standard sur laquelle travailler afin qu'elle corresponde au reste du programme.
  3. Mentors - Les étudiants auront non seulement des questions de codage, mais aussi des questions sur leur carrière, leur réseautage, etc. Le mentorat est idéal pour répondre à ces types de questions. Nous travaillons actuellement à la mise en place de notre programme de mentorat où des mentors bénévoles vérifieront avec les étudiants au moins une fois par semaine pour s'assurer qu'ils sont sur la bonne voie et répondre à toutes leurs questions. L'une des raisons de ce retard est que nous travaillons sur un système permettant de traiter les plaintes de langage ou de comportement inapproprié qui pourraient survenir lorsque les élèves rencontrent individuellement des bénévoles.
  4. Assistants de laboratoire - Les assistants de laboratoire sont là pour aider de manière synchrone pendant les sessions de laboratoire en direct, généralement en cas de problèmes d'exécution de logiciels ou de débogage. Nous avons beaucoup plus utilisé des assistants de laboratoire lorsque nous avons organisé des cours en personne. Les choses étant distantes, nous ne pouvons pas voir les écrans des étudiants, nous n'avons donc dû que quelques personnes disponibles pour répondre aux questions dans le chat si les gens sont bloqués.
  5. Assistants généraux - Ces personnes aident à répondre aux questions des étudiants dans le chat et à effectuer d'autres tâches telles que la révision de projets et de portfolios. Ils sont également utiles pour que les élèves puissent se dérober ou pour les encourager.

Manuel du bénévole

Nous avons rédigé un manuel de deux pages détaillant les attentes en matière de comportement des bénévoles ainsi que les conditions de participation à notre programme. C'est assez basique en ce moment, mais nous allons en construire au fur et à mesure, j'en suis sûr.

Nous leur donnons également un lien vers le code de conduite de freeCodeCamp car il est court, doux et précis: soyez gentil, compréhensif, etc.

S'assurer que le personnel dispose des outils pour réussir

Nous avons certainement commis quelques erreurs, notamment laisser un présentateur faire ses propres diapositives, puis lui dire à la dernière minute qu'il fallait changer. Cela ne s'est pas bien passé. Nous aurions dû être beaucoup plus clairs avec ce que nous voulions de lui.

Maintenant, tout le monde reçoit de notre part un diaporama passe-partout ainsi qu'une liste de sujets à couvrir. Nous nous connectons également plusieurs fois avec eux pour passer en revue l'avancement de leur présentation afin de nous assurer qu'elle est sur la bonne voie.

À l'heure actuelle, nous avons un manuel pour les bénévoles, des plans de cours et des diapositives pour l'enseignement, des directives pour le mentorat et un dossier Google Drive dans lequel nous conservons toute la documentation du programme, les progrès des élèves, le matériel pédagogique et les plans futurs. Nous avons récemment réorganisé tous ces matériaux pour les rendre plus faciles à localiser lorsque nous en avons besoin.

Au fur et à mesure que ce programme se développe, nous devrons gérer plus de bénévoles et même de personnel rémunéré. Nous nous préparons à cela en documentant nos processus pour rendre l'intégration un peu plus fluide à chaque fois.

Partenaires communautaires

Nous essayons actuellement de former des partenariats communautaires pour obtenir des sponsors pour le financement ainsi que des dons d'équipements technologiques.

Certains de nos étudiants n'ont pas accès à de bons ordinateurs ou à une connexion Internet rapide. La bibliothèque nous a fourni ces choses lorsque nous avons organisé des cours particuliers, mais cela a été plus difficile maintenant que nous sommes éloignés.

De plus, les bibliothèques n'ont que des horaires limités et, pour les étudiants qui exercent plusieurs emplois ou ont d'autres obligations familiales, il peut être difficile de prendre le temps de faire tout le travail en classe pendant la journée. C'est pourquoi le parrainage de partenaires communautaires est si important pour rendre notre programme accessible.

À l'avenir, nous espérons pouvoir fournir un accès Internet et des ordinateurs portables aux étudiants qui en ont besoin.

Organisation

Commercialisation

Nous n'avons aucun expert en marketing dans notre équipe. Nos efforts de marketing consistent essentiellement à nous assurer que nous conservons notre image de marque sur laquelle nous nous sommes entendus - couleurs, verbiage, etc.

Heureusement, j'ai un petit nombre d'abonnés sur YouTube, LinkedIn et d'autres plateformes où j'ai pu solliciter des bénévoles et susciter l'intérêt de la communauté pour notre programme.

La bibliothèque publique a également aidé à atteindre de nombreuses communautés différentes et à attirer des étudiants que nous n'aurions peut-être jamais pu atteindre autrement.

À mesure que nous grandissons, nous pourrions commencer à élargir notre portée sur les médias sociaux, mais avec un budget limité pour le moment, nous ne faisons que gagner du terrain de manière organique.

Diffusions en direct à distance

L'hébergement de diffusions en direct à distance a été difficile. Les connexions Internet tombent parfois en panne, et il y a une courbe d'apprentissage pour que les étudiants puissent utiliser le logiciel.

Discord a été une excellente option pour nous, car nous pouvons héberger des diffusions en direct à l'intérieur de l'application où se trouvent tous nos chats et tout le reste. De cette façon, nous n'avons qu'à expliquer comment utiliser un seul logiciel.

De plus, Discord nous permet de partager un écran avec jusqu'à 50 personnes à la fois dans les salles de discussion vocale. Et c'est tout gratuit! Nous avons examiné Zoom et quelques autres outils, mais nous allons nous en tenir à Discord jusqu'à ce que nous ayons besoin - et que nous puissions nous permettre - quelque chose avec plus de fonctionnalités.

Incorporation et financement

Nous voulions commencer à demander du financement aux entreprises et aux gens, nous avons donc dû nous constituer en société à but non lucratif l'année dernière. Aux États-Unis, ce processus prend environ six mois. Nous avons d'abord dû nous enregistrer en tant qu'entreprise auprès de notre État, puis rédiger des documents commerciaux et demander le statut d'organisme à but non lucratif auprès du gouvernement fédéral.

Au début de cette année, nous avons enfin eu la confirmation que nous sommes une organisation à but non lucratif 501c3! Nous essayons maintenant de trouver des moyens d'obtenir des fonds et d'accepter des dons. Nous allons ajouter un bouton «Faire un don» sur notre site Web et nous nous adressons également aux entreprises pour solliciter des dons plus importants. Il y a également eu des discussions internes sur la question de savoir si le financement participatif est une bonne idée.

Avez-vous des suggestions à nous faire dans ce domaine? Merci de laisser un commentaire sur cet article ou de nous contacter à [email protected]

Outils de communication

Forum

Comme mentionné précédemment, nous avons commencé par utiliser un forum Discourse, mais nous avons constaté qu'il était difficile à maintenir et ne répondait pas à nos besoins. Les gens ont du mal à l'utiliser, en particulier sur mobile. Nous avons également eu du mal à amener le personnel et les étudiants à se connecter et à le vérifier suffisamment souvent pour que cela en vaille la peine. C'est pourquoi nous nous sommes débarrassés du forum et avons déplacé tout notre programme vers Discord.

Discorde

Nous avons maintenant un serveur Discord mis en place pour toute l'école de codage! Nous l'utilisons pour héberger des conférences en direct - nous pouvons avoir jusqu'à 50 personnes dans le chat vocal et partager l'écran avec elles en même temps, gérer les étudiants, organiser des activités de bénévolat, coacher des conférenciers, répondre aux questions, faire des projets de groupe, examiner des portfolios effectuer des tâches administratives.

Tout avoir au même endroit a été la meilleure décision que nous ayons jamais prise. Non seulement nos coûts sont plus bas, mais cela rend l'administration du programme beaucoup plus facile. Toutes les personnes avec lesquelles nous avons besoin d'interagir sont déjà sur Discord ou doivent simplement être invitées sur Discord :)

L'obtention du diplôme

Nous avions de grands projets de faire notre première remise de diplômes en personne pour les étudiants cette année. Malheureusement, en raison du COVID-19, ces plans ont dû être abandonnés. Nous avons dû nous contenter d'envoyer par la poste des certificats aux étudiants qui ont terminé le programme et de donner à chacun une tape (virtuelle) dans le dos pour terminer.

Maintenant que nos cours sont virtuels, nous serions ravis de pouvoir faire quelque chose d'amusant pour la graduation de notre deuxième cohorte à la fin du mois d'août. Avez-vous des idées? Faites-nous savoir si vous le faites.

Conclusion

Mettre en place ce programme a peut-être été la chose la plus difficile que j'aie jamais faite. C'est beaucoup de travail mais très enrichissant. Cela peut changer la vie des étudiants.

Mais ce n'était pas seulement moi: il y avait une équipe de personnes aidant et rien de tout cela ne serait arrivé sans eux.

Je tiens à remercier tout particulièrement Jared Wilcurt, Casssandra Bautista, Marianne Mckenzie, la bibliothèque publique d'Indianapolis, freeCodeCamp et tous nos merveilleux bénévoles - qui ont tous joué un rôle crucial dans l'élaboration de ce programme.

Nous travaillons sur l'open-source de notre programme que nous avons utilisé - diapositives, projets, défis freeCodeCamp, matériel supplémentaire, etc. Il faut un peu de temps pour tout mettre en place dans un bon format, mais soyez patient, nous le ferons bientôt parvenir à tous ceux qui sont intéressés :)

Je suis intéressé par vos pensées. Avez-vous des idées de choses que nous pouvons améliorer la prochaine fois? Veuillez me contacter et me le faire savoir.

Mon Twitter: @gwen_faraday

Mon YouTube: Faraday Academy

Site Web du programme: freecodeschoolindy.com