Как мы открывали школу программирования. Хроника, часть 2

Students image via Shutterstock.

Всем привет!

Как я уже обещал, мы постараемся вести хроники открытия нашей школы программирования, в которых мы будем описывать наши наблюдения, прогресс и действия, которые мы предпринимаем с великой целью — помочь нашему образованию догнать стремительно мчащийся паровоз IT.

Во-первых, про реакцию после статьи.

Очень радует что многие люди, которые откомментировали или написали мне в личку, поддерживают инициативу и видят именно те же проблемы, которые видим мы.

Первая и, наверное, самая популярная рекомендация была: «А научите студентов просто программировать. Чтоб они знали теорию автоматов, алгоритмы, основы работы компиляторов и еще много терминов». Как я уже писал: одна из самых больших проблем теперешнего образования — это отсутствие хорошо поданного и структурированного классического Computer Science. В наших университетах могут научиться основам C++, но почему оно все так работает — объясняют или достаточно скупо, или вырабатывают отношение как к магии.

Как бы мы не хотели — на данный момент, потянуть задачу такого плана, просто потому что:

1. Программа классического Computer Science далеко не на 2-3 месяца

2. Собственно сам Computer Science — это не какой-то один предмет, а целая серия наук, в которые должны входить так же фундаментальные предметы, если мы говорим про обучение после школы.

3. Отсюда следует, что формат курсов здесь явно не подходит, и более приемлема классическая дневная или заочная форма образования. Со всеми выходящими отсюда формальностями, проблемами и очаровательным общением с министерством образования.

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

Потому на данный момент мы не в силах потянуть задачу такого объема. И да, это совсем не просто: «Просто научить программировать». Но мы должны к этому стремиться.

Во-вторых, мы запустили первую группу нашего курса Android разработки. Наши первые ласточки — это группа на 6 человек (привет хейтерам, которые кричали о миллионных прибылях). В группу прошло только 30 процентов тех, кто пришел на собеседование. Остальные, почти все, обещали вернуться к следующему набору, закрыв пробелы в знаниях, без которых начинать обучения было бы невозможно. Кстати, о людях которые захотели пройти наши курсы. Удивило то, что студенты почти не пришли. Вероятнее всего, сказывается стандартный workflow, который выработан гигантами индустрии: институт — курсы — трудоустройство. Аплодирую стоя. Основные студенты этого набора — это люди уже из индустрии. Что примечательно, большинство из них, это ребята, у которых IT ( как минимум разработка ) не основной профиль, и то что они знают сейчас — они выучили сами. Мне кажется, это одна из самых приятных оценок нашей деятельности. Теперь ребят ждет 2 месяца интенсивного обучения с нашим преподавателем, который их совсем не жалеет. Говоря с ребятами, мы сразу предупреждали, что курс будет очень тяжелый, и придется учиться самостоятельно, что их не особо пугало. Потому, теперь у нас 6 ребят: глаза горят, руки чешутся, идей море. Теперь мы будем делать все, чтоб через два месяца ходить с гордо выпяченной грудью и хвалиться, что это НАШИ выпускники.

В-третьих, мы запустили новый курс. Неожиданно, но это Machine Learning. Наверное только слепой не заметил, как активно эта тусовка начала развиваться в мире, и у нас в частности. Чего только стоит нашумевший недавний AI Ukraine. Потому, мы предложили Сергею Шелпуку, который в кругах data science Украины личность известная и уважаемая, менять образование вместе с нами. И он согласился! Теперь у нас есть крутая программа, крутой преподаватель, и огромное желание рассказывать нашим студентам про мир формул, статистики и Скайнета. И да, предугадывая комментарий — это не курс Coursera:) Внимательный читатель, зайдя на страничку курса увидит, что для создания своей программы у Сергея были более чем достаточно источников.

В-четвертых, еще немного наблюдений. Пообщавшись со студентами различных факультетов, мы увидели огромное желание их попасть в мир IT. Что собственно очевидно. Проблема, про которую я к своему позору забыл — это просто определиться, что ты хочешь делать. Вернее даже — какие варианты есть. В свое время я, начиная с .NET, выбрал эту технологию не по зову сердца, а просто потому-что мне предложили работу подмастерья .NET программиста. Вот и у теперешних студентов та же проблема — какую технологию выбрать? Писать сайты или мобильные приложения? А может back-endом побаловаться? На эти вопросы, к сожалению, им не могут ответить преподаватели, а компании, имея на прицеле группу студентов, продают им выбор на котором у них больше всего открытых вакансий :) А студентам продать легко, у них все-таки еще познаний не так много, потому как светлячки летят на огонек Java :) Это не то чтобы плохо, но пропагандой попахивает :) Потому, мы планируем проводить серию событий, по типу: «Я в IT», где эксперты с различных участков нашей сферы, будут рассказывать о своей работе, плюсах и минусах. Надеемся, что это поможет молодым умам более адекватно оценивать, чем именно они хотят заниматься за компьютером.

