Школа веб- разработки в местном лицее / Блог компании Поселок программистов / Geektimes. Ни для кого не секрет, что современное российское образование – это отстой. В поселке мы со временем рассчитываем сделать школу, которая исправит эту проблему хотя бы на местном уровне. У нас было определенное видение того, какой должна быть эффективная образовательная методика, и недавно мы проверили это видение на практике – запустили бесплатную школу веб- разработки в местном лицее. Под катом подробности – описание методики, выводы, контент курса и описание того, как вы можете сделать подобную вещь в своем городе. Зачем вам это нужно? Мне всегда было немного жаль людей других профессий и раньше даже казалось, что у них не хватает какой- то части мозга, которая должна быть у современного человека.
В ведро вмещается три яблока. Отметь деревья, для которых не удастся выполнить алгоритм. Бененсон Е.П., Паутова А.Г. Информатика и ИКТ: 4 класс: Учебник: В 2 ч./ Е.П. 4) Текст является описанием алгоритма? Напиши алгоритм цикла «Собери урожай яблок в саду». Методические Информатика в играх и задачах 3 класс (1 4). Информатика в играх и. Учитель обсуждает с детьми алгоритм сбора грибов. ГДЗ по информатике за 4 класс автора Бененсон Е.П., Паутова А.Г. Выполняя упражнение за упражнением, ученик продолжает знакомиться с основными понятиями информатики; учится осуществлять сбор, хранение, обработку и передачу информации.
При этом многие дети – особенно в глубинке – когда делают свой профессиональный выбор, этого не осознают. Они видят кучу выпускников программистских специальностей современных ВУЗов, которые работают “тыжпрограммистами” в разных конторах, чинят бухгалтершам виндовс, и как- то не похоже, что меняют мир и зарабатывают кучу денег.
Решить алгоритм сбора яблок 1.начало (в овале) 2.N:=1 (в прямоугольнике) 3.Поставить под яблоню пустое ведро (в прямоугольнике) 4. Набрать ведро яблок с яблони (в прямоугольнике) 5.N:=N+1(в.
В результате дети делают неправильный выбор и сами становятся этими бухгалтершами или какими- нибудь мерчендайзерами. Я всерьез считаю, что если больше детей будет становиться разработчиками, это кардинально повлияет на ситуацию в стране – с бедностью, отупением, алкоголизмом и вытекающими из них проблемами. Фокус в том, что вы – как профессиональный разработчик – можете на эту ситуацию повлиять. Просто зайдите в ближайшую школу и предложите им провести бесплатный курс программирования. Формат занятий. В моем случае выбранной школой стал лицей .
Я немного рассказал директору про поселок и предложил бесплатно научить желающих школьников современной веб- разработке. Курс работал с ноября 2. Я тратил примерно 3 часа в неделю – полтора часа на написание контента программы, и полтора часа – на само занятие в компьютерном классе.
- Конспект урока информатики в 4 классе.
- Информатика 4 класс - Г.В. Ломаковская - 2015 год. Раздел 5 АЛГОРИТМЫ С ВЕТВЛЕНИЕМ И ПОВТОРЕНИЕМ. Найди среди этих высказываний истинные и ложные. Яблоки растут на деревьях.
При этом, если вы решите воспользоваться этой уже более- менее готовой программой, у вас будет уходить всего полтора часа, а не три. При этом в самом классе я занимался только решением конкретных проблему учеников. Ребята заходили в трекер задач, брали оттуда очередное задание, читали краткое описание технологии и документацию по ссылкам, а затем пытались сделать. Когда у них не получалось – я подходил и мы вместе находили и устраняли ошибку. Стоит отметить важный момент – весь курс устроен так, чтобы не зависеть от технического обеспечения класса. Для выполнения заданий ученику должно хватать только браузера. При этом все client- side задачи решаются в jsfiddle, а весь server- side – в Cloud 9 IDE.
Результаты. В результате за пять месяцев школьники с нуля научились верстать HTML, писать на чистом JS, потом на React, потом на Node, делать роутинг и обработку HTTP- запросов вручную, потом использовать для этого express- based фреймворк Sails. React Router и пользоваться гитом. При этом освоение технологий происходило на фоне конкретных практических задач, с которыми сталкивается каждый разработчик – bcrypt- аутентификация, компиляция ES6 => js, клиентская сборка и т. Базовые принципы. Я выделил несколько ключевых принципов, которые повлияли на успешность этой методики, и на которые стоит ориентироваться при создании аналогичных курсов – в том числе не только по программированию, а по обычным дисциплинам.
Фан. После выполнения задачи ученика всегда должно ждать “Вау, заработало!”. Вещи, которые не подчиняются этому правилу, лучше оставлять на потом – они будут освоены самостоятельно, когда в них появится потребность. Простой пример – когда происходит освоение верстки, не стоит морочить голову правильной структурой документа с head и body, потому что это скучно.
Лучше заставить нарисовать красный квадратик и дать почувствовать магию. Роль ментора. Надо понимать, что все ученики по любой образовательной программе двигаются с разной скоростью.
Поэтому учитель, объясняющий всему классу какую- то теорию – это пережиток. Ведь часть этих учеников еще не освоила до конца опорные для этого предмета знания и просто не смогут усвоить новую информацию. Поэтому теорию ученик должен освоить самостоятельно – а к учителю обращаться только за менторской поддержкой – помощью в решении конкретной проблемы. Сначала практика. Теория должна быть подчинена практике, а не наоборот. В курсе фокусом любого мыслительного процесса является задача, которую нужно сделать – теория и документация дается ровно в таком объеме, чтобы хватило на успешное выполнение. Сначала низкий уровень (спорный вопрос).
На курсе мы сначала проходили, как задача решается на низком уровне, без применения современных средств. Мне казалось, что только прочувствовав до конца весь геморрой, который приходится терпеть разработчику при решении задачи базовыми средствами, ученик поймет, зачем вообще нужен фреймворк, иногда довольно сложный для понимания (как, например, React Router). Безусловно, такой подход делает курс медленней. Оправдано это или нет – крайне спорный вопрос, на который у меня пока нет однозначного ответа.
Никакой алгоритмизации (спорный вопрос). На программистских специальностях ВУЗов обучение начинают со скучной алгоритмизации, не имеющей отношения к реальным современным задачам. Вычислить формулу, потом развилка, потом цикл. Считается, что освоив эти “кирпичики”, человек поймет, как справляться с реальными задачами. На практике – ни разу не видел, как кому- то такой подход помогает – люди, скучая, пробиваются через эту фигню, а потом все равно не могут сделать алгоритм в реальной задаче.
Я считаю, что алгоритмы должны изучаться только в применении к реальным задачам – например, аутентификации (проверить сессию, получить credentials, поискать в базе, установить сессию). Подчеркну, что этот вопрос тоже спорный, и я не уверен, правильно ли исключать базовую алгоритмизацию из курса. Никаких сложностей с реализацией довольно сложного алгоритма аутентификации у ребят не возникало. Реальные задачи. Мы делали панель интернет- магазина – с аутентификацией и заказами.
Это хорошо понятная современному школьнику проблема, решение которой вызывает энтузиазм. Если решать что- то абстрагированное, устаревшее или оторванное от современного мира – это отрицательно повлияет на мотивацию. Ученик учит других. Нам в школе учительница истории рассказывала, что в 2. СССР было колоссальное отставание по грамотности – на ликвидацию которого, по всем прогнозам, должны были уйти десятилетия.
Фактически проблема была решена всего за несколько лет – путем построения в школах системы, где один научившийся читать обучал других. Никаких подтверждений этому факту я в дальнейшем не нашел, но идея кажется довольно клевой. Я попытался применить это на курсе. Когда какой- нибудь юнит получался у меня не очень, все ученики “застревали”, и я постоянно был занят с кем- нибудь из них, решая его проблему – пока остальные ждали очереди. Когда очереди ждал кто- то из хорошо продвинувшихся, я просил его помогать остальным. На начальных стадиях курса это работало – но затем сложность возросла, далеко продвинувшимся приходилось все тяжелее, и свободного времени у них не оставалось.
Как это превратить в стабильно действующую систему, я пока не знаю. Выводы. До самого конца курса пробились всего 4 человека – из 1. К сожалению, по мере повышения сложности аудитория постепенно таяла.
Самой сложной точкой, которую не смогли преодолеть большинство – переход от верстки непосредственно к программированию. Естественно, это проблема курса. Из- за его несовершенства мир опять получил несколько мерчендайзеров вместо разработчиков. Суть этой проблемы – неравномерное распределение сложности. Для нас с вами это очень сложно почувствовать – ведь все эти вещи кажутся такими очевидными. Поэтому фикс этой проблемы можно сделать только после боевой обкатки. Еще одна деталь – я просил учеников продумывать идею своего проекта – чтобы, когда курс закончится, они могли бы перейти к его воплощению под моим кураторством и обкатать полученные навыки в бою.
К сожалению, этого не произошло – курс затянулся до мая, там начались эти самые ЕГЭ и каникулы, за время которых полученные незакрепленные скиллы скорее всего потеряются. Вывод – такие курсы надо начинать в сентябре, чтобы хватило времени для реальной практики.
Ну и основной вывод – эта штука работает. На одной чаше весов – 5 лет в ВУЗе и багаж неактуального барахла, на другой – 5 месяцев занятия раз в неделю и у тебя – навыки по современным технологиям. Что дальше. Как я уже говорил, было бы круто, если бы вы нашли время провести подобный курс в ближайшей школе. Вы можете воспользоваться моим контентом, либо сделать собственный курс (например, по i. OS- разработке), используя обкатанные принципы. Я раздавал задания через баг- трекер (Асану), и это было жутко неудобно. Все существовавшие на тот момент конструкторы курсов показались довольно убогими, а потратить серьезный ресурс на улучшение формы контента у меня не получилось – основная работа и поселок забирают довольно много времени.
Существующий контент выгружен из асаны в Google Drive в виде «как есть» – без дополнительного форматирования и, возможно, с какими- то ошибками, которые не успел исправить. По идее этот проект должен быть в форме специального бесплатного опен- сорс сервиса – куда авторы смогут выкладывать курсы, кураторы – проводить по ним занятия, а студенты – вносить результаты для проверки. Есть полное понимание того, как этот сервис должен быть устроен и есть каркас, который можно развивать (Sails. React). Не хватает только времени (требуется 2- 3 недели фулл- тайма). Если есть желание помочь и присоедниться к проекту – пишите в контакты на сайте Поселка.
Новости по поселку. Мы довольно давно не писали на Хабре/GT – в основном это было связано с неоднозначной политикой администрации по поводу тарифа “Стартап” и вопросом по поводу того, разрешать ли нам писать на нетехнические тематики. В общем, у нас все хорошо, только медленно. Поселок в итоге обходится без инвесторов, развивается за счет собственных средств и денег за участки от присоединившихся к нам соседей.