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

Кажется, что все крупные достижения имеют элемент компьютерного программирования, связанный с ним. Новый прорыв в медицине? Вероятно, это связано с ИИ. Новое приложение? Вероятно, разработан с использованием Flutter. Запущен новый космический телескоп? Python, вероятно, используется для анализа данных.

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

Прежде чем мы начнем…

Для контекста: я врач, участвующий в клинической помощи, которая имеет очень мало общего с программированием в повседневной жизни. Мой единственный опыт программирования был в начальной школе, когда я использовал Logowriter, чтобы «запрограммировать» черепаху, чтобы она рисовала несколько картин. Я немного занимался веб-разработкой в ​​старшей школе и создавал веб-сайты для развлечения, используя HTML и Dreamweaver. CSS только что изобрели. Так что, по сути, хотя у меня был НЕКОТОРЫЙ опыт, я был, по сути, новичком.

Прежде чем начать, я бы посоветовал понять, ПОЧЕМУ вы это делаете. Для меня это было из-за всех низко висящих фруктов в здравоохранении. Мы должны быть «дежурными» в случае неотложной помощи в нашей больнице, и то, как они распределялись, выполнялось вручную с использованием электронной таблицы Excel. Хотя это не заняло много времени, я хотел посмотреть, смогу ли я сократить это до секунд.

Это все говорит о том, что прежде чем вы начнете, имейте в виду проект. Хотя я не понимал этого с самого начала, важность этого нельзя переоценить. Мир информатики огромен и расширяется. Любая область, подобная этой, довольно сложна для начала, и нет никакого способа «изучить все» до того, как вы начнете. Наличие проекта позволяет вам наметить некоторые границы того, что вам нужно знать, и добиться первых успехов.

Бесплатные ресурсы

freeCodeCamp.org — Python (и Javascript)

Возможно, это один из лучших бесплатных ресурсов для изучения Python (а также Javascript). Вы можете выбрать свой вариант Python из науки о данных, машинного обучения или научных вычислений и выполнять модули. В конце есть проекты, которые нужно завершить, и сертификация, которую можно добавить в LinkedIn/Professional CV.

У них также есть 4-часовой курс YouTube, посвященный основам. Это не лучше, чем это бесплатно! Видеокурс Python на Youtube — https://youtu.be/rfscVS0vtbw

Pro: абсолютно бесплатная, очень подробная сертификация

Минусы: не совсем проектное обучение, я учился медленнее, чем на курсах Udemy

Сетевой ниндзя — Флаттер

Хотите создать собственное кроссплатформенное/веб-приложение? Flutter — это язык для вас! Я не слишком увлекался этой областью, но, насколько я вижу, Flutter поможет вам запустить процесс создания приложения в кратчайшие сроки.

В серию Net Ninja входит ряд приложений, чтобы вы изучали основы, следуя инструкциям.

Pro: БЕСПЛАТНО, на основе проекта, отлично подходит для начинающих

Минусы: темп немного отличается, нет сертификации, зависит от того, насколько вас беспокоит британский акцент

Socratica — Python (и SQL и общая математика)

Это для тех, кто уже начал заниматься, но хочет получить небольшие проекты и советы, которые облегчат понимание всей области. В Socratica есть видеоролики продолжительностью 5–10 минут, которые позволяют исследовать и развивать концепцию.

Это также довольно забавно (в какой-то занудной манере). Подумайте о образовательной прокрастинации в социальных сетях для ботаников, и вы на деньгах.

Плюсы: короткие видеоролики, хорошие объяснения, ботанический юмор

Минусы: имеет смысл только после того, как вы начнете, не можете использовать его как единственный ресурс (как в видео в начале 2022 г.)

Автоматизация скучных вещей — Python

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

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

Плюсы: простота запуска, бесплатная или платная поддержка, текстовая поддержка на случай, если вы плохо усвоите видео

Минус: кажется устаревшим

Платные курсы

100 дней кода — Python (часто в продаже ~$17)

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

Плюсы: просто мой любимый курс Python, хороший, если у вас мало времени в день

Минусы: могут быть дорогими, когда их нет в продаже (но, на мой взгляд, они полностью стоят своих денег!), более поздние уроки немного скудны/незакончены

Complete Python Bootcamp — Python (часто в продаже ~17 долларов)

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

Плюсы: основанные на проектах, более сложные проекты

Минусы: опять же, дорого, когда нет скидки, но оно того стоит. Объяснения не такие простые, как в других курсах

Завершить 2021 Flutter Bootcamp — Flutter (часто в продаже ~$25)

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

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

Плюсы: качественный курс, хорошо структурированный, основанный на проектах

Минусы: дорого, если нет в продаже, учитывая, что Flutter движется так быстро, может скоро устаревать.

Некоторые заключительные мысли

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

Теперь, не имея собственного проекта, вы можете застрять в режиме только информации о курсе, когда вы знаете, как делать проекты в курсе, но не продумали, как это поможет ВАМ в реальном мире.

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

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

Привет, я доктор Раффи Халим, анестезиолог, фотограф и ведущий подкастеров. Если вам нравятся подобные статьи, вам также может понравиться мой еженедельный информационный бюллетень Воскресный сюрприз. Для получения дополнительной информации посетите мой сайт raffyhalim.com