Как правильно изучать программирование: метод Франклина
Главная проблема в самообучении — отсутствие системного подхода. Трудно понять, что учить в первую очередь, а что во вторую, и в каком порядке.
vlada_maestro / shutterstock
Талант программиста можно заметить в человеке, который не написал ни строчки кода. Это человек, который любит головоломки. И первая головоломка — как правильно изучать программирование самостоятельно.
Самообучение
Путь самоучки — это «метод тыка», общение на форумах, поиск единомышленников, хождение по конференциям и тусовкам-митапам. Это такой путь самурая. Путь подходит не каждому. Поэтому для широких масс выпустили кучу самоучителей — тысячи книг, похожих друг на друга как близнецы.
Самоучитель хорош тем, что быстро погружает в тему. Вы начнете кодить практически в тот день, когда открыли книжку. Но, как говорит преподаватель Джеймс Коппел из Массачусетского технологического института, есть одна проблема: эти книги ничему не учат. Главное там — длинные листинги кода, которые читатель должен воспроизвести.
Как и в конспектах университетских лекций, «код переходит со страницы книги на экран читателя, минуя мозг». Студенты, которые слушают обычные лекции, на 55% чаще проваливают экзамен, чем те, кто участвовал в обсуждении материала, пусть даже немного.
Метод Франклинa
Чтобы извлечь какую-то пользу из самоучителей или лекций, некоторые специалисты рекомендуют выполнять практические задания особым методом. Его можно назвать методом Франклина.
Этот метод очень прост на практике.
- Читать книгу как обычно. Когда попадётся образец кода, прочитать его.
- Закрыть книгу.
- Попробовать набрать код.
- Повторить пункты 1−3.
Суть в том, чтобы усваивать мысленные образы — структуры данных, чувствительные к распространению. В этом случае мозг работает по принципу автокодировщика в машинном обучении.
«Автокодировщик — нейронная сеть, что пытается воспроизвести на выходе такие же данные, как и на входе, но с прохождением через промежуточный слой, который слишком мал, чтобы полностью представлять данные. В ходе этой процедуры он учит более компактную репрезентацию данных. Здесь в качестве нейронной сети выступает скопление дендритов в вашей голове», — пишет Джеймс Коппел.
Лекции и литература
Освоив метод Франклина, ищите информацию, которая бесплатно доступна в интернете в огромном количестве, особенно на английском языке. Вкратце план действий такой:
- Выучить английский язык (хотя можно найти немало курсов и на русском языке).
- Выбрать программу обучения. Определиться, какое направление программирования наиболее интересно.
- Найти учебные материалы по этому предмету.
Образовательные ресурсы с курсами и лекциями
- MIT OpenCourseWare: обучающие курсы, видеозаписи лекций и семинаров Массачусетского технологического института.
- KhanAcademy: бесплатные лекции, в том числе по математике и информатике.
- Coursera: курсы от ведущих западных университетов.
- Статьи по программированию от Skillbox.
Учебная литература
- Список бесплатных книг по программированию (англ. яз.).
- Сборник учебной литературы для программиста.
- Бесплатные книги по программированию на русском и английском.
- Подборка бесплатных книг.
Самоучители для начинающих
- Занимательное программирование. Самоучитель. М. Мозговой.
- C# для школьников. Учебное пособие. М. Драйер.
- Программирование на Java для детей, родителей, дедушек и бабушек. Я. Файн.
Самообучение для неподготовленного человека не так эффективно, как отработанные методики передачи знаний и навыков, которые гарантируют качественный результат без особых затрат. Тратить силы и время всё равно придется, но не в таком фанатичном режиме, как у самоучек.
Программа обучения. Системный подход
В отличие от отдельных курсов, системная программа обучения предполагает обучение с нуля до трудоустройства джуниор-разработчиком. В этом случае ученик получает комплексные знания, необходимые для профессиональной работы.
Программа обучения «Профессия веб-разработчик» рассчитана на один год и включает в себя три модуля:
Веб-разработчик
Практический годовой курс для тех, кто хочет стать профессиональным веб-разработчиком, запустить свой интернет-проект или веб-сервис и получить первые заказы на разработку.
JavaScript с нуля
Практический курс для тех, кто хочет научиться основам языка сценариев с индивидуальным наставником, разработать frontend для интерактивного веб-проекта и положить кейс к себе в портфолио.
Базовые навыки PHP
Курс, на котором вы познакомитесь с базовыми понятиями программирования и поймёте главные принципы. Научитесь писать чистый, структурированный, а самое главное — работающий код. Уже после первого курса сделаете свой первый сайт на PHP.
Система платная, но зато она повышает шансы на успешный результат. А результат — это престижная, востребованная и высокооплачиваемая профессия с интересными проектами и перспективами развития.
Заключение
С чего начать учить программирование, каждый решает сам. И каждый выбирает свой путь. Но главное, что после окончания этого пути вам точно не придется просыпаться с рассветом и идти на завод к первому звонку.