freeCodeCampカリキュラムを使用してローカルの無料コーディングスクールを作成しました。これが私たちが学んだことです。

この写真は対面式の教室を示していますが、COVID-19の状況の結果として、私たちは学校を完全に遠隔地に移動しました。

コーディング方法を学びたい場合は、通常、次の3つのオプションから選択できます。

  1. あなたは自分自身を教え、あなた自身のカリキュラムを見つけることができます。
  2. 大学に行き、コンピュータサイエンス/ ITの学位を取得します。
  3. またはコーディング学校に通う。コーディングスクールは、3か月から1年以内に最初のソフトウェア開発の仕事を見つけることができるように、すぐに習得できるように設計された実践的なクラッシュコースです。

オプション番号1は最も安価ですが、最も苛立たしくて難しいものでもあります。途中で立ち往生してあきらめたいのはとても簡単です。

オプション2と3はうまくいく可能性があります。仕事を休む余裕があれば(または少なくとも仕事時間は短くなります)、仕事に出席して探している間に授業料と生活費を支払い、それでもあなたの仕事を管理することができます。家族と私生活。誰もがそれを行うことができるわけではありません。

これが、freeCodeSchoolIndyを作成した理由です。これは、freeCodeCampカリキュラムに基づいた無料のコーディングプログラムであり、3か月間のパートタイムのコーディングスクールプログラムを通じて学生をガイドします。

月曜日と水曜日の午後6時から8時まで、週に2時間のクラスが2つあり、HTMLの基本からJavaScript、IntroからReactまですべてを教えています。

学生は週に少なくとも6時間自分で勉強することが期待されており、オプションで日曜日の午後1時から5時までのオフィスアワーに参加することができます。最初の3か月を完了すると、次の3か月のプログラムに参加して、Node.jsでのバックエンドWeb開発について学ぶことができます。

私たちは1年以上前にこのアイデアに取り組み始めましたが、5月に最初のコホートを完了したと言えるのはわくわくします。これで、この記事で学んだことを共有できます。

無料のコーディングスクールを構築するという私たちの目標

私たちの当初の目標は、収入や生活環境(仕事を休む能力など)に関係なく、すべての人にアクセシブルで支援的な教育を提供することでした。

私たちはブートキャンプや通常のコーディングスクールと競争しようとはしていません。彼らは学生に価値のあるサービスも提供しています。私たちは、より柔軟なスケジュールが必要な人や、有料のコーディングスクールを買う余裕がない人のために、もう1つのよりアクセスしやすいオプションを用意しようとしています。

学生は、プログラム全体を通して、そしてその後の卒業生として、スタッフ、ボランティア、コミュニティのメンバーから指導と指示を受けます。

もちろん、それが彼らの目標であるならば、私たちは学生が業界で仕事を得ることができることを望んでいます。しかし、私たちには何も保証するためのリソースがありません。生徒が自分で学習を続けることを決定した場合でも、コーディングスクールや大学などのより正式なプログラムに参加する場合でも、できる限り多くのサポートを提供したいと考えています。

前にも言ったように、スペースとインストラクターを見つけることから、プログラムとカリキュラムの種類を決定することまで、すべてを準備するのに約1年かかりました。これが私たちのプログラムの準備に入ったすべてです。

プログラムの計画方法

私たちが最初にしたことは、プログラムの時間と目標を選択することでした。私たちは、学生がHTML、CSS、およびJSの基本を学び、BootstrapやReactコンポーネントなどのいくつかの追加機能を備えた3か月のクラスを開催することにしました。

すべてがうまくいった場合、私たちの目標は、1か月の休暇を取り、最初のコースを修了した学生のためにレベル2のコースを主催することでした。レベル2はさらに3か月で、レベル1で教えたことを基に、JavaScriptフレームワークについてさらに教え、Node.jsを紹介します。

わずか3か月のパートタイムプログラムから始めて、私たちが進むにつれて学び、調整できるようになりました。また、プログラムを完了し、わずか数か月で小さなポートフォリオを作成できるようにするという、短い時間ベースの目標を学生に与えました。

これがGithubの組織です。現在、資料の更新とオープンソース化を進めています。

freeCodeCampのカリキュラムを採用する