LinkedIn

24 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Опять же (извините, не все прочитала — может кто-то поднимал эту тему) — вы набрали людей, которые уже что-то знают. Почему бы не взять тех, которые хотят, у которых возможно есть пробелы в знаниях и не научить их всему правильно. Вы (как впрочем и все остальные «компьютерные школы») не даете абсолютно никаких шансов тем, кто хочет сменить сферу деятельности и ему некогда было до этого читать учить что-либо самостоятельно. Мне кажется это неправильно — вы же намерены научить. Нагрузите тех, кого есть пробелы большие. Да, возможно кто-то не потянет, не осилит — оговорите это с ними, предусмотреть отчисление. Все равно целиком впустую даже часть курса не пройдет — кто-то чему-то научиться. А может кто-то вас удивит — не все всегда решает теория, хотя ее так все любят).

Вы неправы:) Честно говоря, очень тяжело спорить с человеком, который заявления бросает говоря :

не все прочитала — может кто-то поднимал эту тему
:) Как я уже говорил, у нас есть требования к людям — это определенные знания, но как уже было написанно, мы не та школа которая учит домохозяйку Java. Для этого есть вагон других школ:)

Во-первых, как мне говорит один знакомый, не говори никому, что он не прав, у каждого своя точка зрения, я высказываю свою.

который заявления бросает говоря :
Да, некогда, уж простите.
Вы очень хорошо описали школу, сказали что хотите обучать тому что нужно сейчас с опережением и т.д., поддерживаю во всем, но... (
написанно
 — написано уж простите :)) если вы учите и горите этим благородным делом — то учите тех, кто хочет, у кого есть способности, но кому, возможно, не хватает знаний. Зачем же школа, как не для того, чтобы дать знания.
мы не та школа которая учит домохозяйку Java. Для этого есть вагон других школ:)
чесно говоря знать бы хоть одну. Да, и, я вас уверяю, домохозяйка даже к вам не придет.
Еще раз прошу прощения — не хотела вас обидеть, желаю вам удачи в ваших начинаниях.

С граматикой у меня с детства проблемы, да. А за домохозяйками мыи не гонимся:)

Спасибо за серию статей
Следим за Вами, удачи, большого плавания
будете в Киеве затевать, свисните

Якщо б на співбесіді із студентами замість повідомлення про те, який складний буде курс, сказали, що за 2 дні без вкладення будь-якого часу ви станете профі і отримаєте роботу сеньйора програміста, тоді б було не 7, а всі 30 кандидатів на курсах ;-)

Все правильно робите, краще менше да ліпше. Інакше більшість просто злиняє посередині курсу. З іншої сторони початківців варто постійно мотивувати і заохочувати. Варто шукати золоту середину, між попередженням, що буде складно і підбадьоренням.

А щодо вибору першої мови, технології, то я рекомендую студентам обирати те, у чому вони можуть знайти допомогу ззовні (ментора, курси, команду): www.vitaliypodoba.com/...uage-to-choose

мы очень честны с нашими студентами:) мотивировать мы можем только нашими преподавателями, и сильным желанием сделать из них класных спецов. Могу баджи выдавать :)

А як називається шаблон твого сайту?

Какую же технологию/язык выбрать чтобы не прогадать...ту которая кормит...или ту которая по душе...а что будет завтра?

Collapse of Moore’s Law:

www.youtube.com/...KtxJ0bcIAYsmTN7

Martin Odersky, “Working Hard to Keep It Simple” — OSCON Java 2011
www.youtube.com/...h?v=3jg1AheF4n0

Отсюда выходит что ближайшее время будет только horizontal scale и с увеличением числа ядер все более актуальным будет parallel computation ---> immutable objects ---> map/reduce, functional programming и все такое.

3. На заметку, было опрошено 2164 developer-ов, 47% сказали да-а-а... Scala — это интересно )
zeroturnaround.com/...scape-for-2014

4. Scala Usage at LinkedIn:
www.youtube.com/...h?v=XeiiEguxRNs

так можно любую технологию:) вы посмотрите nodejs — там тоже вагон success story. Я в индустрии около 8 лет, и мода за это время пару раз поменялась. Сейчас говорят стейт системы — это плохо, вчера говорили что это ок, эрланг вон в 86 еще придумали чтоб стейтов небыло:) Тут же все очень просто — один умный дядька клево напишет в блоге свою философию, ее подхватывают, и вот вам новый тренд:)

