nFactorial School запускает 8-недельную программу “Введение в программирование и компьютерные науки для начинающих”! “Научиться программировать - это единственно лучший выбор, который может сделать человек, который хочет выжать максимум из увлекательного будущего, которое нас ждет” -Марк Андриссен, основатель Netscape и венчурного фонда A16Z, программист -> предприниматель -> инвестор. TL;DR: nFactorial Start, введение в программирование и компьютерные науки для начинающих, 8 недель, 2 ноября (понедельник) - 25 декабря (пятница) 2020г, нагрузка - 15 часов в неделю (7.5 часов на интерактивные лекции + 7.5 часов на самостоятельную работу), можно совмещать с работой/учебой, для начинающих, 100% онлайн; подать заявку - http://bit.ly/nfactorial-start. Этим летом я провел порядка 100 технических интервью во время отбора в nFactorial и обнаружил следующий факт: огромное количество кандидатов даже будучи разработчиками в компаниях либо студентами ВУЗов по специальности “Компьютерные Науки” не могут написать код для решения элементарных задач типа распечатки всех пар или троек чисел в массиве. То, как они решают задачи по программированию, выглядит следующим образом. Сталкиваясь с проблемой, они не думают “на бумаге”, а сразу же приступают к гуглингу задачи и копированию фрагментов кода из ответов в StackOverflow. Далее идет игра в лотерею: серия проб и ошибок в надежде, что хоть какой-нибудь код из интернета сработает. Иногда им везет и код срабатывает. Однако, сам “разработчик” не знает, как работает “эта магия” и почему этот фрагмент кода приносит нужный результат. Это подобно поиску вещей на ощупь в абсолютно темной комнате. Хорошие же программисты не играют в лотерею. Многие из них не трогают клавиатуру, пока у них на бумаге или в голове нет хотя бы 60% решения. Они разбивают большие сложные задачи, к которым не подступишься, на небольшие под-задачи. Благодаря хорошему планированию они стремятся написать правильный код для под-задачи в итеративном стиле с минимальным дебаггингом, если его можно избежать. Это намного лучше, чем сразу же написать или скопировать заведомо неработающий код и потом потратить уйму времени в попытках его исправить. Именно во время этих интервью у меня появилось тактильное ощущение проблемы на рынке и сложилась более полная картинка для nFactorial School. Исторически мы всегда брали только кандидатов, у которых уже есть опыт в программировании. То есть мы не делали “первую милю” - обучение компьютерным наукам начинающих. И мы не делали “последнюю милю” - алгоритмы, структуры данных, подготовка участников к техническим интервью и помощь в трудоустройстве. Новое видение для nFactorial School выглядит следующим образом. Это последовательность четырех модулей, каждый из которых длится 8 недель. Модуль I - Введение в программирование и компьютерные науки для начинающих. Модуль II - Введение в iOS или веб-разработку. Модуль III - Создание и запуск собственного iPhone или веб-приложения. Модуль IV - Алгоритмы и структуры данных: подготовка к техническим интервью. Выпускники Модуля I могут подать на Модуль II, выпускники Модуля II могут пойти на Модуль III и так далее. Таким образом, за 32 недели part-time онлайн-обучения (20 часов в неделю) кандидат превращается из новичка в junior разработчика с минимальной ежемесячной зарплатой в $1000. До конца этого года nFactorial School планирует запустить и завершить Модуль I - Введение в программирование и компьютерные науки для начинающих. В первой итерации программы я сам выступлю в качестве инструктора и в течение 8 недель проведу 40 ежедневных живых интерактивных (в сократовском стиле) лекций и воркшопов. Чем отличается данная программа от стандартного курса по программированию для начинающих? Во-первых, в основу учебного плана положены лучшие элементы легендарного вводного курса по компьютерным наукам от Роберта Седжвика и Кевина Уэйна в Принстонском Университете. В 2010-2012гг в течение 4 семестров 2 раза в неделю я вел практические семинары по этому курсу, поэтому очень хорошо знаю его содержание. Во-вторых, кроме стандартных топиков (условные выражения, циклы, массивы, функции, типы данных, объектно-ориентированное программирование) подобных курсов, во второй половине программы мы затронем другие более продвинутые темы: рекурсия, фракталы, графика и анимация, введение в динамическое программирование, асимптотическая сложность алгоритмов, алгоритмы сортировки и поиска, классические структуры данных (стеки, очереди), введение в теорию вычислений, P vs NP, универсальность и вычислимость. Таким образом, это не просто введение в программирование, а полноценное введение в компьютерные науки. В-третьих, огромное количество ежедневных практических упражнений и 10 увлекательных проектов. Другие элементы программы: обзор кода, проверка домашних упражнений и проектов менторами, онлайн-форум участников и менторов в Discord, индивидуальные офисные часы, видео-викторины, групповые дискуссии и многочисленные Q&A с инструктором. По-моему, это один из последних скоростных поездов для тех, кто хочет успеть реализовать свои новогодние резолюции на беспрецедентный 2020-ый год. С воодушевлением и нетерпением жду, что из этого получится. Подать заявку до 30 октября: http://bit.ly/nfactorial-start Подробнее: https://nfactorial.school/start Спасибо за репост!