реклама
разместить

Как я изучал программирование по бесплатным курсам и книгам

Рассказываю основываясь на своем опыте, на примере языка Python.

Как я изучал программирование по бесплатным курсам и книгам

С детства хотел изучить программирование, но жизнь сложилась так, что мне пришлось начинать работать с 9 го класса, и было не до учебы. Потом был страх, что программирование это очень сложно, и чтобы им владеть нужно потратить несколько лет на учебу в вузе, изучить компьютер и математику от и до. Но как оказалось, все не так страшно, и об этом я хочу рассказать.

Для вашего удобства разделил статью на несколько частей -

Какие знания нужны программисту

Для начала хочу подчеркнуть важную мысль для начинающих - для того, чтобы выучить язык программирования, не нужно обладать специальными знаниями.

Специальные знания нужны для того, чтобы его применять. И это не обязательно математика или устройство компьютера. Если вы хотите заниматься веб-программированием, вам нужно изучить СУБД, и один из популярных фреймворков, Django/Flask. Математика тоже нужна, но в программировании искусственного интеллекта.

Так же специальные знания нужны, для повышения качества и возможностей вашего кода - после начала практики вы очень скоро столкнетесь с необходимостью изучить работу с потоками, ООП и асинхронное программирование.

Очень важно изучить как работают алгоритмы и паттерны проектирования.

С чего начать изучение

  • Изучение языка

Начал я с курса на Coursera от Михаила Густокашина, преподаватель рассказывает очень хорошо. Задания в основном связаны с математикой, но все задания можно и нужно решать применяя только информацию, которую вы получили на предыдущих лекциях. Задания очень сложные, иногда на одну задачу можно потратить целый день, но зато намного лучше запоминается пройденный материал.

Мне интересна веб-программирование, поэтому я продолжил изучение на Яндекс.Практикум, на бесплатной части курса “Профессия python разработчик”. Окончив пробную часть я окончательно убедился, что мне интересно развитие в этом направлении.

  • Изучить фреймворк и библиотеки

Поскольку свободных 20.000 и более рублей на покупку курсов у меня не было, а кредиты я не беру, было решено продолжить изучение по книгам.

После долгих раздумий и сравнений было решено продолжить изучение по книге

Изучаем Python. Программирование игр, визуализация данных, веб-приложения  Мэтиз Эрик
Изучаем Python. Программирование игр, визуализация данных, веб-приложения  Мэтиз Эрик

У неё есть свежее издание, и затрагиваются интересные мне фреймворки и библиотеки.

Начал сразу с изучения библиотеки для разработки игр PyGame, решил не пропускать эту часть, чтобы прокачать навыки ООП и работу с библиотеками. Задания в книге очень простые и позволяют в легкой степени закрепить пройденный материал. Обучение визуализации данных я решил пропустить, так как её можно освоить по официальной документации и мне это не очень интересно. Обучение веб-программированию в ней проходит на очень поверхностном уровне, но неплохо для ознакомления.

  • Начать работу над своим проектом

Я решил начать с создания агрегатора с вакансиями для маркетолога. Этот проект затрагивают много знаний которыми я хочу овладеть или улучшить. И хорошо подходит для портфолио.

Несколько советов:

  • Если не понимаете какую-либо тему, попробуйте изучать её в разных источниках.
  • Курсы покупать не обязательно, можно получить необходимые навыки по книгам, главное подходить к выбору основательно
  • Обязательно практикуйте полученные знания
  • При обучении по книгам выбирайте свежие издания, с актуальной информацией
  • Не изучайте программирование ради денег, есть много других не менее востребованных и оплачиваемых профессий, например 3D художник.

Мой первый заказ:

Найти его было несложно, у меня есть опыт работы в интернет-маркетинге, создании сайтов и настройке рекламы. После того как я написал на стене, что немного изучил программирование мне написал один из коллег-клиентов которому я делал сайт и спросил могу ли я сделать для него программу для повышения уникальности изображений.

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

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

Оставалось добавить горячую клавишу для остановки программы. С этим возникли самые большие сложности. На добавление всего одной дополнительной функции у меня ушло 3-4 дня. Но зато я очень хорошо прокачал навык управления потоками в Python, научился отслеживать их работу, не давать им бесконечно множится, и завершать по необходимости.

Чему я научился:

  • Автоматизировать рутинную работу. Если вы тратите много времени на выполнение похожих действий скорее всего я смогу вам помочь.
  • Написать парсер. Он сможет обирать почти любую информацию из интернета и сохранять в удобном вам виде или отправлять в мессенджер.
  • Сделать серверную часть сайта или админку для управления сайтом.
  • Написать чат-бота почти любой сложности.
  • И многое другое, пишите, возможно сделаю работу для вас за символическую оплату и отзыв:)

На этом всё. Если у вас есть какие либо вопросы, буду рад ответить.

2424 показа
52K52K открытий
33 репоста
реклама
разместить