カリキュラムの開発には時間と費用がかかります。幸い、freeCodeCampには、文字列を添付せずに使用および変更できるすばらしい無料のカリキュラムがすでに用意されています。

freeCodeCampのカリキュラムを採用し、講義の概要としてそれに従いました。課題は、生徒がクラス間で完了するための課題として使用しました。また、途中でfreeCodeCampのプロジェクトを個人およびグループの割り当てとして使用しました。

また、レッスン全体を通して、プログラム中またはプログラム終了後にfreeCodeCamp認定を取得できるように、少し余分な作業を行うように生徒に勧めました。

クラスをホストするスペースをどのように見つけたか

インディアナポリス公立図書館は、私たちのクラスを主催し、オフィスアワーのためのスペースも提供することに寛大に同意しました。コンピュータラボのスペースは限られていたため、クラスごとに受講できる学生の最大数は22人でした。

大規模なクラスに対応するために図書館のより大きな会議室を使用することもできましたが、ラップトップを所有していない学生を連れて行くことはできませんでした。

私たちはリモートプログラムになる予定はなかったので、COVID-19が起こったとき、講義とすべての学生のコミュニケーションにDiscordを使用するようにクラスを調整する必要がありました。これについては後で詳しく説明します。

テクノロジーツールの選び方

クラスが始まる前に、Discourseフォーラム(freeCodeCampフォーラムなど)を用意して、学生がログインしたり、アナウンスを受け取ったり、質問したり、課題を投稿したりできるようにしました。また、管理スタッフに、学生を追跡し、学生とのやり取りを管理するためのいくつかの特権を与えました。

学校の運営方法

学生を探す

私たちがこのプログラムを計画していたとき、私たちの心配は私たちが十分な関心を得ることができず、私たちの計画はすべて無駄になるだろうということでした。あまりにも興味があり、すべての学生に対応できるわけではないのが現実でした。22スロットで140名以上の方にご参加いただきました!そして、それはそれほど多くのマーケティングをしなかった。

私たちのプログラムに非常に興味を持ってもらうことは非常にエキサイティングでしたが、どの学生を受け入れるか、そしてどのように公正に選ぶかを決める必要もありました。

私たちは、Code.orgのゆるいゲームのようないくつかの基本的な課題を完了する3つの事前スクリーニング活動に参加するように人々に要求することによって、フィールドを削ることに決めました。これにより、どの生徒が参加することに専念し、列に並ぶ人数が約80人に減ったかがわかりました。それでもスペースが多すぎたため、最終的な生徒を選択するためにランダムな抽選を行う必要がありました。

学生に教える

すべての学生は異なって学び、彼ら自身の個性と好みを持っています。学生に1時間だけ講義をして、すべての情報を問題なく取得してラボを構築できると期待するのは無理です。

講義の形式は、すべての講義から始めて、質問があるかどうかを尋ねることで決定しました。通常、多くの質問はありません。次に、スライドに移動し、約15分ごとに一時停止して、ガイド付きの「ラボ」を生徒に提供します。これにより、生徒は指示を受けながら教室で質問できるようになり、自分でコーディングを試すことができます。

また、生徒がクラスプロジェクトに取り組むことができるように、2時間のクラスの最後の30分以上を残すこともよくあります。

課題の収集

課題を提出しない人もいます。これは、他の生徒が見ることができる場所でコードを共有することに恥ずかしがり屋であるか、結局のところ無料のコーディングスクールであり、クラスメートの一部もそれを行っていないため、必要だとは思わないことを意味します。

前者の場合は、スタッフだけと課題を共有し、私たち全員が以前に彼らの立場にあったことを知らせることをお勧めします。

彼らが望んでいないために彼らが課題を提出していない場合...まあ、それについて私たちができることはあまりありません。プログラムに完全に参加したくない学生がクラスに参加することを思いとどまらせるようにしています。

当初はフォーラムで課題が提出されていましたが、そこでのエンゲージメントは非常に低くなりました。学生はあまり頻繁にログインせず、そこで質問することもありませんでした。

現在、割り当ては、コーディングスクール用のサーバー上のDiscordチャネルを介して提出されます。

講義のホスト、質問への回答、プログラムの管理など、プログラム全体を同じDiscordサーバーから管理しているため、提出される課題の数が増えています。また、学生からスタッフから得られる有益なフィードバックも増えています。とボランティア。

