Фундамент любого программирования — знание языка. Python, в отличие от классических инструментов (к примеру — С), не такой зубодробительный. Порог вхождения в «змеиный язык» имеется, но он минимальный.
Python под силу освоить любому человеку. Всё, что требуется новичкам — набраться терпения и проявить немного усердия.
О главной проблеме обучения Python
Классическая ситуация: человек, который знаком с миром программирования только по имени основателя Microsoft, набирает в поисковике соответствующие запросы об обучении «Питону». Логично, что пользователь открывает первые ссылки. В наиболее популярных статьях дается «избитый» совет — начать читать «классику» в виде Марка Лутца и Марка Саммерфилда.
Такой подход в корне неверен ♀️
Обучение по книгам предложенных авторов (особенно это касается новичков) с самого начала стопорит процесс. Человеку, который не разбирается в тематике, предлагают на прочтение книгу объемом около 1000 страниц. Чтения можно поделить на следующие этапы:
Как стать программистом с нуля
- Первые 40 страниц — история языка Python.
- Следующие полсотни страниц — рассказ про интерпретатор.
- Последующие 100 страниц — базовые типы.
Что дальше? После 200-й страницы вы попросту перестает читать нудную литературу и забросите изучение Python до лучших времен.
Авторы наподобие Марка Лутца или Марка Саммерфилда — это полезное, но крайне трудное чтиво для начинающих. Советовать сразу же переходить на литературу в тысячу страниц — признак дурного тона.
Ранний этап должен происходить по другому сценарию. Человеку, который желает изучить «Питон», нет смысла изучать тонкости базовых типов данных. Ключевое значение имеет интерес и вовлечение.
Новичку необходимо вовлечься в код, «прочувствовать» его
Нет смысла требовать от ученика досконального знания особенностей работы интерпретатора. Гораздо больший эффект будет иметь запуск первой программы «Hello World».
Проверенный способ освоить Python с нуля
Рецепт успеха состоит из конкретных этапов обучения, которые нельзя пропускать. Человек должен последовательно выполнить каждый шаг, чтобы чувствовать себя комфортно при работе с «Питоном». Процесс обучения состоит из следующих стадий:
- Изучение основ программирования.
- Выбор редактора.
- Чтение литературы.
- Практика.
- Изучение чужого кода.
1. Изучение основ программирования
Если человек ни разу не сталкивался с программированием, то имеет смысл начать с самых азов. Достаточно прочитать пару статей в интернете на тему » базовое программирование «. Альтернативные варианты — бесплатные курсы на русском языке. Хорошие варианты курсов — CS50 или другие обучающие каналы на Youtube.
Подборка курсов по Python:
2. Выбор редактора
Когда азы программирования уже «устаканились» в голове, стоит перейти к самому легкому этапу — выбору IDE.
Как стать ПРОГРАММИСТОМ с НУЛЯ?
IDE — интегрированная среда разработки, в которой пишется код
Грубо говоря, IDE это редактор, заточенный под написание программного кода. Программу на «Питоне» можно писать и в «блокноте». Однако IDE предоставит вам огромный функционал — это различные подсказки, автодополнения кода, автоформатирование и т.д. Весь этот функционал поможет начинающему Python-программисту писать код.
Среди редакторов отдельным особняком стоит PyCharm от компании JetBrains.
Как научиться программировать с нуля
Если вы хотите создавать видеоигры, приложения для смартфонов или интернет сайты, вам необходимо научиться программировать. Существует бесчисленное множество различных языков программирования, но все они, как правило, имеют общие принципы работы.
Статьи по теме:
- Как научиться программировать с нуля
- Как изучать программирование
- Как быстро создать программу
Определите свою цель
Изучение языка программирования – это довольно интересное занятие, однако прежде чем приступать к процессу обучения необходимо четко сформулировать цель. Для каких целей вам нужно знание языка программирования? Возможно, вы хотите стать web-программистом, разработчиком flash-игр или писать приложения для iPhone.
Выберите язык программирования
Обучение программированию рекомендуется начинать с языков C#. Это базовые языки, они представляют собой некий отраслевой стандарт программирования, их знание считается обязательным для любого профессионального программиста. Не начинайте свое обучение с таких языков программирования, как Java. Их синтаксис может показаться вам слишком запутанным. Языки C# для некоторых начинающих программистов могут быть слишком сложными, в таком случае можно начать свое обучение с языка Python, также являющимся хорошей основой для начинающих.
На изучение основ программирования у вас может уйти около года. Вам предстоит узнать особенности процедурного и объектно-ориентированного программирования, принципы работы с бинарными деревьями, массивами, списками и т.д. Только после изучения основ переходите к более сложным задачам.
Посещайте сайты разработчиков языков программирования, изучайте документацию. Обязательно общайтесь на форумах программистов, они, как правило, отвечают на большинство вопросов новичков.
Математика
Если вы хотите научиться программировать, вам просто необходимо знать математику. В процессе работы вам предстоит столкнуться с большим количеством проблем, которые невозможно будет решить без знания основ этой науки. Существует большое количество математических уравнений, систем и теорий (ряды Фурье, числа Фибоначчи и т.д.), которые значительно упрощают процесс программирования.
Обучение не заканчивается
Эволюция языков программирования не стоит на месте, их развитие идет постоянно. Старайтесь читать как можно больше литературы, посвященной той области программирования, в которой вы планируете работать. Всегда ищите альтернативные пути решения возникающих проблем, это поможет вам постоянно повышать эффективность работы создаваемого вами программного кода. Беседуйте с профессиональными программистами, они всегда смогут посоветовать, как справиться с той или иной проблемой. Чтение кодов их программ также принесет вам большую пользу.
Невозможно постоянно держать все в уме. Не стесняйтесь пользоваться справочниками по языкам программирования.
Задачи программирования, какими бы простыми они ни были, никогда не решаются с наскока. Они всегда требуют выработки правильного алгоритма действий, эффективного в данной конкретной ситуации. Поиск оптимальных алгоритмов требует постоянной практики и тренировки. Старайтесь чаще решать небольшие задачи по программированию (найти их можно на специализированных сайтах), это поможет вам постепенно оттачивать свои навыки в этой области.
Совет полезен?
Статьи по теме:
- Как выучить язык HTML
- Все о программистах: как стать лучшим
- Как стать веб программистом
Добавить комментарий к статье
Похожие советы
- Как написать компьютерную программу
- Как начать программировать с Arduino
- Как научить ребенка программировать: практические советы
- Как писать программы
- Как составить компьютерную программу
- Как составить программу на компьютере
- Как можно стать программистом
- Как написать программу на компьютере
- Как быстро научиться создавать программы: среда программирования Xojo на основе языка REALBasic
- Как программировать сайт
- Какой лучший учебник java для начинающих
Новые советы от КакПросто
Рекомендованная статья
Как происходит заражение компьютера вирусом
Наиболее слабое звено в цепи компьютерной безопасности — это сам пользователь. Наличие установленного на компьютере.
Источник: www.kakprosto.ru
«Кодер — это звучит гордо»: как спланировать обучение программированию
Не стоит откладывать обучение только потому, что у вас нет никакого опыта в программировании. Во многих школах при поступлении не требуется никаких специальных знаний, другие предлагают пройти тест, который определит, сможет ли студент посещать выбранный курс.
Например, чтобы пройти курс по в Moscow Coding School, достаточно «базовой компьютерной грамотности» и «математики на уровне 5-го класса». «Можно прийти, ничего не зная, и, совмещая наш курс и самостоятельное обучение, научиться создавать интерактивные веб-страницы, работать с данными и понимать принципы их обработки», — говорит куратор образовательных программ школы Екатерина Руднева.
В Skillbox сложные понятия и концепции объясняют с помощью мультфильмов и игровых домашних заданий. «Студенты рисуют картины с помощью программ, организуют жизнь небольшой семьи котиков, превращают Колобка в Пикачу. Но за всем этим стоят серьезные методологии программирования: модульный подход, наследование классов, различия атрибутов классов и экземпляров, разрешение конфликтов при Merge и прочее», — говорит ведущий курса «Python-разработчик с нуля» Вадим Шандринов.
Образовательный портал GeekBrains при поступлении просит пройти тест и тем, кто недоберет баллов, предлагает подготовительный курс. Абитуриенты с нулевым уровнем начинают с азов: «Мы берем один из самых простых языков — JavaScript — и изучаем все базовые понятия, циклы, массивы, переменные. Учимся этим всем пользоваться, понимаем, какие там основные подходы к разработке. И дальше уже можно смело учить язык, который нравится», — поясняет руководитель отдела обучения Евгений Картавец.
Но тем, кто планирует изучать специфические области — big data, machine learning, обработку финансовых/научных данных, — потребуется уже математическая подготовка на уровне профильного института, говорит Вадим Шандринов.
Выбираем формат обучения
«У есть один существенный плюс: если пришел в аудиторию, то хочешь не хочешь — нужно два часа учиться», — говорит Вадим Шандринов. Среди преимуществ такого формата — возможность слышать и видеть других учеников («Я не единственный, кто не сразу все понимает!»), слушать ответы преподавателя на вопросы. Недостаток — необходимость подстраивать свой график под расписание занятий (а кроме того, кому-то просто некомфортно осваивать новую сложную область в незнакомом коллективе).
«Онлайн более гибкий: материал можно смотреть в удобное время, общение организовано в чатах и форумах. Да, вы не сразу получите обратную связь, как было бы в аудитории. Но часто бывает так, что, задав вопрос вечером, студент к утру сам находит ответ. И для обучения это плюс», — считает Шандринов. Он отмечает, что онлайн-курсы предлагают разные варианты получения обучающего контента — предзапись, вебинары, чаты, обучающие системы, — и советует попробовать несколько вариантов, чтобы выбрать подходящий: многие школы предлагают бесплатные пробные занятия или возвращают деньги за неиспользованные уроки.
Выбираем школу и курс
На что смотреть, чтобы не выбросить деньги на ветер:
Оригинальность. Необходимо отличать собственный курс школы от перепродажи контента, предостерегает Вадим Шандринов. Насторожить должно отсутствие информации о преподавателях и требование полной предоплаты.
Адекватность. «Если обещают, что вы за два месяца освоите мобильную разработку, станете middle-разработчиком и так далее, знайте — это неправда», — предупреждает Евгений Картавец. Он признает, что оценить, насколько длительность программы соответствует содержанию курса, самостоятельно бывает сложно, и предлагает советоваться с теми, кто уже ее прошел: «Просто глядя на темы, выяснить это не получится».
Опыт. Евгений Картавец советует прямо спрашивать преподавателя, на чем он специализируется, в каких компаниях и над какими проектами работал. Учитывайте, что разработчик в сфере мобильных приложений вряд ли хорошо обучит big data, добавляет Вадим Шандринов.
Иногда подходящий курс находится только с раза, предупреждает он, и дело не только в школах, но и в учениках: то, что подходит другим, может не подойти вам. А HTML Academy Татьяна Власенко напоминает, что эффективность обучения зависит еще и от вашей мотивированности.
Как сократить время поисков? Многие школы проводят дни открытых дверей, на которых можно познакомиться с преподавателями и оценить механику обучения. В некоторых бывают бесплатные интенсивы и пробные занятия.
Ангелина Филиппова
училась на курсах Pluralsight, Codeacademy, Moscow Coding School и hexlet.io
Я начала учиться на английском в Pluralsight (ранее Code School) и Сodecademy, потому что сначала хотела разобраться в основах и понять, стоит ли продолжать. За пару месяцев нерегулярных занятий я прошла все курсы по HTML, CSS и JavaScript. Уроки на этих сайтах разбиты на маленькие задания, все понятно, и при выполнении задач не возникает никаких проблем. После нескольких курсов у меня появилось ощущение, что я уже что-то знаю, но самостоятельно сделать пока ничего не могу. Я думаю, что Pluralsight и Codeacademy — лучший способ начать, хотя там не рассказывают о многих аспектах работы программиста, без которых не обойтись.
Потом я увидела рекламу курсов фронтенд-разработки от Moscow Coding School, программа понравилась мне и мужу, который помогал мне учиться. Курс занял около 40 часов, плюс домашние задания. Тогда программу можно было пройти за 3 недели, занятия длились 6 часов по выходным.
Большую часть того, чему нас учили, я уже знала, да и вообще занятия в группе, когда все время нужно кого-то и ждать, оказались не для меня. С другой стороны, было полезно получить рецензию на свой код и иметь возможность задать вопрос учителю офлайн, потому что иногда код может работать, но при этом он очень плохой. Самым полезным навыком, полученным на курсе, стало умение правильно дебажить код (искать ошибки в программе. — Прим. ред.). В плане обратной связи офлайн-формат удобнее, но зачастую это лишает тебя возможности самому найти решение и научиться чему-то.
После Moscow Coding School хотелось найти что-то более фундаментальное, с упором на теорию, так мы выбрали hexlet.io. Их курс для JS-программиста оказался самым сложным и долгим, на его прохождение у меня ушло полгода.
Над многими задачами я сидела несколько дней, иногда звала на помощь опытных программистов, но и у них не всегда получалось мне помочь. «Хекслет» не только дает знания, но и закаляет характер. Курс заставляет искать и изучать информацию самому, а это главный навык программиста. Кроме этого, у каждого задания есть секция «вопрос — ответ», где можно поискать подсказку и задать вопрос, если ты застрял. Прямых ответов авторы курса не дают, только направляют, в какую сторону стоит копать.
Рассчитываем время
Научиться писать несложные скрипты можно за 1–2 месяца, но если конечная цель — устроиться на работу младшим программистом, то на это уйдет минимум год, говорят в Skillbox. Скорость освоения программирования сильно зависит от практики и обратной связи. Если есть ментор, который регулярно проверяет и помогает исправить ошибки, грамотный код получится писать через год обучения, добавляют в GeekBrains.
От нескольких дней до пары недель: интенсив по узкой теме для опытных разработчиков. С нуля за это время можно освоить разве что основы HTML и CSS.
1–6 месяцев: новички за это время успевают освоить базовый курс и научиться решать несложные задачи — верстать сайты и писать скрипты для личного пользования. Если курс обещает, что за это время студенты выучат новый язык, скорее всего, программа предназначена для продолжающих.
12–18 месяцев: полноценный курс — с нуля до минимального профессионального уровня.
Учитывайте интенсивность обучения. Например, в Moscow Coding School занимаются по 6 часов в неделю, в HTML Academy — по 2–4 часов в день, в среднем от 20 часов в неделю (в это время входят лекции два раза в неделю и выполнение домашних заданий). В GeekBrains модуль, рассчитанный на две недели, обычно включает 5 уроков, на месяц — 8 уроков, видеокурс для самостоятельного прохождения — 20 уроков; при этом после каждого занятия учащегося ждет домашнее задание.
Вообще, на самостоятельную работу стóит заложить побольше времени: лекции не сделают вас программистом. Только решая задачи, сталкиваясь с трудностями, выискивая ответы на профессиональных форумах, можно набить руку.
Елена Мордмиллович
учится по специальности «медиаинформатика» в Высшей школе техники им. Бойта в Берлине
Сейчас я прохожу второй семестр обучения по специальности «медиаинформатика». Форма обучения — онлайн-бакалавр: дистанционное с реальным дипломом вуза. Есть учебные материалы, преподаватель, связь с которым доступна по имейлу, домашние задания, еженедельные веб-конференции, форум, а раз в 3 недели по два дня учебы на месте.
Программирование пока самый сложный предмет из всех. Как правило, одна тема дается на неделю или две — за это время нужно освоить теорию и сделать 1–3 задания. Бывает два типа ситуаций: 1. Класс, все понятно, берешь делать задачу — и-и-и… ничего не понятно!
2. Ужас, ничего не понятно, три раза читаешь учебник, смотришь видео на YouTube с Udemy (вообще, чем в большем количестве источников получаешь информацию, тем больше шансов какую-то картину выстроить), читаешь онлайн-учебники, начинаешь делать задачи и… боже, ну ничего же не понятно! Идешь на Stack Overflow, читаешь все похожие вопросы, рисуешь себе схему, пробуешь, ошибаешься, исправляешь, становится хуже, начинаешь все сначала. Чувство, когда программа работает, несопоставимо ни с чем другим.
Словом, с нуля это тяжело. Во время веб-конференций и присутственных дней можно, конечно, задать вопросы. Но, как правило, если это что-то конкретное, я могу сама найти ответ. Мне же не хватает общей методологии решения задач.
Учимся сами
Учиться можно и самостоятельно, хотя это определенно потребует больше времени. В GeekBrains рекомендуют серию самоучителей «Head First». В Skillbox советуют искать видеоуроки по программированию, слушать подкасты, пробовать программировать самостоятельно и обсуждать свои работы на профессиональных форумах. При этом очень важно изучать язык системно, регулярно: каждый день или раз в два дня что-то делать — или читать теорию, или практиковаться, отмечает Евгений Картавец из GeekBrains. «На первые несколько месяцев этого хватит. Затем нужно начать работать над полноценным портфолио, чтобы знаний было достаточно не только для учебного проекта, но и для чего-то серьезного», — говорит он.
Самоучители по Java, C#, HTML, JavaScript, jQuery, SQL, Android, iOS и т. п. Написаны простым языком, содержат много картинок, схем, таблиц и графиков; снабжены упражнениями для закрепления пройденного материала.
Контент предоставляется после оформления платной подписки.
Предлагает обучающие видео по различным языкам программирования и фреймворкам (React.js, Python, Django, C ++, Node.js, JavaScript). Большая часть контента доступна бесплатно.
Пошаговые инструкции в видеоформате, которые помогут понять процесс кодинга от начала до конца.
Обучающие видео в основном для начинающих.
Образовательная платформа для начинающих программистов: курсы для самостоятельного прохождения, YouTube-канал и форум, на котором можно попросить совета.
Получаем обратную связь
«Недостаточно просто решить задачу; нужно решить ее грамотно, качественно, чтобы разработка была стабильна, а код был читаемым», — отмечает Евгений Картавец. Получить обратную связь студенты могут как от лекторов, так и от личных наставников, которых некоторые школы закрепляют за учениками. Там, где личного наставника нет, обычно можно обратиться за помощью на форум, где общаются и ученики, и преподаватели.
Тем, кто учится самостоятельно, без посторонней помощи тоже не обойтись: «Надо найти человека, с которым можно консультироваться, — это может быть друг, знакомый, репетитор или преподаватель вуза», — советует Картавец. «Ищите наставника — это не обязательно должен быть учитель, им может стать просто сосед или коллега, который понимает в программировании и поможет вам разобрать примеры кода», — говорит Вадим Шандринов.
Держим в голове цель
Когда программа в очередной раз уходит в бесконечный цикл, хочется все бросить и сказать себе: «Это просто не мое». «Никогда не знаешь, что пригодится и что окажется твоим делом. Поэтому попробовать стоит все, — считает Татьяна Власенко из HTML Academy. — Мы в Академии собираем истории выпускников и сами удивляемся: люди, посвятившие жизнь музыке, обнаруживают талант к верстке, журналисты становятся отличными фронтенд-разработчиками. Таких историй много, а это говорит о том, что деление на технарей и гуманитариев весьма условно». «В программировании человек из ничего творит нечто, что можно пощупать, потрогать, использовать», — говорит Евгений Картавец из GeekBrains. «Виртуальные миры живут по правилам, определенным программистом, он там — Создатель», — добавляет Вадим Шандринов из Skillbox.
«Непредсказуемо много молодых людей вдруг обнаружили, что быть актуальным в тотальной киберреальности можно только в том случае, если ты эту реальность создаешь, — согласна с ним Екатерина Руднева из Moscow Coding School. — Кодер — это звучит гордо. Моду на архитектуру и дизайн в образовании уверенно потеснило умение писать программы и придумывать мобильные приложения».
Источник: theoryandpractice.ru