- Как учить языки программирования самостоятельно
- Подводные камни самостоятельного обучения
- Способы изучения языков программирования
- Если начали с основ, изучайте всю полезную информацию
- Учебники и книги
- Тренажёры
- Метод Франклина
- Онлайн-курсы
- Как изучать языки программирования на онлайн-курсах
- Онлайн-курсы по языкам программирования
- Онлайн-курсы по IT-направлениям
- 10 способов научиться программировать самостоятельно
- 10. Выясните, почему вы хотите программировать
- 9. Выберите правильный язык программирования
- 8. Начните с малого… и будьте терпеливы
- 7. Попробуйте приложения для детей
- 6. Воспользуйтесь бесплатными онлайн-тренингами
- 5. Пройдите онлайн-курс
- 3. Изучайте, играя
- 1. Разберите чужой код
Как учить языки программирования самостоятельно
Если вы ищете своё призвание и вам интересно программирование, вы наверняка задавались вопросом, с чего начать погружение в эту сферу. Один из возможных путей в IT — изучение языков программирования. Так вы освоите первый инструмент будущей профессии: HTML и CSS для вёрстки страниц, Java и Swift для мобильной разработки, SQL для работы с базами данных, а JavaScript и Python — для веб-разработки и не только.
Языки программирования можно освоить самостоятельно — нужно лишь большое желание, целеустремлённость и наличие времени. В этой статье мы расскажем, как учить языки программирования без высшего образования и очных курсов.
Подводные камни самостоятельного обучения
Перед тем, как разобрать методы изучения программирования, обратите внимание на трудности, с которыми можно столкнуться. Чтобы они вас не отвлекали и не съедали запас мотивации, давайте рассмотрим подводные камни заранее:
- медленный прогресс — обучение может занять больше времени, чем вы предполагали, и проходить с переменным успехом, но это не значит, что всё зря — просто наберитесь терпения и труды принесут результат;
- перфекционизм — идеала не существует ни в жизни, ни в коде. Невозможно создать одновременно компактный, легко расширяемый, производительный и быстрый код. Каким-то критерием придётся пожертвовать — не делайте идеально, делайте хорошо, чтобы код соответствовал поставленной задаче;
- неуверенность — страх может подстерегать на любом этапе обучения: не слишком ли поздно менять профессию, тот ли язык вы выбрали и получится ли дорасти хотя бы до специалиста среднего звена. Пусть уверенность вам придаёт тот факт, что вы уже решились изучить что-то новое и сделали первые шаги — а каждый новый приближает вас к заветной цели.
Зная, с какими трудностями вы сможете столкнуться и как с ними бороться, вы легко перейдёте к следующему этапу — выбору способа изучения языков.
Способы изучения языков программирования
Чтобы изучать программирование самостоятельно с нуля, вам потребуется система, которая не даст запутаться и свернуть с маршрута. Мы подробно рассмотрим способа освоения языков программирования: книги, тренажёры, метод Франклина и онлайн-курсы.
Если начали с основ, изучайте всю полезную информацию
Для начала, рекомендуем разобраться в языках и их освоении. Для этого предлагаем подборку наших статей по теме:
Это далеко не закрытый список статей, которые помогут учить программирование с нуля. В нашем блоге вы найдёте информацию обо всех популярных языках программирования и о том, как их осваивать. Читайте, выбирайте, осваивайте.
Учебники и книги
Классический старый метод, знакомый каждому со школы — берём учебник и глава за главой изучаем новую тему. Разве что в программировании вам не обойтись без компьютера, в котором будете выполнять домашние задания и оттачивать навыки.
Мы выбрали несколько самых востребованных языков программирования и вот какие книги по ним можем посоветовать:
Название | О чём книга |
С++. Базовый курс , Герберт Шилдт | Вы с нуля изучите основные средства языка С++ от простых элементов и функций до расширений. Язык постоянно развивается и совершенствуется, поэтому новые издания регулярно дополняются актуальной информацией |
C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов , Марка Дж. Прайс | Пусть вас не смущает формулировка «для профессионалов», эта книга включают всю необходимую базу C# для новичков |
Изучаем программирование на JavaScript , Эрик Фримен и Элизабет Робсон | Авторы доступным языком и с множеством примеров рассказывают, как написать универсальный код на JavaScript для любого браузера |
Простой Python. Современный стиль программирования , Билл Любанович | Вы изучите основы Python, освоите современные библиотеки и научитесь отлаживать и тестировать код. Автор приводит много примеров, чтобы наглядно продемонстрировать теорию начинающим программистам |
Java. Полное руководство , Герберт Шилдт | Вы поймёте, как разрабатывать и отлаживать код на Java и оптимизировать написание кода через универсальные шаблоны и научитесь создавать графические элементы для интерфейсов в библиотеках Swing и JavaFX |
При выборе книг отталкивайтесь от своего уровня знаний — нет ничего зазорного, чтобы начать изучать программирование с книг для детей. Взрослым тоже будут полезны книги вроде «Python для детей» Д. Бриггса или «Minecraft. Программируй свой мир на Python» Д. Вэйла и М. О`Хэнлона, поэтому не сбрасывайте их со счетов.
Тренажёры
Продолжая тему детства: учебный процесс не обязательно скучный и серьёзный. Учить программирование можно в игровой форме — для этого разработаны специальные тренажёры.
- Code Combat — изначально Code Combat позиционировали себя как платформа для детей и подростков, но со временем она привлекала всё больше взрослых учеников. Вы сможете с нуля освоить Python, JavaScript и C++, а играть можно индивидуально и в командах. Вы сами выбираете, какой язык изучать, и проходите игру уровень за уровнем с нарастающей сложностью;
- CodingGame — это игровая платформа для программистов, где вы научитесь писать код во время игры и можете добавить его себе в портфолио. Сайт поддерживает 25 языков программирования, можно играть самостоятельно или в команде, участвовать в международных соревнованиях и конкурсах и оттачивать навыки на практике;
- CheckIO — ресурс для обучения и практики программирования на Python и TypeScript, где можно прокачать навыки кодирования — для перехода на каждый следующий уровень игры необходимо написать новый код. В скором времени CheckIO обещают запустить тренажёр для JavaScript и других языков программирования.
Не все тренажёры доступны на русском языке, но в CheckIO есть отдельные игры на русском. Так или иначе в будущей IT-карьере вам придётся часто сталкиваться с английским языком — базовые команды и термины вы сможете различать и без продвинутого владения иностранными языками. Программистам полезно владеть не только языками программирования, но и английским — это даст возможность участвовать в международных проектах и работать на иностранные компании. Если вам нравятся такие перспективы, начинайте прокачивать язык уже сейчас.
Метод Франклина
В основе метода Франклина — память и практика. Чтобы научиться программировать, нужно выполнить 4 действия:
- Прочитать пример — предположим, вы хотите запомнить код.
- Прочитать его ещё несколько раз — при этом делайте пометки в самых интересных на ваш взгляд местах, это поможет лучше запомнить.
- Попробовать повторить — закройте книгу и делайте всё по памяти, это важно. Даже если не получается, не открывайте книгу сразу — боритесь с проблемой и решайте самостоятельно. Постарайтесь сделать дубликат кода, который вы прочитали.
- Сравнить и повторить снова — сравните свой код с представленным в примере, исправьте ошибки и допишите то, что не смогли вспомнить. Прочитайте полученный код несколько раз, удалите его, и повторите всё сначала.
Как только вы сможете воспроизвести код не глядя в заметки, можете считать, что метод сработал. Таким образом можно запоминать практически любую информацию:
Онлайн-курсы
С одной стороны, онлайн-курсы — это не совсем самостоятельный способ изучения языков программирования. И вот почему:
- готовая программа обучения — онлайн-школы подготовили для вас комплексные программы обучения, которые постоянно обновляются и актуализируются;
- наличие преподавателей — занятия ведут преподаватели-практики, которые достигли успехов в своей сфере и теперь делятся опытом с начинающими программистами;
- проверка домашних заданий — после каждого урока вы выполняете практические домашние задания и сдаёте их на проверку кураторам и преподавателям, а они в свою очередь дают обратную связь и рекомендации по улучшению результатов;
- общение с однокурсниками и кураторами — вы можете поддерживать связь с другими студентами, задавать вопросы преподавателям и кураторам или попросить совета у более опытных коллег;
- помощь со стажировками и трудоустройством — онлайн-школы заинтересованы в успешной карьере своих выпускников, поэтому они следят за успеваемостью студентов и рекомендуют их в компании-партнёры.
С другой стороны, онлайн-курсы — это много самостоятельной работы, требующей дисциплины и грамотного тайм-менеджмента. Вы сами решаете, когда и в каком количестве просматривать лекции, когда выполнять домашние задания и общаться ли в чате с однокурсниками. Вы можете проходить параллельно сразу 2 курса, совмещать онлайн-курсы с основной работой или учёбой в вузе или подрабатывать во время обучения. Поэтому онлайн-курсы — это эффективный способ самостоятельного освоить языки программирования.
Как изучать языки программирования на онлайн-курсах
Есть как минимум два возможных варианта изучения языков программирования в онлайн-школах: курсы по отдельным языкам программирования или по направлениям. Рассмотрим каждый вариант подробнее.
Онлайн-курсы по языкам программирования
Мы заглянули на github.com и узнали, какие языки программирования сегодня наиболее востребованы:
Рейтинг языков программирования github.com
Так как TypeScript — это не столько язык программирования, сколько расширение для JavaScript, остановимся на следующих языках: JavaScript, Python, Java, C# и PHP.
JavaScript — подходит для мобильных платформ iOS и Android и операционных систем Windows, macOS и Linux. На нём разрабатывают пользовательские интерфейсы сайтов и приложений.
Освоить JavaScript можно на курсах из подборки ТОП-8 курсов по обучению JavaScript
Python — язык широко применяют в игровой и веб-разработке, аналитике данных и машинном обучении. У него много библиотек и фреймворков, которые надо осваивать параллельно с самим языком.
Java — чаще используют для разработки мобильных приложений, но он также подходит для создания приложений для браузеров и десктопа.
C# — на нём создают мобильные и веб-приложения, игры и ПО для компьютеров и мобильных устройств. Так, большинство продуктов Microsoft Office были разработаны именно на этом языке.
Пройдите онлайн-курсы из нашей подборки курсов по С#
PHP — язык с простым синтаксисом, при это с большим количеством фреймворков и библиотек. Его применяют в веб-разработке для автоматизации повторяющихся команд и хранения данных о пользователях.
Онлайн-курсы по IT-направлениям
Языки можно изучать не только по отдельности, но и в рамках конкретных направлений, в которых вы хотите развиваться.
Фронтенд-разработка — создание внешней стороны сайтов и пользовательского интерфейса: кнопок, плашек, баннеров и др. Помимо адаптивной вёрстки, тестирования веб-приложений, графических редакторов и конструкторов сайтов фронтенд-разработчик должен освоить языки HTML, CSS, JavaScript и TypeScript.
Если вам интересно это направление, пройдите курсы по фронтенд-разработке
Бэкенд-разработка — создание «начинки» сайта и приложений и контроль за их корректной работой. Бэкенд-разработчик знаком с принципами объектно-ориентированного программирования и владеет минимум одним из языков программирования — PHP, C#, Java, Python или JavaScript.
Мобильная разработка — создание приложений и игр для мобильных устройств на iOS и Android. Специалистам необходимо освоить минимум один из языков программирования: Swift и Objective-C для iOS или Kotlin и Java для Android.
Становитесь мобильным разработчиком на курсах мобильной разработки
Data Science — это комплексная работа с данными: сбор, обработка, анализ и автоматизация анализа данных. В работе дата-сайентиста не обойтись без навыков статистики и анализа и языков SQL, R и Python.
Машинное обучение включает создание искусственного интеллекта и обучение компьютерных программ обработке данных. Яндекс и Google.Карты, стриминговые сервисы и сайты прогноза погоды работают на базе искусственного интеллекта. В машинном обучении не обойтись без Python и его библиотек.
Осваивайте это направление на курсах по машинному обучению
Научиться программировать можно самостоятельно — важно подобрать подходящий способ: книги, тренажёры, метод Франклина или онлайн-курсы. Но наиболее эффективным ваше обучение станет, если совместить несколько способов и создать индивидуальную методику, как учить программирование, отвечающую вашим талантам, темпераменту и возможностям. Учитесь на онлайн-курсах, а в метро штудируйте книгу по программированию. Тренируйте память по методу Франклина, а в награду за успех пройдите пару уровней в CodinGame. Выбирайте удобную комбинацию и осваивайте языки программирования самостоятельно и в своём стиле.
Источник
10 способов научиться программировать самостоятельно
Программирование — один из ценнейших навыков для карьерного роста, саморазвития и создания чего-нибудь удивительного. Десять советов для тех, кто только начинает своё путешествие в мир программирования, от Lifehacker.
10. Выясните, почему вы хотите программировать
Выбранное направление в учёбе будет зависеть в большей степени от того, почему именно вы хотите научиться программировать и сколько времени вы готовы уделять этому процессу. Если вы хотите стать программистом, первое что следует сделать — это записаться на профессиональные курсы (Google скомпилировал список навыков и курсов для тех, кто хочет стать инженерами-программистами). Если вы хотите создавать игры и веб-сайты для развлечения в свободное время, лучшим выбором являются интерактивные курсы. Bloc создал сравнительную таблицу курсов в зависимости от загрузки, стоимости и причины изучения программирования.
9. Выберите правильный язык программирования
Не существует лучшего языка программирования, и как только вы выучите один, вам будет нетрудно освоить и второй. Так что не стоит зацикливаться на выборе первого языка. Тем не менее, считается, что некоторые языки даются новичкам легче, чем другие.
Язык, с которого стоит начать, зависит от причины изучения. (К примеру, если вы хотите создать приложение под iOS, вам лучше начать с изучения Swift). Если вы со всей серьёзностью отнеслись к намерению программировать, можно начать с языка C. Хотя выбрав Python, вам будет проще влиться в струю программирования.
Пройдите курс Специализация Python от Coursera, стоимость $49 в месяц.
8. Начните с малого… и будьте терпеливы
Независимо от выбора языка или метода обучения, вам следует начать с самого начала. Когда Дэвид Сински (David Sinsky) научился программировать за восемь недель, он, к примеру, потратил одни выходные на изучение основ Python, а другие — на Django. Взяв учебник, он удалял написанный код и снова проходил обучающий материал с нуля. Начните с основ и будьте терпеливы к себе. Взяв первый проект в программировании, разделите его на несколько этапов. И если один из способов обучения вам не подходит, не опускайте руки — попробуйте другой.
7. Попробуйте приложения для детей
Сейчас даже малыши учатся программированию. Несмотря на то, что многие программы для детского обучения весьма просты, некоторые из них (например, Scratch) подходят для любого возраста. Не имеет значения, сколько вам лет, даже детские анимационные приложения могут научить основам программирования (у edX есть курс обучения по Scratch).
Онлайн-курсы, чтобы начать программировать:
6. Воспользуйтесь бесплатными онлайн-тренингами
Бесплатные онлайн тренинги и проекты (Codecademy, Hour of Code и др.) могут помочь вам в написании первой программы. Учебные пособия от Khan Academy, Codecademy, Code.org и других познакомят с основами программирования и всем необходимым для создания игры, сайта или другого проекта. Найдите нужный источник в зависимости от языка программирования, воспользовавшись Bento. Это хорошая отправная точка, однако дальнейшее обучение вам нужно взять на себя.
5. Пройдите онлайн-курс
Онлайн-курсы по программированию предполагают более обширную образовательную подготовку по сравнению с сайтами, предлагающами онлайн-тренинги по одному языку. Такие курсы предназначены для обучения основным навыкам в течение нескольких месяцев на занятиях университетского уровня. Я большой поклонник гарвардского онлайн-курса CS50 (его можно пройти бесплатно). Вы даже можете получить образование университетского уровня, выбрав один из онлайн-курсов.
4. Бесплатные книги по программированию
Если вы застряли на какой-то проблеме или вам нужно найти ответ на свой вопрос, не стоит забывать о справочниках. На GitHub можно найти огромную коллекцию из более чем 500 бесплатных книг по программированию. Также доступна коллекция электронных книг, охватывающая 24 языка программирования.
Смотрите подборки книг по Python и Java на Литрес
3. Изучайте, играя
Иногда лучшим способом обучения являются игры. В то время, как многие учебники по программированию обучают вас программировать простые либо сложные игры, некоторые обучающие сайты сами являются играми: Code Combat и CodinGame — инструменты, используя которые вы можете весело провести время.
2. Найдите наставника или станьте им
Сообщество программистов полно людей, готовых помочь следующему поколению программистов. Hack.pledge () — сайт, который поможет вам найти наставника. Либо вы сами можете стать наставником для кого-то другого. Преподавание изученного поможет вам лучше запомнить информацию.
1. Разберите чужой код
Переписывая чужой код, исследуя каждую строчку на предмет ошибок, вы сможете лучше понять общую картину. Благодаря открытым исходникам кода, вы имеете возможность узнать всё, что угодно — продолжайте учиться, используя инкрементально-хакерский подход. Только не забудьте поделиться своим кодом, если вам удастся улучшить часть ПО.
Обзорные курсы по программированию:
Источник