Тем более что будем делать, если вокруг одни скалисты будут?

Какую же технологию/язык выбрать чтобы не прогадать...
Зберігайте здоровий глузд і не прогадаєте.
ту которая кормит...
Теж питання відносне. Найбільше грошей приносить спеціалізація в якійсь конкретній і не дуже популярній технології. Наприклад SharePoint чи BizTalk: мало хто їх не знає, проектів мало. Але коли попадаються то там рейти можуть бути вдекілька разів вищі від звичайних .NET чи Java проектів. Але постійної роботи може не бути.

Якщо ж потрібна стабільна робота то можна вибрати щось затребуване і дивитися по сторонах щоб можна було швидко переключитися. Ось і вся логіка.

Scala — очень сложный язык в сравнении с Java/C#/Ruby/JS.
1. Он действительно мультипарадигменный (OOP + FP). Так что придется изучать в два раза больше шаблонов, практик, алгоритмов.
2. У него слишком богатая система типов для новичков: nominal and structural types, algebraic data types based on case classes, type classes, imlicits, higher-kinds types, mixin composition, views, ...
3. У него есть сложные фишки, которых нет в других популярных языках, например dependent types.
---
Я бы рекомендовал браться за него только изучив и поработав на чем-то попроще.
Многопоточность не так часто является критическим требованием, что бы брать язык ориентируясь исключительно на нее. И она неплохо поддерживается в той же Java и C#.

можно ли как-то получить доступ к материалам по андроиду? Ну или хотя бы получить план обучения, дабы узнать что вы там за 2 месяца пройдете?!)

Пожалуйста:) у нас все на сайте: lits.com.ua/...se/android_dev

Ну фундаментально Computer Science вовсе и не наука, а искусство формализировать процесс посредством разных парадигм.

MIT 1978 год курс лекций — Structure and Iterpreatation of Computer Programs — SICP.

ocw.mit.edu/...ms-spring-2005

SICP книга на русском:
newstar.rinet.ru/...a/sicp/sicp.pdf

мы можем сколько угодно кидаться терминами, но если просто глянуть на Wiki : en.wikipedia.org/...omputer_science, и посмотреть пункт Areas of Computer Science, то можно увидеть, что назвать Computer Science формализацие процессов посредством разных парадигм, это как назвать географию — искусством узнавать страны на карте без подписей:)

Во-первых википедия не последняя инстанция по истинне ) да и к тому же Дмитрий можно было бы и своими словами... но вы выбрали такой путь ) А вам известно когда именно приняли обозначение «computer science» таким каким оно описано на вики?

Ну я не хотел бы знаниями тягаться:) Но именно такой смысл я вводил, когда писал про Computer Science.

Ваша тема актуальная и интересная, буду следить за вашими успехами.

1. Программа классического Computer Science далеко не на 2-3 месяца

2. Собственно сам Computer Science — это не какой-то один предмет, а целая серия наук, в которые должны входить так же фундаментальные предметы, если мы говорим про обучение после школы.

3. Отсюда следует, что формат курсов здесь явно не подходит, и более приемлема классическая дневная или заочная форма образования. Со всеми выходящими отсюда формальностями, проблемами и очаровательным общением с министерством образования.

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

uk.wikipedia.org/...iki/Інформатика
Намагались співпрацювати з класичними інститутами та університетами України — ЛПІ, КПІ, Інкіб?
Кращим методом навчання є саме програмування на реальних проектах. У Вас є можливість запропонувати такі проекти тим, хто у Вас навчається?
Може краще створити ІТ компанію на базі якої будете навчати охочих?
ІТ компанія насамперед колектив, люди які в ній працюють. Про це люблять говорити власники компаній, що люди — їх головний ресурс :) Тому залучення студентів до роботи на реальних проектах — найкращий метод. Щоб людина з першого дня відчула всі переваги та недоліки професії. Бо багато молоді ходить в рожевих окулярах стосовно ІТ індустрії.

А мы не хотим выращивать кадров для компаний аутсорсеров, и сами не хотим такими становиться. Эту нишу уже заняли другие школы и курсы:) Мы хотим растить профессионалов, которые могут сами решать куда им идти.

ML на курсах — это мощно, молодца.Серия событий «Я в IT» это интересная и хорошая задумка. Хорошо бы потом видеозаписи оставить и в профильных вузах пошарить.

Часть лекций мы будем записывать и выкладывать:)

Подписаться на комментарии