- PVSM.RU - https://www.pvsm.ru -
Товарищи инженеры, уже четвертый год пошел, как я взялся преподавать в Киевском политехническом институте [1]. За это время у меня накопилось огромное количество примеров кода и материалов, примерно на 90 лекций [2]. Должен сказать, что за весь период своей профессиональной деятельности (а это 24 года почти ежедневного написания кода), я никогда не подымал свой уровень программирования, как за последние годы, работая со студентами. Если раньше мне казалось, что написать кратко, сложно и внушительно — это верх мастерства, то теперь я осознал, что мой код должны понимать студенты после минимальных объяснений, иначе он никуда не годится. Я пришел к выводу, что способность эту можно и нужно распространить не только на обучающий код, но и на весь рабочий код. Более того, обучающий код не должен существенно отличаться от рабочего кода, потому, что мы учим будущих инженеров делать настоящие системы, а не учебные. А после многочисленных просьб, я решил записывать все лекции в виде скринкастов, которые сразу после завершения лекции отправляются на ютюб. За этот учебный год я планирую записать 100 лекций, из которых уже опубликованы 23 [3], готовы материалы еще для 67 лекций [4] и новых 10 лекций еще в процессе подготовки.
Все вы знаете, что у нас в отрасли есть существенные проблемы с фундаментальным инженерным образованием:
Построить курс на базе JavaScript — это конечно экспериментальная затея, но этот язык уж точно не будет лишним ни для кого в современном ИТ. У самих же JavaScript разработчиков очень часто наблюдается плохая базовая инженерная подготовка и нехватка фундаментальных знаний по структурам данных, алгоритмам, базовым абстракциям, паттернам, архитектуре, парадигмам и приемам программирования. Большинство кода, что пишется сейчас в индустрии, просто выбрасывается вскоре после создания, потом опять переписывается и опять выбрасывается. В общем, качество и знания редко требуются, разве что на собеседованиях. Выгоднее всего делать некачественный код и обслуживать его или выбрасывать код и продавать больше времени на его повторное написание. Кроме того, наша отрасль совершенно оторвалась от науки, в этом есть существенные заслуги маркетологов, потому что мы уже программируем не на языках программирования и не на абстракциях, а мы программируем на фреймворках и библиотеках, которые нам "втюхали" в красивой обертке. Мы собираем все из кубиков, часто без всякого научного осмысления и редко можем ответить на вопрос, почему мы делаем так а не иначе. Все по частям уже давным-давно написано, все можно найти в интернете, но оказалось, что одно с другим не лепится, то есть по частям оно есть, а вместе это не работает. Связывать разобщенные кусочки кода гораздо сложнее чем поодиночке их сделать. Происходит это именно из-за отсутствия системного подхода, терминологического раскола и понятийной рассинхронизации специалистов. Вместе будет работать только то, что идеологически совместимо, что базируется на общей теории и выведенных из этой теории общих стандартах. Я надеюсь, что этим курсом я сделаю хоть небольшой шаг к достижению такого важного для отрасли консенсуса.
Все материалы курса в свободном доступе на github [4], а лекции открытые, их можно посещать бесплатно. Каждую неделю я записываю 4 лекции. Мы проводим еще семинары и практические занятия, но они не записываются.
Календарь лекций доступен в двух митап группах: HowProgrammingWorks [5] (это лекции по программированию на примерах JavaScript) и NodeUA [6] (это лекции по Node.js) и я настоятельно прошу регистрироваться всех, кто хочет посетить лекции очно. Вход свободный для всех, но организационно проще оценивать количество слушателей. За всю историю у меня были случаи и 600 человек и 2 человека, при чем явка непредсказуема.
Все записанные видео появляются в тот же день (через 10-20 минут после завершения лекции) на youtube канале [7].
Лекции сгруппированы в два плейлиста: по программированию и JavaScript [8] и по Node.js [9].
Ссылки на лекции и материалы я размещаю в двух телеграм-каналалах: по программированию и JavaScript [10] и по Node.js и другим более сложным темам [11].
Для обсуждения и вопросов есть две телеграмм-группы: по программированию и JavaScript [12] и по Node.js [13].
Мой аккайнт на github [14], учебные репозитории в организации HowProgrammingWorks [2] и библиотеки нашего комьюнити [15].
Жду предложений по дополнению курса новыми темами, надеюсь на контрибьюшен в примеры кода, в том числе на перевод примеров на другие языки. Ваши отзывы помогут улучшить курс.
Автор: MarcusAurelius
Источник [16]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/297060
Ссылки в тексте:
[1] Киевском политехническом институте: https://kpi.ua/
[2] 90 лекций: https://github.com/HowProgrammingWorks
[3] уже опубликованы 23: https://www.youtube.com/user/sthxnp/videos
[4] 67 лекций: https://github.com/HowProgrammingWorks/Dictionary
[5] HowProgrammingWorks: https://www.meetup.com/HowProgrammingWorks/events/
[6] NodeUA: https://www.meetup.com/NodeUA/events/
[7] на youtube канале: https://www.youtube.com/user/sthxnp
[8] по программированию и JavaScript: https://www.youtube.com/playlist?list=PLHhi8ymDMrQZad6JDh6HRzY1Wz5WB34w0
[9] по Node.js: https://www.youtube.com/playlist?list=PLHhi8ymDMrQZmXEqIIlq2S9-Ibh9b_-rQ
[10] по программированию и JavaScript: https://t.me/HowProgrammingWorks
[11] по Node.js и другим более сложным темам: https://t.me/metarhia
[12] по программированию и JavaScript: https://t.me/MetarhiaHPW
[13] по Node.js: https://t.me/nodeua
[14] github: https://github.com/tshemsedinov
[15] комьюнити: https://github.com/metarhia/
[16] Источник: https://habr.com/post/427799/?utm_campaign=427799
Нажмите здесь для печати.