Създадохме местно безплатно училище по кодиране, използвайки учебната програма freeCodeCamp. Ето какво научихме.

Докато тази снимка показва лична класна стая, ние преместихме нашето училище напълно отдалечено в резултат на ситуацията с COVID-19.

Ако искате да научите как да кодирате, обикновено има три възможности за избор:

  1. Можете да преподавате сами и да намерите своя собствена учебна програма.
  2. Отидете в колеж и вземете степен по компютърни науки / IT.
  3. Или посетете училище по кодиране. Училищата по кодиране са практически курсове за сривове, които са предназначени да ви ускорят бързо, за да можете да намерите първата си работа за разработка на софтуер в рамките на три месеца до една година.

Вариант номер едно е най-евтиният, но и най-разочароващият и труден. Толкова е лесно да заседнеш по пътя и да искаш да се откажеш.

Варианти два и три биха могли да се справят добре, ако можете да си позволите да си почивате от работа (или поне да работите по-малко часове), да платите обучението плюс разходите за живот, докато присъствате и търсите работа, и все пак да можете да управлявате семеен и личен живот. Не всеки е в състояние да направи това.

Ето защо създадохме freeCodeSchool Indy. Това е безплатна програма за кодиране, базирана на учебната програма freeCodeCamp, където ние водим учениците през училищни програми за кодиране на непълно работно време в продължение на три месеца.

Имаме два двучасови урока седмично - понеделник и сряда от 18 до 20 часа, където ги учим на всичко - от основите на HTML до JavaScript и Intro до React.

Очаква се студентите да отделят поне 6 часа на седмица, за да учат сами и по желание могат да присъстват на работното време в неделя, което провеждаме от 13 до 17 часа. Ако завършат първите три месеца, те ще могат да присъстват на втора тримесечна програма, където могат да научат за back-end уеб разработката в Node.js.

Започнахме да работим по тази идея преди повече от година и е вълнуващо да можем да кажем, че завършихме първата си кохорта през май. Сега можем да споделим наученото в тази статия.

Нашата цел в изграждането на безплатно училище по кодиране

Целта ни от самото начало беше да осигурим достъпно, подкрепящо образование за всички, независимо от доходите или житейските обстоятелства (като способността да си почиваме от работа).

Не се опитваме да се конкурираме с bootcamps или редовни училища за кодиране - те също предоставят ценна услуга за учениците. Просто се опитваме да имаме друга, по-достъпна опция за хора, които се нуждаят от по-гъвкав график или не могат да си позволят платено училище по кодиране.

Студентите ще получават насоки и напътствия от персонала, доброволците и членовете на общността по време на програмата и след това като възпитаници.

Разбира се, ние искаме нашите студенти да могат да си намерят работа в бранша, ако това е тяхната цел. Но ние нямаме ресурси, за да гарантираме нищо. Ние просто искаме да осигурим възможно най-голяма подкрепа за учениците, независимо дали те решават да продължат да учат сами или отиват на по-официална програма, като училище за кодиране или колеж.

Както споменах по-рано, отне ни около година, за да настроим всичко - между намирането на място и инструктори, както и вземането на решение за типа програма и учебната програма. Ето всичко, което влезе в подготовката на нашата програма.

Как планирахме програмата

Първите неща, които направихме, бяха да изберем продължителността на времето и целите на програмата. Кацнахме да имаме тримесечни класове, в които студентите ще научат основите на HTML, CSS и JS, с някои екстри като Bootstrap и React Components.

Ако всичко вървеше добре, целта ни беше да вземем един месец почивка и да организираме курс от второ ниво за учениците, завършили първия. Второ ниво щеше да бъде още три месеца, когато щяхме да изградим това, което преподавахме на първо ниво, да научим повече за JavaScript рамките и да въведем Node.js.

Започването на малки, само с тримесечна програма за непълно работно време, ни помогна да можем да учим и да правим корекции, докато продължихме. Той също така даде на студентите кратка, базирана на времето цел да могат да завършат програмата и да имат малко портфолио само за няколко месеца.

Ето нашата организация в Github. Ние сме в процес на актуализиране и открит източник на нашите материали, докато вървим напред.

Приемане на учебната програма на freeCodeCamp

Разработването на учебната програма отнема много време и е скъпо. За щастие, freeCodeCamp вече има страхотна безплатна учебна програма, която можем да използваме и модифицираме без прикачени низове.

