Как стать автором
Обновить

Изучение Python с нуля (моя история)

Здравствуйте, хотел поделиться своей истории о моем изучении Python с уровня “знаю пару тегов HTML”, до простого приложения на Django за 4 месяца.

  • Цель 1 — помочь ссылками, материалами, тем, кто соберется изучать программирование и первым языком возьмет Python. Показать, что это не так сложно, как кажется.
  • Цель 2 — собрать в комментариях ссылки на полезные и интересные материалы по этой теме.


0. А получится ли у меня?


С самого начала я сомневался в том, что у меня получится сделать что-то большее чем Hello World. Мне казалось, что программирование это сверх сложно и сверх магия. К тому же есть работа, хобби, семья, что будет отвлекаться от полноценного изучения.

Зря боялся и вам не советую. Программирование наверное никогда не станет моей основной профессией, но это отличный способ творческой реализации. Это шахматы и Civilization в одном флаконе.

Все проще чем кажется и гораздо интереснее.

1. Литература


Марк Лутц “Программирование на Python” — его советуют читать на многих форумах и курсах. Мне он показался излишне подробным и нагруженным для новичка. Читать много, программировать мало. Гораздо полезнее его читать после овладевания Python минимума.

Марк Саммерфилд “Программирование на Python 3” — динамично, с отличными примерами и заданиями. Без излишнего углубления, которое только все усложняет в начале. Я рекомендую начать именно с этой книги, она поможет быстро вникнуть, не пугая сложностями.

Все остальные книги оказались мене полезными и информативными. Вообще, хорошую литературу по этой теме трудно просто так взять и купить в магазине или в цифровой версии.

2. Что читать в интернете


http://pythonworld.ru/ — простым и понятным языком рассказывается об азах языка, часто использовал, как шпаргалку.

Учебник на wikisource — неплохой мини учебник. Единственное, неудобный шрифт для чтения.

3. Курсы обучения за деньги


Так сложилось, что мне удалось одновременно проходить курсы по программированию на Python сразу в двух местах в г. Москва. Тут нашелся явный победитель. Рекомендую почитать Марка Саммерфилда перед тем, как идти на курсы. Это поможет вам не отвлекаться на простые и понятные вещи, которые вы в состоянии изучить сами.

Школа Программирования — обучение проходило в формате двух часового вебинара два раза в неделю, вечером во вторник и днем в субботу. Обучение без отвлечения на ненужные темы, даются главные основы плюс несколько примеров вариации, отлично подготовленные, интересные и интерактивные домашние задания, в конце каждой лекции высылается весь учебный материал и видео лекции. Длиться все 4 недели. За это время поэтапно рассказывается обо всех основных вещах, примеры работы основных и самых популярных библиотек, в том числе и начальные знания Django. Отличный курс для старта обучения, с этими знаниями уже можно самостоятельно разбираться и учиться.

Пример домашнего задания на третьей неделе обучения, пример присланной лекции — здесь.


Учебный Центр «Специалист» при МГТУ им. Н.Э.Баумана — звучало очень сильно, обещали многое. Занятия проходили по воскресеньям с 10 до 17. Если кратко — пожалел, что заплатил деньги. Обучение не системное, много воды и ненужной информации. Говоря откровенно, я большему научился самостоятельно из униги за месяц до курсов. Больше половину аудитории — студенты начальных курсов хороших Московских ВУЗов, помогал им разбираться, многие так и не осили в конце да же азов. Тексты лекции из Школы Программирования расходились, как пирожки. А главное то, что в Школе Программирования мы прошли за один курс то, что здесь разбирается на протяжении 3 (каждый по месяцу) и за каждый платить надо отдельно. Выложить какие-то материалы не могу, потому что их не присылали и не радовали.

Если интересно, вот тут (документ GoogleDocs) мой подробный отчет и сравнение обоих центров.

4. Бесплатные курсы


Из всех бесплатных курсов, которые я смог найти, единственное, что мне показалось стоящик, было — codecademy.com. Как минус — нужно минимально владеть английским языком (хотя может это и плюс). В курсе реально с самого начала и азов дойти до решения простых задач. Все обучения разбито на множество кратких интерактивных уроков.

5. Где брать задачи?


  • Проект Эйлера — сборник интересных задач. Здесь можно развить умение оставлять правильные алгоритмы. Для некоторых задач мой первый алгоритм работал 3-4 часа, но после вдумчивого изучения — 2-3 минуты. После того, как решить задачу, можно посмотреть, как решили ее другие люди (в том числе и на других языках программирования). Задачи на английском языке, но существует сайт с переводом задач.
  • http://www.checkio.org/ — игра, в которой нужно проходит уровни, а в качестве прохождения решать задачи на Python. Удобная среда программирования встроенная прямо в игру. Интересные задания. Нужно обладать хотя бы минимальными знаниями англйиского языка.
  • http://www.pythonchallenge.com/ — интересный квест, здесь нужно будет не только составлять алгоритмы, но и подумать над тем, как пройти квест дальше. Самый интересный преокт в плане прохождения из этих трех.


6. Что в итоге?


Я действительно удивлен тем, что это оказалось и проще и интереснее, чем я думал в начале.

Через месяц, я смогу написать первое приложение (нет, не Django) которое проверяет работоспособность моих сайтов, наличие чужих ссылок и оповещает меня об этом в Твиттере и по СМС. И да, я знаю, что там “говнокод”. Но это первая моя программа вообще в жизни + обучению пользованию git https://github.com/idoziru/site_cheker

Еще через два месяца я смог создать свое первое приложение на Django. Но главное, что теперь у меня достаточно знания для самостоятельного развития и обучения. Самое трудное — это добраться до этой точки.

Еще через месяц я подключился к двум проектам на GitHub и принимаю в них участие. Задачи решаю конечно пока простые, но взамен получаю советы и обучение.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.