Мой личный путь к изучению «всего» Python

Введение:

Здравствуй, дорогой Читатель. Эта статья проведет вас от первого пользователя компьютера к вершине мира технологий — машинному обучению. Если вы читали некоторые из моих предыдущих статей (некоторые из которых можно найти в этой публикации), то вы знаете, что я пытался направить вас к кодированию разными способами.

Я буду вести вас по пути python 3 глубже, чем когда-либо. Для тех, кто не знает, Python 3 полностью заменит Python 2 примерно в 2020 году, поэтому я постараюсь сделать так, чтобы как можно больше этих курсов было на Python 3.

Если вы хотите более подробно ознакомиться с учебными платформами или МООК, как они называются, ознакомьтесь с моей статьей с рекомендациями по Python mooc».

«Путешествие в тысячу миль начинается с 1 шага»

~ Лао-цзы

Содержимое пути:

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

«Если вы выберете этот путь, вы должны полностью посвятить себя этому.

Но это должен быть ВАШ ВЫБОР».

(умение знать)

1 — Основы (понимание Интернета)

2 — Новичок (с чего начать)

3 — Средний (повышение уровня)

4 — Знания старшего уровня

5. Практика делает совершенным

6 — Психология

7 — Веб-разработка

8 — Тестирование

9 — Оборудование

10 — Сценарии

11 — Блокчейн

12— проверка пера

13 — наука о данных

14 — машинное обучение

15 — Плюс Ультра



Я случайно увидел ЧЕРНУЮ ПЯТНИЦУ для Udacity. Используйте код: BF2018

1 — Базовые навыки работы с Интернетом:

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

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







https://webarchive.loc.gov/all/20140702221137/http://www.digitalliteracy.gov/content/learner

https://mediasmarts.ca/digital-media-literacy/general-information/digital-media-literacy-fundamentals/digital-literacy-fundamentals

https://www.microsoft.com/en-us/digitalliteracy/home

https://www.ircnoco.org/digitalliteracy

Командная строка:

← Я также настоятельно рекомендую вам пройти курс по командной строке. Bash — это оболочка, наиболее часто используемая программистами. И я считаю, что теперь вы даже можете получить bash для Windows.

Знание Git:

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



2 — С чего начать?

Я думаю, что вы должны начать с Python, да. Если вам интересно, почему я это делаю, вернитесь к введению и посмотрите, что я написал о важности python как языка кодирования в ссылке на статью mooc. В нем рассказывается, как далеко продвинулся язык, а также о том, куда он, по прогнозам, пойдет, а также некоторые учебные ресурсы.

Теперь первое, что вы должны сделать перед началом любого курса ниже, — это убедиться, что на вашем компьютере установлена ​​правильная версия Python 3, прочитав эти инструкции в этой статье.

Вы можете пройти эти занятия в указанном порядке или просто пройти один или два из них, чтобы перейти на средний уровень. Я бы посоветовал вам начать с «базового» CS50 в первом и втором классе EDX (если вы беспокоитесь) или пропустить CS50, если вы чувствуете себя уверенно.

Но вы должны оставаться либо на пути Udacity, либо на пути курсов EDX для начального уровня. Я также добавил несколько альтернативных путей в EDX в конце, которые представляют собой уровень сертификата, который содержит несколько уровней.

Также следите за ценами на занятия.

‹Нажмите на изображение, чтобы перейти на сайт.›

← (EDX классы 1 и 2)
Теперь я бы посоветовал, если вы хотите начать осторожно, вы должны присоединиться к курсу CS50 из Гарварда на EDX. Который описывается как Введение в интеллектуальные предприятия информатики и искусства программирования. Этот класс был настолько хорош, что они даже добавили 3 дополнительных курса. И хотя этот курс посвящен нескольким различным языкам программирования, основам информатики для тех, у кого есть или нет опыта программирования. Он также входит в отдельный ответвленный курс, который я настоятельно рекомендую, Веб-разработка на Python и Javascript.

← (EDX класс 3)
Это первый урок из двух частей. Основное внимание уделяется тому, чтобы вы могли научиться думать как программист без предварительного опыта. Он охватывает многое за как можно меньшее время, поэтому в нем не так много глубины, но суть не в этом. Речь идет о накоплении опыта.

