Полезные ресурсы по программированию — от начального до продвинутого (включая бонус биоинформатики)

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

Ресурсы для изучения нового языка программирования

Академия кода

Этот веб-сайт предлагает множество вводных уроков. Это лучше всего подходит для тех, у кого практически нет опыта работы с языком программирования, который они заинтересованы в изучении. Это также отлично подходит для тех, у кого нет опыта программирования. Закончив бесплатные уроки, вы сможете начать базовые проекты на выбранном вами языке. У них есть курсы по Python, Ruby, Java и многим языкам, связанным с веб-разработкой (HTML, CSS, JavaScript и т. д.). У них также есть несколько курсов по конкретным темам баз данных и веб-разработки. Уроки могут показаться утомительными для тех, кто имеет опыт программирования, но заинтересован только в изучении нового языка. Многие из их бесплатных уроков предназначены для начинающих, у которых может не быть опыта программирования. Если вы платите за их премиум-сервис, они предлагают больше учебных ресурсов и индивидуальных курсов, но я ими не пользовался. Хотя это вариант для тех, кто хочет больше, чем то, что они предлагают бесплатно.

Ресурсы для программистов среднего и продвинутого уровня

LeetCode

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

ХакерРанк

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

Удемы

Этот веб-сайт предлагает широкий спектр курсов, охватывающих множество тем, с обзорами. Цены варьируются от некоторых бесплатных или очень дешевых курсов до относительно дорогих курсов. Более дорогие курсы обычно предлагают много курсовых и дополнительных материалов. Они предлагают гарантию возврата денег и часто устраивают распродажи. Мне никогда не приходилось платить полную цену за один из их курсов. Я купил их курс ReactJS + Redux, когда он был в продаже, и это был огромный объем информации. Купив курс, вы можете пересматривать его столько раз, сколько захотите. Определенно недооцененный источник.

Курсера

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

"YouTube"

На YouTube полно отличных каналов, которые производят контент на самые разные темы, связанные с технологиями. Я до сих пор постоянно использую YouTube, когда начинаю совершенно новую тему. В Массачусетском технологическом институте, Стэнфорде и других ведущих академических учреждениях есть много высококачественных видеороликов по различным темам академической информатики. Эти видео были очень полезны, когда я учился в колледже. Есть также много профессионалов отрасли, которые делают более практичные видеоролики о каждой области, которую только можно вообразить, используя различные технологии. Я использовал YouTube, чтобы изучить разработку приложений для iOS, а также когда я учился делать серверную часть своего первого публикуемого приложения для iOS самостоятельно. Я до сих пор считаю, что это полезный ресурс. Это также совершенно бесплатно.

*Бонус*: ресурсы по биоинформатике/вычислительной биологии для решения задач с помощью Python

"Розалинда"

Этот веб-сайт — мой любимый практический ресурс, связанный с биоинформатикой и вычислительной биологией. Я пришел в область компьютерных наук из биологии с длительной специализацией в области вычислительной биологии/биоинформатики. Я до сих пор нахожу эту область увлекательной. У Розалинды есть раздел, посвященный ознакомлению начинающих с Python и некоторыми концепциями программирования. Python используется для решения задач биоинформатики/вычислительной биологии на этом сайте. Он также широко используется в повседневной работе по биоинформатике и вычислительной биологии. Несмотря на то, что он удобен для начинающих, прогресс может быть затруднен, если вы не знакомы с концепциями программирования. Когда я был новичком, мне не удавалось найти адекватные объяснения, но я смог дополнить эти темы на своих уроках информатики. Розалинд содержит различные задачи по биоинформатике/вычислительной биологии из реальной жизни, которые усложняются по мере вашего продвижения. У них также есть раздел, посвященный улучшению алгоритмических навыков для опытных пользователей. Для полу-новичков и не только, интересующихся этой областью, я очень рекомендую этот сайт.