Взехме учебната програма на freeCodeCamp и я последвахме като контур за нашите лекции. Използвахме предизвикателствата като задачи, които учениците трябва да изпълняват между часовете. Също така използвахме проектите на freeCodeCamp като индивидуални и групови задания по пътя.

По време на уроците ние също така насърчавахме учениците да се опитат да свършат малко допълнителна работа, за да могат да получат своите сертификати за freeCodeCamp по време или след края на програмата.

Как намерихме място за домакинство на класове

Публичната библиотека в Индианаполис щедро се съгласи да бъде домакин на нашите класове и да ни даде място и за работното време. Размерът на пространството в компютърната лаборатория беше ограничен, така че максималният брой ученици, които можехме да вземем за клас, беше 22.

Можехме да използваме по-голяма конферентна зала в библиотеката, за да поберем по-голям клас, но тогава нямаше да можем да вземем ученици, които не притежават лаптоп - и това нямаше да е много достъпно за всички.

Не планирахме да бъдем отдалечена програма, така че трябваше да коригираме класовете си, за да използваме Discord за лекции и цялата комуникация на студентите, когато се случи COVID-19. Повече за това по-късно.

Как избрахме технологичните инструменти

Подготвихме дискусионен форум (като форума freeCodeCamp) преди началото на часовете, за да могат учениците да влязат, да получат съобщения, да задават въпроси и да публикуват задачи. Той също така даде на административния персонал някои привилегии да следи студентите и да умерява студентските взаимодействия.

Как администрирахме училището

Намиране на студенти

Когато планирахме тази програма, притеснението ни беше, че няма да получим достатъчно интерес и цялото ни планиране ще бъде за нищо. Реалността беше, че имахме твърде голям интерес и не можехме да поберем всеки ученик. За 22 слота имахме над 140 души, които искаха да участват! И това беше без да правим толкова много маркетинг.

Беше много вълнуващо да получим толкова голям интерес към нашата програма, но също така трябваше да решим кои ученици да вземем и как да изберем по справедлив начин.

Решихме да намалим полето, като изискваме хората да се появят на три предварителни дейности, където да изпълнят някои основни предизвикателства, като Flappy Game на Code.org. Това ни даде да разберем кои ученици са посветени да се покажат и намали броя на хората на опашка до около 80. Това все още беше твърде много за пространството, което имахме, така че трябваше да направим произволна лотария, за да изберем крайните студенти.

Преподаване на студенти

Всеки ученик се учи по различен начин и има собствена личност и предпочитания. Неразумно е да очакваме, че можем просто да преподаваме на студентите в продължение на един час и всички те ще могат да вземат цялата тази информация и да изградят лабораторията без проблем.

Решихме формат за лекции, където започваме всяка лекция, като питаме дали някой има въпроси - обикновено не получаваме много. След това влизаме в слайдовете и правим паузи на всеки ~ 15 минути, за да дадем на учениците насочени „лаборатории“, така че те да могат да изпробват кодирането сами с подкрепата на инструкциите и все още да могат да задават въпроси в класната стая.

Също така често оставяме последните 30+ минути от двучасовите класове, за да могат учениците да работят по своите класни проекти.

Събиране на задания

Някои хора не предават задания. Това може да означава, че те са срамежливи да споделят своя код там, където другите ученици могат да видят, или че просто не смятат, че е необходимо, тъй като в крайна сметка това е безплатно училище за кодиране и някои от съучениците им също не го правят.

Ако това е първото, тогава ги насърчаваме да споделят задачи само с персонала и да ги уведомят, че всички сме били на тяхно място преди.

Ако те не се връщат в задания, защото не искат ... е, не можем да направим много за това. Опитваме се да обезкуражим учениците да се присъединят към класа, които не искат да участват изцяло в програмата.

Първоначално заданията се включваха във форума, но ние получихме наистина нисък ангажимент там. Студентите не влизаха много често и никога не задаваха въпроси там.

Сега заданията се предават чрез канал Discord на сървъра, който имаме за нашето училище по кодиране.

Тъй като управляваме цялата си програма от един и същ сървър на Discord - включително хостинг на лекции, отговори на въпроси и управление на програмата - наблюдаваме увеличаване на броя на предадените задачи. Получаваме и по-полезна обратна връзка, която студентите получават от персонала и доброволци.