← (Udacity class 1)
Это отличный вводный курс, который на 1/2 шага выше по сравнению с CS50. Хотя есть некоторое совпадение, оно пойдет дальше. С большим количеством веб-приложений и даже поисковой системы.

← (Udacity class 2)
Следующий шаг на пути udacity к изучению Python. Этот курс расширит ваши знания основ к нему. Вы даже узнаете о циклах, функциях и библиотеках.

← (EDX альтернативный)
Вы также можете взять это введение в CS от Microsoft на платформе EDX. Для прохождения требуется 3 курса:
1-Введение в Python: для начинающих
2-Логика и вычислительное мышление
3-Введение в Python: основы
Этот курс также даст вам хороший фундамент.

← (EDX альтернативный)
Еще один путь курсов, позволяющий пройти путь от ничего не знающего до знающего новичка. С 4 курсами:
1-Python 1: основы
2-Python 2: структуры управления
3-Python 3: структуры данных
4-Python 4: объекты и алгоритмы

Присоединяйтесь к новостям:







Посещайте встречи:

По ссылке показан список встреч по питону в Чикаго, но вы можете сделать то же самое.



Дополнительный ресурс:



3 — Повышение уровня (средний уровень)

Теперь, когда у вас есть основы, что вам делать дальше? Вы можете углубиться в учебные пособия или попробовать работать над важными для вас проектами. Я собираюсь дать вам несколько ссылок на книги и другие онлайн-курсы, но в конечном итоге это зависит от вас.

← (Класс смелости 3)
Для продвижения вперед необходимо сосредоточиться на том, чтобы убедиться, что вы понимаете объектно-ориентированное программирование. Будут мини-проекты, которые вы сможете добавить в свое портфолио.

Это первый класс Udacity в этом списке, который имеет необходимые условия для раскрытия кода.

← (coursera)
Эта специализация курсов охватывает многие аспекты Python и взаимодействия с данными. После первых 4 курсов последний является завершающим.
И хотя вы могли бы начать учиться по этой программе, ее дополнительные занятия стоит изучить, чтобы развить свои навыки. Я надеюсь, что это поможет вам.

← (coursera)
Этот набор занятий охватывает многое из того, что мог бы пройти первокурсник CS в Университете Райса. В классе рассказывается о том, что вы можете делать с Python, на протяжении 7 курсов, включая завершающий этап.
И хотя вы могли бы начать учиться по этой программе, ее дополнительные занятия стоит изучить, чтобы развить свои навыки. Я надеюсь, что это поможет вам.

Присоединяйтесь к новостям:









4 — старший уровень

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

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

← книга

← книга

← книга

в книгах в



Присоединяйтесь к новостям:







Присоединяйтесь к подкастам:















5— Практика

Как я полагаю, вы уже знаете, что это требует много практики. Итак, я составил список сайтов с заданиями по кодированию, которые дадут вам преимущество в кодировании после того, как вы выполните некоторые задания.

Вы пропускаете каждый выстрел, который не делаете ~ Уэйн Грецки

Сайты для начинающих











Промежуточные сайты









Расширенные сайты









Получить помощь и оказать помощь:



6 — Психология





7 — Веб-разработка

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

← (Udacity)
Этот курс предназначен для того, чтобы помочь вам справиться с большим количеством коммуникаций в Интернете, называемых HTTP. А также создать несколько простых приложений.

Теперь, когда вы зашли так далеко, вы должны понимать, что согласно Udacity есть некоторые предпосылки для веб-разработки. Включает в себя 3 курса:

1- Сеть для веб-разработчиков (класс Udacity)
Приходите и поймите, как работает интернет. Вопросы о подключении и о том, как все работает, часто поднимаются во время интервью. И вы должны знать, что вещи, которые вы создаете, делают в Интернете.

2- Введение в реляционные базы данных (класс Udacity)
Это введение в базы данных, в частности в SQL. А также проектирование базы данных и использование Python API для подключения всего этого.

3- Введение в HTML и CSS (класс Udacity)
Это стандартное введение в HTML и CSS, основу каждой веб-страницы.