締め切り

プロジェクトの提出期限は必要ですか?今の私たちの意見はノーです、すべきではありません。

最初のコホートのほとんどは少し遅れており、一部のコホートは終了後数週間でプログラムを終了しました。終わった人を罰するべきですが、時間通りではありませんか?私たちはそうは思いません、そしてここに理由があります:誰もが自分のペースで学びます。

誰かが3か月で終了し、別の学生が4か月で終了した場合、プログラムを完了した場合、両方に同じ報酬が与えられます。

いつの日か、コーディングのローリングアドミッションを取得して、より詳細なレベルで学生を支援できるようになります。それまでは、柔軟性を維持してそれらに対応し、可能な場合はいつでも残りのプロジェクトを提出できるようにすることです。

生徒に助けを求めるようにする

これは私たちの最大の問題の1つです!遅れる人もいれば、混乱しているけれど助けを求めたくない生徒もいます。何人かの生徒はとても混乱しているので、どんな助けを求めるべきかさえわかりません。

人々に助けを求めることはできませんが、促すことはできます。彼らに質問をさせるために私たちが見つけた最善の方法は、講義の始めに短いレビューセグメントを行い、学生が立ち寄ってはるかに小さなグループ設定で質問できる学習時間をスケジュールすることです。

質問を入力したい場合は、学生チャットに投稿するか、主催者の1人にプライベートメッセージを送信できます。

できることはたくさんあります。生徒が迷子になったり混乱したりして助けを求めたくない場合、それを修正する方法はありません。私たちは彼らがいる場所で彼らに会うように一生懸命努力しますが、彼らも私たちのところに来るためにいくらかの努力をしなければなりません。

学生調査

定期的な学生調査を実施することは、私たちのプログラムに対する重要なフィードバックを得るのに本当に役立ちます。

初めて、生徒の目標と背景に関する情報を最初に収集し、中間点(約6週間)で生徒の調査を行い、最後に別の調査を行いました。

たくさんの良い情報を受け取りましたが、後から考えると、さらに調査を行い、さらにいくつかの質問を追加する必要がありました。今回は、毎月アンケートを実施して生徒のフィードバックを得る予定です。これが私たちが尋ねている質問のいくつかです:

  1. これまでのプログラムについてどう思いますか?それはあなたの期待に応えていますか?
  2. 講義は課題を遂行するのに役立つと思いますか?
  3. どうすればあなたがあなたの目標を達成するのをより良く助けることができますか?
  4. 他にフィードバックはありますか?

ドロップアウトへの対処

人生は起こり、物事は変わります。やむを得ず参加を希望する学生は、やむを得ず中退する場合がありますので、あらかじめご了承ください。

彼らが状況について私たちと連絡をとった場合、私たちは彼らに次のコホートの場所を提供します。

彼らが単に現れないか、私たちと連絡をとらない場合、彼らは将来自由に再申請することができますが、彼らのために場所が保存されることはありません。

スタッフとボランティア

ボランティアの募集

ボランティアがいなければ、このようなプログラムを実行することは非常に圧倒されるでしょう。成功するために必要なさまざまな種類のボランティアをいくつか紹介します。