Крайни срокове

Трябва ли да имаме срокове за предаване на проекти? Нашето мнение в момента е не, не трябва.

Повечето от първата кохорта малко изостанаха и някои от тях завършиха програмата седмици след края. Трябва ли да наказваме хората, които завършват, но просто не навреме? Не мислим така и ето защо: Всеки се учи със свое собствено темпо.

Ако някой завърши за 3 месеца, а друг студент за 4 месеца, тогава и двамата трябва да бъдат възнаградени еднакво за завършване на програмата.

Някой ден ще можем да имаме непрекъснати допускания за нашето кодиране и да помагаме на учениците на по-подробно ниво. Дотогава най-малкото, което можем да направим, е да останем гъвкави, за да ги настаним и да им позволим да включат останалите проекти, когато могат.

Принуждаване на учениците да поискат помощ

Това беше един от най-големите ни проблеми! Някои хора изостават и някои ученици са объркани, но не искат да искат помощ. Някои ученици са толкова объркани, че дори не знаят какъв вид помощ да поискат.

Не можете наистина да принудите хората да получат помощ, но можете да ги подканите. Най-добрият начин, който открихме, за да ги накараме да задават въпроси, е да правят кратки референтни сегменти в началото на лекциите и да имат планирани часове за обучение, където студентите могат да се появят и да задават въпроси в много по-малка групова обстановка.

Ако предпочитат да напишат въпроса, могат да го публикуват в студентския чат или да изпратят лично съобщение до един от организаторите.

Ние можем само толкова много. Ако учениците са изгубени или объркани и не искат да поискат помощ, няма начин да го поправим. Опитваме се да ги срещнем там, където са, но те също трябва да положат известни усилия, за да дойдат при нас.

Анкети на учениците

Извършването на редовни проучвания на ученици наистина ни помага да получим критична обратна връзка за нашата програма.

Първият път, когато събрахме информация за целите и предисторията на учениците в началото, след това взехме студентско проучване на половината път - около 6 седмици - и след това друго проучване в края.

Въпреки че получихме много добра информация, отзад трябваше да направим повече проучвания и да добавим още няколко въпроса. Този път вероятно ще провеждаме анкети, за да получаваме отзиви на учениците всеки месец. Ето някои от въпросите, които си задаваме:

  1. Какво мислите за програмата до момента? Отговаря ли на вашите очаквания?
  2. Чувствате ли, че лекциите са полезни за изпълнение на задачите?
  3. Как можем да ви помогнем по-добре да постигнете целите си?
  4. Имате ли други отзиви за нас?

Справяне с отпадащите

Животът се случва, нещата се променят. Трябва да разберем, че учениците, които напълно възнамеряват да участват, може да се наложи да отпаднат поради неизбежни обстоятелства.

Ако те общуват с нас за ситуацията, ние им предлагаме място в следващата кохорта.

Ако те просто не се появят или не общуват с нас, те са свободни да кандидатстват отново в бъдеще, но за тях няма да бъде запазено място.

Персонал и доброволци

Искане на доброволци

Без доброволци би било доста поразително да стартирате подобна програма. Ето някои от различните видове доброволци, които ще ви трябват, за да успеете.

