Краткое резюме:
Привет мир! 🙂
Я хотел поделиться тщательно подобранным списком бесплатных и недорогих ресурсов для обучения программированию.
В центре внимания этой коллекции ссылок пока находится веб-разработка и Python, но вы также найдете множество возможностей для перехода на другие языки. Я также включил ряд ресурсов, связанных с наукой о данных, а также структурами данных и алгоритмами. Если вы новичок в мире программирования или просто ищете дополнительные ресурсы для практики, я надеюсь, вы найдете то, что ищете!
Если вы хотите внести свой вклад в этот список ресурсов или получить какие-либо рекомендации, дайте мне знать в комментариях ниже.
Оглавление
| Для взрослых | Для младших школьников |
| Наука о данных | Структуры данных и алгоритмы |
Для взрослых учащихся:
Эти веб-сайты и инструменты должны работать для большинства учащихся.
W3Школы
Описание: W3Schools, созданный в 1998 году норвежской компанией Refsnes Data, представляет собой набор бесплатных ресурсов и руководств для веб-разработки.
Мое примечание: это отличный инструмент для поиска различных фрагментов кода.
Сеть разработчиков Mozilla (MDN)
Https://developer.mozilla.org/en-US/
Описание: Сборник ресурсов и справочников для разработчиков, созданный некоммерческой организацией Mozilla Foundation.
Мое примечание: этим управляют те же люди, которые разрабатывают браузер Firefox!
freeCodeCamp.org
Описание: FreeCodeCamp, основанный Куинси Ларсон, представляет собой некоммерческий учебный центр и сообщество, которое обучает людей программированию.
Мое примечание: отличная серия упражнений для начала веб-разработки. Я регулярно отправляю сюда своих студентов, если они проявляют интерес к веб-разработке.
Codecademy
Описание: Codecademy - это платформа для онлайн-обучения, которая обучает различным языкам программирования в браузере, включая Python, JavaScript и Ruby.
Мое примечание: многие курсы требуют платной подписки, но она того стоит, в зависимости от того, что вы ищете.
Scrimba
Описание: Scrimba - это интерактивный инструмент для создания экранных изображений, созданный компанией Scrimba AS в Осло, Норвегия. Следуйте инструкциям в браузере с помощью этого интерактивного инструмента / среды разработки.
Мое примечание: что делает его примечательным, так это то, что он позволяет останавливать видео в любое время и редактировать код через редактор.
Для младших школьников:
Это несколько полезных интерактивных инструментов и сайтов, предназначенных для того, чтобы заинтересовать младших школьников программированием. Они также могут быть полезны, даже если вы взрослый ученик, поскольку обычно не предполагают никаких предварительных знаний или опыта.
Code.org
Описание: Code.org - это некоммерческая организация, обеспечивающая школьное образование по информатике до 12 лет.
Мое примечание: большинство детей, с которыми я работаю, когда-то пользовались этим сайтом. Мой любимый инструмент - это App Lab, инструмент-песочница для разработки мобильных приложений. Многим студентам это тоже нравится!
Царапать
Описание: Scratch - это инструмент блочного кодирования, предназначенный для обучения детей созданию интерактивных медиа, историй и игр. Scratch был создан группой Детский сад на протяжении всей жизни в MIT Media Lab.
Мое примечание: Scratch - это то, с чем мы знакомим детей младшего возраста, когда они только начинают учиться программировать. Некоторые особенности, которые мне особенно нравятся в Scratch, - это то, что вы можете делать ремиксы и заглядывать внутрь всех проектов. Все они с открытым исходным кодом.
Безделушка
Описание: Trinket - это среда программирования и обучения, разработанная для детей с упором на Python.
Мое примечание: мы часто используем его в классе. Час кода - отличный способ познакомить детей с программированием с использованием типизированных языков (в отличие от блочных языков). Мне также нравится, что вы можете создавать игры с Pygame (https://www.pygame.org/) прямо в браузере!
Ханская академия
Описание: Khan Academy - это некоммерческая организация, основанная Сал Хан в 2005 году. Она занимается предоставлением учебных ресурсов по множеству различных тем.
Мое примечание: KhanAcademy в первую очередь известна своей обширной программой по математике, но у них также есть раздел, посвященный компьютерным наукам и алгоритмам. Стоит посмотреть!
CodeCombat
Описание: CodeCombat - это игровой инструмент обучения, разработанный для обучения студентов концепциям информатики на JavaScript и Python.
Мое примечание: CodeCombat - отличный вариант для студентов, которым нужно немного больше азарта / интерактивности во время обучения.
WoofJS
Описание: WoofJS - это инструмент программирования на JavaScript для детей, предназначенный для преодоления разрыва между языками Scratch (блочными) и типизированными языками.
Мое примечание: это забавный инструмент, который позволяет использовать некоторые функции Scratch (перетаскивание), но также немного повышает сложность. Отличный сайт для создания простых игр.
P5.js
Описание: p5.js - это библиотека JavaScript, разработанная Лорой Маккарти. Примечательно, что он был разработан, чтобы быть доступным и инклюзивным для новых разработчиков.
Мое примечание: это отличный инструмент для молодых программистов, которые хотят начать создавать наброски и цифровое искусство.
Data Science
Kaggle
Описание: Kaggle - это сообщество специалистов по науке о данных, имеющее ряд общедоступных наборов данных с открытым исходным кодом. У них также есть учебные пособия и руководства по изучению Python, машинного обучения и панд.
Мое примечание: я использовал этот сайт кратко, но не часто. В них регулярно проходят соревнования. Хотя я лично не участвовал, я уверен, что попробовать это будет полезно для обучения.
R для науки о данных
Описание: Это бесплатный онлайн-учебник, разработанный двумя авторами Гарретом Гролемундом и Хэдли Уикхэмом, который познакомит вас с R и другими связанными пакетами науки о данных.
Мое примечание: рекомендовано Брайаном (@ThatPhageGuy) в Twitter как отличный ресурс для изучения R и Data Science. Мне нравится!
Алгоритмы и структуры данных:
Эти сайты в основном ориентированы на кандидатов, которым нужны материалы для подготовки к собеседованию. Однако они также являются хорошими ресурсами для изучения алгоритмов и структур данных.
Алгоритмы (Coursera)
Https://www.coursera.org/learn/algorithms-part1 https://www.coursera.org/learn/algorithms-part2
Описание: серия бесплатных курсов из двух частей для изучения структур данных и алгоритмов, которые преподают два профессора Принстонского университета Роберт Седжвик и Кевин Уэйн. Язык курса - Java, хотя эти концепции можно применять на разных языках.
Мое примечание: я не проходил этот курс, но слышал, что он рекомендован из нескольких источников.
Visualgo
Описание: инструмент визуализации для изучения различных алгоритмов, созданный доктором Стивеном Халимом для своих учеников.
Мое примечание: очень полезный сайт, если вы новичок в алгоритмах. В нем также есть несколько обучающих инструментов и викторин!
HackerRank
Описание: HackerRank - это известный сайт, на котором есть обучающие инструменты для отработки навыков кодирования и собеседования.
Мое примечание: мне несколько раз рекомендовали этот ресурс, и, похоже, он очень нравится студентам, чтобы помочь им подготовиться к собеседованию. Как и в курсе Coursera, основным языком является Java. Однако они поддерживают и другие языки.
Coderbyte
Описание: Еще один сайт, посвященный совершенствованию ваших навыков программирования и собеседования. В нем есть задачи и курсы.
Мое примечание: я не использовал его специально, но слышал, что он рекомендован несколько раз. В конце концов, я могу попробовать и обновить этот список.
Кодовые войны
Описание: Создан, чтобы имитировать додзё, с Codewars вы участвуете в серии онлайн-упражнений по кодированию с различными уровнями навыков / кю.
Мое примечание: я лично использовал этот как свой для упражнений, связанных с программированием. Если бы у меня была жалоба, я бы просто сказал, что некоторые проблемы не решаются ужасно. Таким образом, вопросы могут быть плохо сформулированы или сбивать с толку. Плюс в том, что они предлагают задачи на нескольких разных языках.
Торт для интервью
Https://www.interviewcake.com/
Описание: это популярный сайт по подписке, который помогает инженерам лучше отвечать на вопросы технических собеседований.
Моя заметка: для доступа ко всему контенту требуется годовая подписка. Возможно, это того стоит, если вам предстоит собеседование или экзамен.
Сообщества и поддержка:
Существует множество сообществ разработчиков, некоторые из которых больше поддерживают новичков и новичков, чем другие. Я перечисляю те, с которыми у меня был личный опыт или за которые поручились другие.
DEV
Описание: DEV - это сообщество с открытым исходным кодом, посвященное совместному обучению, основанное и управляемое разработчиками Бен Халперн, Джесс Ли и Питер Франк.
Мое примечание: у DEV потрясающее сообщество и круглосуточно публикуются бесчисленные статьи, связанные с разработкой. Обязательно ознакомьтесь со списками «7 самых популярных публикаций для разработчиков», чтобы найти отличные отправные точки.
CodeNewbie
Описание: CodeNewbie - это сообщество программистов и других людей, обучающихся программированию. Он начинался как двухнедельный TwitterChat от разработчика Saron.
Мое примечание: очень благосклонное сообщество. Еще у них есть подкаст!
Инди-хакеры
Описание: Инди-хакерское сообщество, которым управляет Кортленд Аллен. Он содержит полную коллекцию ресурсов и статей, направленных на то, чтобы помочь другим в создании онлайн-бизнеса и дополнительных проектов.
Мое примечание: у меня пока нет личного опыта с этим, но, похоже, это отличный ресурс и сообщество. Рекомендовано Фионой.
Женщины
Описание: Сообщество, созданное для женщин-предпринимателей. Создано и модерируется Marie DM.
Мое примечание: я лично могу поручиться и за это сообщество! Он не предназначен специально для программистов, но вы найдете здесь множество ресурсов. Мари очень гостеприимна.
Бит
Описание: это бесплатный инструмент, который позволяет учащимся-самоучкам проходить онлайн-курсы.
Мое примечание: я лично не пробовал эту услугу, но похоже, что она может быть полезна!
Первоначально опубликовано на http://blog.laradurrant.dev 26 марта 2020 г.