責任:

  1. 主催者–はい、私たちもボランティアです。プログラムを実行する主催者の素晴らしいチームがいることは幸運です。これには、私、他の2人の開発者、およびコーディング方法も知っているライブラリのコンピューターラボスーパーバイザーが含まれます。プログラムがスムーズに実行され、生徒が進歩していることを確認するために、Discordで週に数回チャットします。組織化チームにとって3-5はかなり良い数字だと思いますが、「コミュニティマネージャー」や「ボランティアコーディネーター」など、特定のことを行うためにさらに追加する可能性があります。
  2. プレゼンター–これらの人々は、通常、授業時間中または週末に開催される特別なヘルプセッション中に講義を行います。これは、管理するのが最も難しいタイプのボランティアです。私たちのプログラムでは、講義の長さは1.5〜2時間で、24時間しかないため、すべての講義が残りのカリキュラムと一致している必要があります。善意のあるボランティアの中には、開発にまったく慣れていない人々に講義をするのにふさわしくない人もいるかもしれません。個々のポイントや期待される学習成果に至るまで、講義で何をカバーしてほしいかを明確にすることが非常に重要です。また、残りのカリキュラムと一致するように、ボランティアに定型スライドデッキを提供して作業を行うようにしました。
  3. メンター–学生はコーディングの質問だけでなく、キャリアやネットワーキングなどについても質問します。メンターシップは、この種の質問に答えるのに最適です。現在、ボランティアのメンターが少なくとも週に1回は生徒にチェックインして、生徒が順調に進んでいることを確認し、質問に答えるメンターシッププログラムの設定に取り組んでいます。遅延の理由の1つは、学生がボランティアと1対1で会うときに発生する可能性のある不適切な言葉や行動の苦情を処理する方法のシステムに取り組んでいることです。
  4. ラボアシスタント–ラボアシスタントは、通常、ソフトウェアの実行やデバッグの問題で、ライブラボセッション中に同期的に支援するために存在します。対面式のクラスを開催する際には、ラボアシスタントをさらに活用しました。物事が離れているため、生徒の画面が表示されないため、行き詰まった場合にチャットで質問に答えられるように数人の人を用意する必要がありました。
  5. 一般的なヘルパー–これらの人々は、チャットでの学生の質問への回答や、プロジェクトやポートフォリオのレビューなどの他のタスクの実行を支援します。また、生徒がゴム製のアヒルを脱いだり、励ましたりするのにも役立ちます。

ボランティアハンドブック

ボランティアの行動への期待とプログラムへの参加要件を詳しく説明した2ページのハンドブックを作成しました。今はかなり基本的なことですが、私たちが進むにつれて、それを基に構築していくと確信しています。

また、freeCodeCampの行動規範へのリンクも提供します。これは、短くて甘く、要点(親切、理解など)があるためです。

スタッフが成功するためのツールを持っていることを確認する

プレゼンターに自分のスライドを作成させて、最後の最後に変更する必要があることを伝えなければならないなど、間違いなくいくつかの間違いを犯しました。うまく行きませんでした。私たちは彼に何を望んでいたのかをもっと明確にすべきでした。

今、誰もが私たちから定型スライドデッキとカバーするトピックのリストを受け取ります。また、プレゼンテーションの進捗状況を確認するために何度か連絡を取り、正しい方向に進んでいることを確認します。

現在、ボランティアハンドブック、授業計画と教育用スライドデッキ、メンタリングのガイドライン、プログラムのすべてのドキュメント、生徒の進捗状況、カリキュラム資料、将来の計画を保存するGoogleドライブフォルダがあります。最近、これらすべての資料を再編成して、必要なときに見つけやすくしました。

このプログラムが成長するにつれて、私たちはより多くのボランティアや有給のスタッフを管理する必要があります。毎回オンボーディングを少しスムーズにするためのプロセスを文書化することで、これに備えています。

コミュニティパートナー

私たちは現在、コミュニティパートナーシップを形成して、資金提供やハイテク機器の寄付のスポンサーを獲得しようとしています。

一部の生徒は、優れたコンピューターや高速インターネット接続にアクセスできません。私たちが個人クラスでホストしたとき、図書館は私たちにそれらのものを提供してくれましたが、私たちが遠隔地にいるので、今ではもっと難しくなっています。

また、図書館の時間は限られており、複数の仕事をしている学生やその他の家族の義務がある学生にとっては、日中にすべてのクラスの仕事をする時間を作るのは難しいかもしれません。これが、私たちのプログラムにアクセスできるようにするために、コミュニティパートナーのスポンサーシップが非常に重要である理由です。

将来的には、インターネットアクセスとラップトップコンピューターを必要とする学生に提供できるようになることを望んでいます。

整理

マーケティング

私たちのチームにはマーケティングの専門家がいません。私たちのマーケティング活動は基本的に、私たちが合意したブランディング(色、言い回しなど)を一貫性のあるものに保ち、ソーシャルメディアで最新情報をまとめて共有することで構成されています。

幸いなことに、私はYouTube、LinkedIn、およびその他のプラットフォームで、ボランティアを募集し、私たちのプログラムにコミュニティの関心を集めることができた小さなフォロワーがいます。

公共図書館はまた、多くの異なるコミュニティに手を差し伸べ、他の方法では到達できなかったかもしれない学生を引き込むのに役立ちました。