Отговорности:

  1. Организатори - Да, и ние сме доброволци.Имаме щастието да имаме невероятен екип от организатори, които ръководят програмата. Това включва себе си, двама други разработчици и ръководител на компютърна лаборатория от библиотеката, който също знае как да кодира. Чатим няколко пъти седмично в Discord, за да сме сигурни, че програмата работи безпроблемно и учениците напредват. Мисля, че 3-5 е доста добро число за организационен екип, но може да добавим още, за да направим конкретни неща, като например „мениджър на общността“ или „координатор на доброволци“.
  2. Водещи - Тези хора изнасят лекции по време на часове или специални сесии за помощ, които се провеждат в почивните дни. Това е най-трудният тип доброволчество за управление. В нашата програма лекциите са с продължителност 1,5-2 часа и има само 24 от тях, така че всяка една трябва да бъде на място и да се движи с останалата част от учебната програма. Някои добронамерени доброволци може да не са подходящи за изнасяне на лекции за хора, които са чисто нови в развитието. Това е много важно да сме наясно какво ги искате да покривка в лекцията, до отделните точки и очакваните резултати от обучението. Ние също така се погрижихме да дадем на доброволците подложка за пързалки, която да отговаря на останалата част от учебната програма.
  3. Ментори - Студентите не само ще имат въпроси за кодиране, но също така ще имат и въпроси относно тяхната кариера, работа в мрежа и др. Менторството е чудесно за отговори на този тип въпроси. В момента работим по създаването на нашата програма за наставничество, при която наставниците доброволци ще се регистрират при ученици поне веднъж седмично, за да се уверят, че са на път и да отговорят на всички въпроси, които имат. Една от причините за забавянето е, че работим по система за това как да се справим с всякакви оплаквания от неподходящ език или поведение, които могат да възникнат, когато учениците се срещнат един към един с доброволци.
  4. Лабораторни асистенти - Лабораторните асистенти са там, за да помагат синхронно по време на лабораторни сесии на живо, обикновено при проблеми със стартирането на софтуер или отстраняване на грешки. Използвахме много повече асистенти, когато провеждахме уроци. Тъй като нещата са отдалечени, не можем да видим екраните на учениците, така че трябваше да имаме само няколко души на разположение, за да отговорим на въпроси в чата, ако хората засядат.
  5. Общи помощници - Тези хора помагат да отговорят на въпросите на учениците в чата и да изпълняват други задачи като преглед на проекти и портфейли. Те също са полезни за учениците да гумят патица или да ги насърчават.

Наръчник за доброволци

Направихме наръчник на две страници, описващ подробно очакванията за доброволческо поведение, както и изискванията за участие в нашата програма. В момента е доста основно, но със сигурност ще надграждаме от това, докато вървим, сигурен съм.

Също така им даваме линк към кодекса за поведение на freeCodeCamp, защото е кратък, сладък и съществен: бъдете любезни, разбиращи и т.н.

Уверете се, че персоналът разполага с инструментите за успех

Определено сме направили няколко грешки, включително да оставим презентатор да прави свои слайдове и след това да се наложи да му кажем в последния момент, че трябва да се промени. Не мина добре. Трябваше да сме много по-ясни с това, което искахме от него.

Сега всеки получава от нас пързалка, както и списък с теми, които трябва да обхване. Също така се свързваме с тях няколко пъти, за да разгледаме напредъка в презентацията им, за да сме сигурни, че е на прав път.

В момента имаме наръчник за доброволци, планове за уроци и слайдове за преподаване, насоки за наставничество и папка на Google Drive, където съхраняваме цялата документация за програмата, напредъка на учениците, учебните материали и бъдещите планове. Наскоро реорганизирахме всички тези материали, за да ги улесним в намирането, когато имаме нужда от тях.

С нарастването на тази програма ще трябва да управляваме повече доброволци и дори платен персонал. Подготвяме се за това, като документираме нашите процеси, за да направим качването малко по-плавно всеки път.

Партньори от общността

В момента се опитваме да създадем партньорства в общността, за да получим спонсори за финансиране, както и дарения за техническо оборудване.

Някои от нашите ученици нямат достъп до добри компютри или бърза интернет връзка. Библиотеката ни предостави тези неща, когато бяхме домакини на уроци, но сега беше по-трудно, когато сме отдалечени.

Също така, библиотеките имат само ограничени часове и за ученици, които работят на много работни места или имат други семейни задължения, може да е трудно да отделят време да вършат цялата работа в класа през деня. Ето защо спонсорството на партньори от общността е толкова важно, за да направи нашата програма достъпна.

В бъдеще се надяваме да можем да осигурим достъп до интернет и преносими компютри за ученици, които се нуждаят от тях.

Организиране

Маркетинг

В екипа ни няма маркетингови експерти. Нашите маркетингови усилия основно се състоят в това да гарантираме, че запазваме нашата марка, за която сме се договорили - цветове, словесност и т.н. - последователни и колективно споделяне на актуализации в социалните медии.

За щастие имам малък брой последователи в YouTube, LinkedIn и други платформи, където успях да потърся доброволци и да проявя известен интерес от общността към нашата програма.

Публичната библиотека също е била полезна за общуването с много различни общности и привличането на ученици, до които иначе никога не бихме могли да стигнем.

С нарастването си може да започнем да разширяваме обхвата си в социалните медии, но с ограничен бюджет в момента просто набираме сила по органичен път.