← (Udacity)
Этот курс проведет вас за кулисы веб-сайта, в то, что называется серверной частью полного стека. Который также научит вас делать резервную копию базы данных веб-приложения и запрашивать ее. Также затрагивает различные структуры сайтов, используемые в таких веб-фреймворках Python, как Django, Flask и Rails для ruby.

← (Udacity)
Я считаю этот курс ОЧЕНЬ ВАЖНЫМ, поскольку он помогает обеспечить безопасность вашего веб-сайта или приложения для ваших пользователей. И, учитывая нынешний интернет-климат, я бы хотел, чтобы был курс, который пошел бы еще дальше.

Если вы хотите пойти дальше, я бы посоветовал вам взглянуть на крупнейший из существующих облачных сервисов — AWS (веб-сервис Amazon).



Теперь о фреймворках…

На самом деле существует множество различных фреймворков, которые работают с Python. Наиболее известными из них являются Django и Pyramid или Micro-Frameworks, такие как Flask и Bottle. Теперь эти фреймворки помогут вам за кулисами так называемого внутреннего кода. Бэкэнд — это код, который работает на стороне сервера вашего проекта. Серверная часть позволяет тому, что вы видите, «внешней части» кода работать должным образом.

Но для сравнения топ-10 предлагаю вот эту хакернунскую статью.

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

Хотя вы можете ясно видеть, какой из двух фреймворков более популярен. И если вы хотите пропустить это, знайте следующее:
- Flask — гибкий и простой, который вы можете настроить позже. Что, возможно, и к лучшему, потому что это даст вам время дорасти до этого.
- Django — это рабочий бутерброд со всем, что на нем есть. Что также делает его гораздо более крупным приложением, если учесть, сколько в нем строк кода. И если это ваш выбор, я предлагаю эту книгу, которой я тоже пользуюсь.

другие источники:





Веб-приложения и платформы — Автостопом по Python
Интерфейс шлюза веб-сервера (сокращенно «WSGI
) — это стандартный интерфейс между веб-серверами и веб-сайтом Python…docs.python-guide.org»



Середина — Перерыв:

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

8 — Тестирование

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





Создание тестов программного обеспечения
Добро пожаловать в «Создание тестов программного обеспечения
! Программное обеспечение содержит ошибки, и отлов ошибок может потребовать больших усилий. Эта книга…www.fuzzingbook.org»





9 — Оборудование

Поэтому, если бы я хотел начать с аппаратного обеспечения, я бы предложил Arduino и raspberry pi. Эти два компонента — именно то, что вам нужно для начала, а проекты adaBox и AIY — это наборы, созданные с одним или несколькими проектами для новичка.













https://www.raspberrypi.org/magpi-issues/Projects_Book_v1.pdf

10 — Сценарии

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







Автоматизируйте скучные вещи с помощью Python
В книге «Автоматизируйте скучные вещи с помощью Python
вы узнаете, как использовать Python для написания программ, которые за считанные минуты делают то, что… autotheboringstuff.com»



11 — Блокчейн

Это была сложная тема для поиска ресурсов, но я надеюсь, вам понравится.







дополнительные ресурсы:











12 — Пентестинг

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

книги:









курсы:





















Дополнительная информация :



13 — Наука о данных

Должно быть очевидно, что наука о данных (DS) идет рука об руку с машинным обучением (ML). Хотя это не должно быть большим сюрпризом, поскольку ML требует много информации, программа не может учиться, если у нее недостаточно информации для просмотра.

Многоклассовые треки:



Изучение Python для науки о данных — онлайн-курс
Курс DataCamp «Введение в Python
научит вас использовать программирование Python для обработки данных с интерактивным видео…www.datacamp. ком»































Индивидуальные курсы:







Кроме того:







14. Машинное обучение

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

Многоклассовые треки:







Индивидуальные курсы:









Кроме того:



15 — Плюс Ультра

Я также обнаружил ряд менее известных тем, с которыми вы можете работать на python и которые могут вас заинтересовать.







События:





Вывод:

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



Если вы видите что-то, что нужно добавить или исправить, оставьте комментарий ниже.

До следующего раза ;-) …