私たちが成長するにつれて、ソーシャルメディアのリーチを拡大し始めるかもしれませんが、現在限られた予算で、私たちは有機的に牽引力を獲得しています。

リモートライブストリーム

リモートライブストリームのホスティングは困難でした。インターネット接続が切断されることがあります。さらに、学生がソフトウェアを使用できるようになるための学習曲線があります。

すべてのチャットやその他すべてが配置されているアプリ内でライブストリームをホストできるため、Discordは私たちにとって素晴らしいオプションです。このように、1つのソフトウェアの使用方法を説明するだけで済みます。

さらに、Discordを使用すると、ボイスチャットルームで一度に最大50人と画面を共有できます。そして、それはすべて無料です!Zoomやその他のツールを検討しましたが、より多くの機能を備えたものが必要になるまで、そして余裕ができるまで、Discordを使い続けます。

法人化と資金調達

私たちは企業や人々に資金提供を求め始めたかったので、昨年は非営利団体として法人化する必要がありました。米国では、このプロセスには約6か月かかります。私たちは最初に州に会社として登録し、次にビジネス文書を作成し、連邦政府に非営利のステータスを申請する必要がありました。

今年の初めに、私たちはついに501c3非営利団体であるという確認を得ました!現在、私たちは資金を調達し、寄付を受け取る方法を模索しています。ウェブサイトに「寄付」ボタンを追加する予定です。また、企業に連絡して、より多くの寄付を募っています。クラウドファンディングが良いアイデアかどうかについても、社内で議論がありました。

この分野で私たちに何か提案はありますか?この記事にコメントを残すか、contact @ freecodeschoolindy.comまでご連絡ください。

コミュニケーションツール

フォーラム

前述のように、Discourseフォーラムの使用を開始しましたが、維持するのが難しく、ニーズを満たしていないことがわかりました。人々は、特にモバイルでは使いにくいと感じました。また、スタッフと学生にログインして、努力する価値があるほど頻繁にチェックするのに苦労しました。そのため、フォーラムを廃止し、プログラム全体をDiscordに移行しました。

不和

これで、コーディングスクール全体にDiscordサーバーがセットアップされました。ライブ講義のホストに使用します。最大50人のボイスチャットと画面共有を同時に行うことができ、学生の管理、ボランティア活動の整理、スピーカーの指導、質問への回答、グループプロジェクトの実施、ポートフォリオの確認などを行うことができます。管理タスクを実行します。

すべてを1か所にまとめることは、これまでで最高の決断でした。コストが下がるだけでなく、プログラムの管理も非常に簡単になります。私たちが対話する必要があるすべての人は、すでにDiscordに参加しているか、Discordに招待される必要があります:)

卒業

今年、学生のために初めて直接卒業するという壮大な計画がありました。残念ながら、COVID-19のため、これらの計画は破棄されなければなりませんでした。プログラムを修了した学生に証明書を郵送し、全員に(仮想の)背中を軽くたたいて終了させる必要がありました。

クラスが仮想化されたので、8月末に2番目のコホートを卒業するために何か楽しいことをしたいと思っています。あなたはなにか考えはありますか?もしそうなら私たちに知らせてください。

結論

このプログラムをまとめることは、私が今までにした中で最も難しいことだったかもしれません。大変な作業ですが、とてもやりがいがあります。それは学生にとって人生を変える可能性があります。

しかし、それは私だけではありませんでした。助けてくれる人々のチームがあり、彼らなしではこれは実現しなかったでしょう。

Jared Wilcurt、Cassandra Bautista、Marianne Mckenzie、インディアナポリス公共図書館、freeCodeCamp、そしてこのプログラムをまとめるのに重要なすべての素晴らしいボランティアに特に感謝します。

スライド、プロジェクト、freeCodeCampチャレンジ、補足資料など、使用したカリキュラムのオープンソース化に取り組んでいます。すべてを素敵な形式にまとめるには少し時間がかかりますが、しばらくお待ちください。すぐに興味のある人には公開します:)

私はあなたの考えに興味があります。次回より良くできることについて何かアイデアはありますか?私に連絡して知らせてください。

私のツイッター:@gwen_faraday

私のYouTube:ファラデーアカデミー

プログラムのウェブサイト:freecodeschoolindy.com