Отдалечени потоци на живо

Хостингът на отдалечени потоци на живо е предизвикателство. Понякога интернет връзките падат, освен това има крива на обучение, за да могат учениците да използват софтуера.

Раздорът беше чудесна възможност за нас, защото можем да хостваме потоци на живо в приложението, където се намират всичките ни чатове и всичко останало. По този начин трябва да обясним само как да използваме една част от софтуера.

В допълнение, Discord ни позволява да споделяме екрана с до 50 души наведнъж в стаите за гласов чат. И това е безплатно! Разгледахме Zoom и някои други инструменти, но ще се придържаме към Discord, докато имаме нужда - и не можем да си позволим - нещо с повече функции.

Включване и финансиране

Искахме да започнем да искаме финансиране от компании и хора, така че миналата година трябваше да се включим като организация с нестопанска цел. В САЩ този процес отнема около шест месеца. Първо трябваше да се регистрираме като компания в нашия щат и след това да изготвим бизнес документи и да кандидатстваме за статут с нестопанска цел във федералното правителство.

В началото на тази година най-накрая получихме потвърждение, че сме организация с нестопанска цел 501c3! Сега се опитваме да изработим начини за получаване на финансиране и вземане на дарения. Ще добавим бутон „дарение“ към нашия уебсайт, а също така се обръщаме към компании, за да поискаме по-големи дарения. Проведени са и някои вътрешни дискусии за това дали краудфандингът е добра идея.

Имате ли предложения за нас в тази област? Моля, оставете коментар за тази статия или се свържете с нас на [email protected]

Инструменти за комуникация

Форум

Както вече споменахме, започнахме да използваме дискусионен форум, но установихме, че е трудно да се поддържа и не отговаря на нуждите ни. На хората им беше трудно да се използват, особено на мобилни устройства. Освен това имахме проблеми с набирането на персонал и ученици и проверка достатъчно често, за да си заслужава усилията. Ето защо се отървахме от форума и преместихме цялата си програма в Discord.

Раздор

Вече имаме настроен сървър Discord за цялото училище по кодиране! Използваме го за провеждане на лекции на живо - можем да имаме до 50 души в гласовия чат и да споделяме екрана с тях едновременно, да управляваме студенти, да организираме доброволчески дейности, да обучаваме лектори, да отговаряме на въпроси, да правим групови проекти, да преглеждаме портфолио и изпълнява административни задачи.

Да имаме всичко на едно място е най-доброто решение, което някога сме взимали. Разходите ни не само са по-ниски, но и улесняват администрацията на програмата. Всички, с които трябва да си взаимодействаме, или вече са в Discord, или просто трябва да бъдат поканени в Discord :)

Абитуриентски

Имахме големи планове да направим първото си лично дипломиране за студенти тази година. За съжаление, поради COVID-19, тези планове трябваше да бъдат премахнати. Трябваше да се задоволим с изпращането на сертификати на студенти, завършили програмата, и да дадем на всички (виртуално) потупване по гърба за завършване.

Сега, когато нашите класове са виртуални, бихме се радвали да можем да направим нещо забавно за дипломирането на втората ни кохорта в края на август. Имате ли идеи? Кажете ни, ако го направите.

Заключение

Съставянето на тази програма може би беше най-трудното нещо, което някога съм правил. Това е много работа, но много възнаграждаващо. Това може да промени живота на учениците.

Не само аз обаче: Имаше екип от хора, които помагаха и нищо от това нямаше да се случи без тях.

Искам да изкажа специални благодарности на Джаред Уилкурт, Касандра Баутиста, Мариан Макензи, Публичната библиотека на Индианаполис, freeCodeCamp и всички наши прекрасни доброволци - всички от които бяха решаващи при съставянето на тази програма.

Ние работим по нашата програма с отворен код, която използвахме - слайдове, проекти, предизвикателства за freeCodeCamp, допълнителни материали и т.н. Отнема малко време, за да съберете всичко в хубав формат, но бъдете търпеливи, ще го разкажем на всеки, който се интересува скоро :)

Интересувам се от вашите мисли. Имате ли идеи за неща, които можем да направим по-добре следващия път? Моля, свържете се с мен и ме уведомете.

Моят Twitter: @gwen_faraday

Моят YouTube: Академия Фарадей

Уебсайт на програмата: freecodeschoolindy.com