Использование интернет-ресурсов для приобретения навыков программирования
Автор: Оксана Геннадиевна Старцева, Алиса Расиховна Айдагулова, Илья Валерьевич Морозов
Журнал: Вестник Пермского университета. Математика. Механика. Информатика @vestnik-psu-mmi
Рубрика: Компьютерные науки и информатика
Статья в выпуске: 4 (67), 2024 года.
Бесплатный доступ
В настоящее время роль цифровых образовательных ресурсов очевидна. Наряду с обсуждением преимуществ использования онлайн-платформ для обучения программированию, поднимаются важные вопросы, касающиеся качества образовательного контента, необходимости критического мышления при выборе источников информации и важности практического применения полученных знаний. Отмечается необходимость комплексного подхода, сочетающего самостоятельное онлайн-обучение с традиционными образовательными методами. Целью исследования является анализ интернет-ресурсов для обучения программированию с учетом различных типов онлайн-платформ и их влияния на эффективность образовательного процесса. В статье рассмотрено пять типов интернет-ресурсов для приобретения навыков программирования: онлайн-курсы и образовательные платформы, интерактивные среды разработки, форумы и сообщества программистов, открытые репозитарии кода, платформы для решения алгоритмических задач. Осуществлен сравнительный анализ этих ресурсов по критериям: интерактивность, содержательность, практическая направленность, доступность, сопровождение. Проведено исследование влия-ния различных типов интернет-ресурсов на студентов ИТ-направлений с учетом их образо-вательных потребностей и выявлены сценарии их использования для различных целевых групп. Результаты исследования показывают, что использование комбинации различных интернет-ресурсов позволяет учащимся значительно ускорить процесс обучения, получить доступ к актуальной информации и практиковаться в реальных проектах.
Программирование, обучение, интернет-ресурсы, онлайн-курсы, интерактивные среды разработки, самообразование, эффективность обучения, качество контента, практическое применение
Короткий адрес: https://sciup.org/147247342
IDR: 147247342 | DOI: 10.17072/1993-0550-2024-4-132-143
Текст научной статьи Использование интернет-ресурсов для приобретения навыков программирования
wpqjnv
Эта работа © 2024 Старцева О.Г., Айдагулова А.Р., Морозов И.В. распространяется под лицензией CC BY 4.0. Чтобы
С развитием информационных технологий и расширением доступа к сети Интернет, процесс обучения программированию претерпел значительные изменения. Традиционные методы обучения дополняются, а иногда и заменяются онлайн-ресурсами, предоставляющими широкие возможности для самообразования и практики. На данный момент индустрия онлайн-образования в сфере программирования активно развивается. Крупные платформы предлагают широкий спектр курсов от базового уровня до специализированных программ обучения по различным языкам и технологиям. Использование этих ресурсов существенно меняет подход к обучению программированию, делая его более доступным, гибким и эффективным. Начальные навыки программирования помогут приобрести такие популярные интернет-ресурсы, как Яндекс.Практикум, Сodecademy, Skillbox, GeekBrains, HTML Academy и др.
Различные аспекты использования цифровых образовательных ресурсов, интернет-ресурсов рассматриваются в работах И.В. Абрамовой [1], А.Д. Зубкова [2], Т.В. Рихтер [1], О.В. Калимуллиной [3], И.В. Троценко [3], Т.Н. Филимоненковой [4] и др.
Проблема использования интернет-сервисов в формировании у обучающихся компетенций в области программирования исследуется в работе Ф.Э. Садыковой [5]. Автор отмечает, что интернет-сервисы "имеют значительный дидактический потенциал" [5, с. 21], который выражается в наглядности и доступности учебного материала, возможности выбора способа и темпа его освоения, "в возможности участия в сетевых сообществах, блогах, социальных сетях" [5, с. 21]. Т.В. Рихтер, И.В. Абрамова отмечают, что для формирования компетенций при изучении программирования необходимо "активное обновление и расширение цифровой образовательной среды, внедрение цифровых образовательных платформ, Web-приложений и мессенджеров" [1, с. 24].
Онлайн-платформы для обучения программированию активно используются как начинающими, так и опытными разработчиками для повышения квалификации и освоения новых технологий. Основными преимуществами использования интернет-ресурсов для обучения программированию являются доступность информации, возможность самостоятельного планирования обучения, а также возможность практики в реальных проектах через платформы с открытым исходным кодом. Интерактивные среды разработки позволяют начинающим программистам практиковаться в написании кода непосредственно в браузере, получая мгновенную обратную связь.
Несмотря на преимущества, использование интернет-ресурсов в обучении программированию сопряжено с рядом проблем:
-
1. Качество и достоверность информации. Отсутствие контроля над качеством учебного материала может привести к распространению устаревших или некорректных сведений. Решением может быть создание системы рейтингов и отзывов, а также сотрудничество образовательных платформ с ведущими специалистами отрасли.
-
2. Мотивация и самодисциплина. Онлайн-формат обучения требует от студентов высокой самоорганизации. Как показывает практика, значительное число учащихся не
-
3. Практическое применение. Для формирования навыков программирования недостаточно только теоретического материала. Платформы, предлагающие реальные проекты и сотрудничество с компаниями, показывают наилучшие результаты в подготовке специалистов.
завершают начатые онлайн-курсы из-за недостатка структурированного подхода и отсутствия непосредственного взаимодействия с преподавателем. Внедрение систем геймификации и социального взаимодействия может повысить вовлеченность студентов.
В условиях цифровизации образования целесообразно комбинировать традиционные очные занятия и компьютерные технологии" [6, с. 10]. Исследования показывают, что студенты, активно использующие онлайн-ресурсы в дополнение к традиционному обучению, демонстрируют более высокие результаты в освоении практических навыков программирования. Интеграция онлайн-курсов и интерактивных платформ в образовательный процесс способствует более глубокому пониманию концепций и принципов программирования. Форумы и сообщества программистов играют важную роль в обмене знаниями и решении практических задач. Эти платформы обеспечивают доступ к коллективному опыту профессионального сообщества, что особенно ценно для начинающих разработчиков. Интеграция может происходить следующим образом:
-
1) использование онлайн-курсов для предварительной подготовки перед углубленным изучением тем в университете;
-
2) применение интерактивных платформ для практики и закрепления материала;
-
3) участие в онлайн-проектах и хакатонах для развития практических навыков и работы в команде.
Однако вопросы эффективности, качества контента и методологии онлайн-обуче-ния требуют более глубокого рассмотрения. К тому же существующие исследования часто ограничиваются обзором популярных платформ, не углубляясь в анализ конкретных методик и их влияния на формирование практических навыков программирования.
Данная статья направлена на исследование различных типов интернет-ресурсов и их роли в процессе обучения программированию.
Постановка задачи
Целью исследования является анализ интернет-ресурсов для обучения программированию с учетом различных типов онлайн-платформ и их влияния на эффективность образовательного процесса. Для достижения цели были поставлены следующие задачи:
-
1) рассмотреть основные типы интернет-ресурсов для обучения программированию и провести анализ их эффективности;
-
2) провести исследование влияния различных типов интернет-ресурсов на студентов ИТ-направлений с учетом их образовательных потребностей, а также сформулировать рекомендации по эффективному использованию данных ресурсов для различных целевых групп.
Методы исследования
В ходе исследования был проведен анализ научно-исследовательской литературы, специализированных публикаций и статей, а также данных популярных образовательных платформ, что позволило определить ключевые тенденции и методики в области онлайн-обучения программированию. Осуществлено сопоставление различных подходов к использованию интернет-ресурсов, выделение общих черт и особенностей, а также оценка эффективности таких решений.
Результаты
Основные типы интернет-ресурсов для обучения программированию и их эффективность
В рамках поставленных задач исследования рассмотрим основные типы интернет-ресурсов для обучения программированию. Анализ информационных ресурсов сети Интернет позволил выделить следующие категории интернет-ресурсов для обучения программированию:
-
1) онлайн-курсы и образовательные платформы;
-
2) интерактивные среды разработки;
-
3) форумы и сообщества программистов;
-
4) открытые репозитории кода;
-
5) платформы для решения алгоритмических задач.
Каждая из этих категорий играет свою роль в процессе приобретения и совершенствования навыков программирования. Рассмотрим каждую категорию подробнее.
Наиболее популярны среди различных категорий пользователей образовательные платформы и онлайн-курсы по программированию. Мы провели их сравнительный анализ (табл. 1), выделив следующие критерии эффективности:
-
1) интерактивность (обучение с использованием интерактивных форм и методов взаимодействия, например, игровых технологий, форм совместной разработки программ, возможность обмена знаниями и результатами работы, поддержка и обратная связь);
-
2) содержательность (широкий выбор курсов по различным языкам программирования);
-
3) практическая направленность (сочетание теоретического материала с практическими заданиями, практико-ориентированный подход к изучению программирования, проектное обучение);
-
4) доступность (возможность бесплатного прохождения, дешевизна курсов, дистанционный формат обучения, русскоязычное содержание);
-
5) сопровождение (менторская поддержка, подготовка к собеседованию, сертификация).
Следует добавить, что доступность предполагает, что онлайн курсы "используют доступные технологии, содержат эквивалентные альтернативы слуховому и зрительному содержанию; дизайн курсов выполнен таким образом, что читать материалы удобно, и отвлекающие факторы сведены к минимуму" [7, с. 70].
Таблица 1. Сравнительный анализ онлайн-курсов и образовательных платформ по формированию навыков программирования
№ п/п |
Образовательные платформы |
Интерактивность |
Содержательность |
Практическая направленность |
Доступность |
Сопровождение обучения |
1. |
Code Academy |
+ |
+ |
+ |
+ |
+/- |
2. |
Harvard CS50 |
+ |
+ |
+ |
+ |
+/- |
3. |
Coursera |
+ |
+ |
+ |
+ |
+/- |
4. |
Udemy |
+/- |
+ |
+/- |
+ |
+/- |
5. |
edX |
+ |
+/- |
+ |
+ |
+/- |
6. |
HackerRank |
+ |
+/- |
+/- |
+/- |
+/- |
7. |
aGupieWare |
- |
+ |
- |
+ |
- |
8. |
Code.org |
+ |
+ |
+ |
+ |
- |
9. |
BitDegree |
+ |
+ |
+ |
+ |
+/- |
10. |
Udacity |
+ |
+ |
+ |
+/- |
+/- |
11. |
FreeCodeCamp |
+ |
+ |
+ |
+ |
+/- |
12. |
GitHub |
+ |
+/- |
+ |
+/- |
- |
13. |
Code School |
+ |
+/- |
+ |
+/- |
+/- |
14. |
Khan Academy |
+ |
+ |
+ |
+ |
- |
15. |
w3schools |
+ |
+/- |
+ |
+ |
+/- |
16. |
GeeksforGeeks |
+ |
+ |
+ |
+/- |
+/- |
17. |
MIT Open Courseware |
- |
+ |
+ |
+ |
- |
18. |
Dash |
+ |
+ |
+ |
+ |
- |
19. |
Codewars |
+ |
+ |
- |
+/- |
+/- |
20. |
Codementor |
+ |
+ |
- |
+/- |
+/- |
В табл. 1 приняты следующие обозначения: "+" – критерий реализован полностью, "+/-" – критерий выполняется частично или с ограничениями, "-" критерий не выполняется.
Несмотря на небольшие различия между структурной организацией и интерфейсами платформ, в основном, формат популярных онлайн платформ (Coursera, edX, Udacity) "предполагает использование видео-лекций и тестовых вопросов с вариантом выбора, открытые и закрытые вопросы" [3, с. 67]. Можно отметить значимые преимущества для отдельных интернет-ресурсов. Так, Coursera имеет лучшее соотношение цена/качество для сертифицированного обучения. CS50 является признанным в интернет-сообществе [8, 9] вводным курсом по программированию, FreeCodeCamp известна как лучшая бесплатная платформа для веб-разработки, GitHub применяется для практической работы с кодом, а HackerRank выступает лидером в подготовке к техническим собеседованиям.
Обобщая вышесказанное, отметим важное для нашего исследования: онлайн курсы различаются по организации расписания обучения (курсы с фиксированными сроками обучения, без установленных сроков обучения), по доступности обучения, по формату обучения, по целевой аудитории.
По доступности обучения:
-
ˉ полностью бесплатные платформы (FreeCodeCamp, MIT OCW, Code.org, Khan Academy);
ˉ частично бесплатные (Coursera, edX, CodeAcademy);
ˉ платные платформы (Udacity, Udemy, Pluralsight).
По целевой аудитории:
ˉ для среднего уровня (Coursera, Udemy, CodeAcademy);
ˉ для продвинутых (HackerRank, GeeksforGeeks, Udacity).
По формату обучения:
ˉ структурированные курсы (Coursera, edX, Udacity);
ˉ проектное обучение (FreeCodeCamp, GitHub);
ˉ практико-ориентированное обучение (HackerRank, Codewars);
ˉ индивидуальное обучение (Codementor).
Таким образом, большинство платформ предлагают интерактивные задания и проектное обучение; русскоязычный контент доступен преимущественно на крупных платформах; менторская поддержка редко включена в базовые планы; мобильные приложения становятся стандартом для большинства платформ. Практика показывает, что использование комбинации из двух или более онлайн-курсов позволяет студентам достичь более высоких результатов в решении практических задач по программированию. Однако эффективность сильно зависит от мотивации учащихся и их способности к самоорганизации.
Следующая категория – интерактивные среды разработки (например, Repl.it, CodePen, JSFiddle) позволяют писать и выполнять код непосредственно в браузере. Следует отметить критерии эффективности интерактивных сред разработки: поддержка различных языков программирования, удобство интерфейса, возможности отладки программ, интеграция с другими инструментами.
Третья категория интернет-ресурсов для обучения программированию – форумы и сообщества программистов предоставляют платформу для обмена знаниями и решения конкретных проблем. Известны такие форумы, как Stack Overflow, GitHub Discussions, Reddit (r/programming, r/learnprogramming). Эффективность форумов и сообществ во многом зависит от активности данного сообщества, качества и скорости ответов, разнообразия обсуждаемых тем.
Четвертая категория – открытые репозитории кода (GitHub, GitLab, Bitbucket и др.) предоставляют доступ к исходному коду реальных проектов. Критериями эффективности для данной формы интернет-ресурса являются: разнообразие проектов, качество документации, возможность личного вклада в проекты, наличие инструментов для совместной работы.
Пятая категория – платформы для решения алгоритмических задач предлагают задачи по программированию различной сложности. Из числа наиболее известных платформ следует отметить LeetCode, HackerRank и CodeWars. При выборе платформы следует обратить внимание на следующие критерии их эффективности: разнообразие и качество задач, система оценки решений, возможность сравнения и обсуждения решений.
Таким образом, приведенная классификация и анализ эффективности различных типов интернет-ресурсов для обучения программированию позволяют более структурированно подойти к выбору и использованию онлайн-инструментов в образовательном процессе.
Исследование влияния различных типов интернет-ресурсовна студентов ИТ-направлений
В исследовании приняли участие студенты Башкирского государственного педагогического университета им. М. Акмуллы, обучающиеся по направлениям 09.03.02 "Информационные системы и технологии (профиль Проектирование и разработка программных решений)", 09.03.03 "Прикладная информатика (профили Прикладная информатика в цифровой экономике, Прикладная информатика в здравоохранении)". Исследование проводилось в течение одного учебного семестра (5 месяцев).
Студенты были случайным образом распределены на 5 групп, каждая из которых преимущественно использовала один из типов интернет-ресурсов в дополнение к традиционному обучению. На начальном этапе в начале семестра все обучающиеся прошли стандартизированный тест на оценку навыков программирования. В течение семестра отслеживалось время, проведенное студентами на различных образовательных платформах. Каждые две недели студенты выполняли стандартизированные практические задания по программированию. В конце семестра был проведен итоговый тест на оценку навыков программирования и опрос удовлетворенности обучением.
Дидактический потенциал дисциплин был усилен внедренными в учебный процесс экспериментальных групп интернет-ресурсами. В контрольной группе учебный процесс характеризовался традиционным подходом к организации учебной деятельности студентов. Для проверки у студентов сформированности навыков программирования были разработаны практические задания, выявляющие умения и навыки программирования. Для проверки уровня удовлетворенности обучающихся форматом образовательного процесса в анкету были включены вопросы, позволяющие определить отношение к типам образовательных интернет-ресурсов в области программирования.
Таким образом, по результатам эксперимента выяснилось, что онлайн-курсы и образовательные платформы улучшили результаты сформированности навыков программирования в среднем на 22 %, скорость выполнения практических заданий повысилась на 18 %, уровень удовлетворенности студентов составил 4.2 балл из 5. По результатам анкетирования студенты отметили, что структурированный подход и интерактивные элементы онлайн-курсов способствовали лучшему пониманию материала. Однако некоторые жаловались на недостаток персонализированной обратной связи.
Использование интерактивных сред разработки улучшили результаты тестирования в среднем на 25%, скорость выполнения практических заданий повысилась на 30%, уровень удовлетворенности студентов составил 4.5 балл из 5. Следует подчеркнуть, что возможность немедленно применить полученные знания на практике значительно повысила эффективность обучения. Студенты особенно оценили возможность экспериментировать с кодом в реальном времени.
Использование форумов и сообществ программистов улучшили результаты тестирования в среднем на 15 %, скорость выполнения практических заданий повысилась на 20 %, уровень удовлетворенности студентов составил 3.8 балл из 5. По завершению работы обучающиеся отметили, что участие в обсуждениях помогло студентам лучше понять практические аспекты программирования. Однако некоторые отметили, что поиск релевантной информации на форумах может быть трудоемким.
Открытые репозитории кода улучшили результаты тестирования в среднем на 28%, скорость выполнения практических заданий повысилась на 35 %, уровень удовлетворенности студентов составил 4 балла из 5. Изучение реальных проектов значительно улучшило понимание студентами практик разработки. Однако некоторые новички отметили сложность в понимании крупных проектов без дополнительного руководства. Регулярная практика в решении алгоритмических задач значительно улучшила навыки программирования студентов. Геймификация процесса обучения повысила мотивацию, хотя некоторые отметили, что не все задачи имеют прямое применение в реальных проектах.
Таким образом, исследование показало, что все типы рассмотренных интернет-ре-сурсов положительно влияют на процесс обучения программированию. Наибольшую эффективность продемонстрировали платформы для решения алгоритмических задач и интерактивные среды разработки. Однако важно отметить, что наилучшие результаты были достигнуты студентами, которые использовали комбинацию различных типов ресурсов. Это подчеркивает важность комплексного подхода к обучению программированию, сочетающего теоретическую подготовку, практику написания кода, решение алгоритмических задач и изучение реальных проектов.
Разработка сценариев обучения программированиюс использованием интернет-ресурсов
На основе проведенного исследования и анализа эффективности различных типов интернет-ресурсов, мы предлагаем сценарии обучения программированию, учитывающие потребности обучающихся разного уровня подготовки: для новичков (1–2-й курс), студентов старших курсов и тех, кто углубленно изучает программирование.
Рекомендуемая комбинация интернет-ресурсов для различных целевых групп отражена в табл. 2.
Таблица 2. Комбинация использования интернет-ресурсов для приобретения навыков программирования различными целевыми группами
Целевая группа Вид интернет-ресурса |
Углубленное изучение про-граммиро-вания |
Студенты старших курсов вузов |
Начинающие изучение программирование |
Онлайн-курсы и образовательные платформы |
20% |
25% |
40% |
Интерактивные среды разработки |
0% |
15% |
30% |
Форумы и сообщества программистов |
25% |
5% |
10% |
Открытые репозитории кода |
35% |
25% |
0% |
Платформы для решения алгоритмических задач |
20% |
30% |
20% |
Сценарий для начинающих программистов имеет цель заложить прочный фундамент базовых знаний и навыков программирования. Исследование показало, что начинающие программисты лучше усваивают материал при структурированном подходе с большим количеством практики.
Онлайн-курсы предоставляют необходимую теоретическую базу, в то время как интерактивные среды позволяют немедленно применять полученные знания. Простые алгоритмические задачи помогают развить логическое мышление, а форумы предоставляют поддержку и ответы на возникающие вопросы.
Сценарий для студентов старших курсов вузов позволит углубить теоретические знания и развить практические навыки решения сложных задач. Студенты вузов нуждаются в балансе между теорией и практикой. Продвинутые онлайн-курсы дополняют университетскую программу, в то время как алгоритмические задачи развивают навыки решения сложных проблем. Изучение открытых репозиториев позволяет познакомиться с реальными проектами, а интерактивные среды обеспечивают возможность экспериментировать с различными технологиями.
Сценарий для тех, кто углубленно изучает программирование, нацелен поддерживать актуальность навыков и осваивать новые технологии. Профессионалам важно быть в курсе последних тенденций, что обеспечивается специализированными курсами. Изучение открытых репозиториев позволяет ознакомиться с лучшими практиками в индустрии. Активное участие в профессиональных сообществах способствует обмену опытом, а решение сложных алгоритмических задач помогает поддерживать навыки на высоком уровне.
Заключение
В заключение следует отметить, использование онлайн-платформ делает процесс обучения более доступным и гибким. Эффективность обучения повышается благодаря разнообразию интернет-ресурсов и возможности отработки практических навыков в реальных проектах, но также возникают вопросы о качестве контента и необходимости структурированного подхода.
Обобщая результаты исследования, сформулируем основные выводы.
-
1. Рассмотрены основные типы интернет-ресурсов для обучения программированию и проведен анализ их эффективности. Выделены критерии эффективности онлайн-курсов и образовательных платформ: интерактивность, содержательность, практическая направленность, доступность, сопровождение обучения. Большинство ресурсов предлагают бесплатный доступ к учебным материалам, интерактивное содержание и возможность получить сертификат. Доказано, что использование интернет-ресурсов на практике поддерживает процесс освоения материала, повышает мотивацию учащихся и развивает навыки самостоятельного обучения. Кроме того, такие ресурсы способствуют закреплению знаний, благодаря практическим заданиям и обратной связи, что делает обучение более результативным и доступным для широкого круга пользователей.
-
2. Проведено исследование влияния различных типов интернет-ресурсов на студентов ИТ-направлений и сформулированы сценарии обучения программированию, учитывающие потребности обучающихся разного уровня подготовки: для новичков (1-2-й курс), студентов старших курсов и тех, кто углубленно изучает программирование.
Внимание к этим аспектам и разработка комплексных стратегий обучения являются ключевыми факторами для успешного использования интернет-ресурсов для приобретения навыков программирования. Для будущих исследований важно сосредоточиться на долгосрочной эффективности онлайн-обучения и разработке методологий, оптимально сочетающих онлайн и офлайн образовательные ресурсы.
Список литературы Использование интернет-ресурсов для приобретения навыков программирования
- Рихтер Т.В., Абрамова И.В. Использование цифровых образовательных ресурсов при изучении программирования в вузе // Карельский научный журнал. 2021. Т.10, № 2(35). С. 22–24.
- Зубков А.Д. Интеграция массовых открытых онлайн-курсов в образовательный процесс вуза: зарубежный опыт // Наука о человеке: гуманитарные исследования. 2018. № 2(32). С. 94–98.
- Калимуллина О.В., Троценко И.В. Современные цифровые образовательные инструменты и цифровая компетентность: анализ существующих проблем и тенденций // Открытое образование. 2018. Т. 22, № 3. С. 61–73.
- Филимоненкова Т.Н. Электронные образовательные ресурсы и их роль в смарт-образовании // Проблемы современного педагогического образования. 2018. № 61–2. С. 202–205.
- Садыкова Ф.Э. Формирование компетенций в области программирования у обучающихся профессиональных образовательных организаций средствами интернет-сервисов: специальность 5.8.7 Методология и технология профессионального образования: автореферат диссертации на соискание ученой степени кандидата педагогических наук / Садыкова Фирая Эсхатовна. Чебоксары, 2022. 23 с.
- Филиппова А.С., Старцева О.Г., Михайлова А.Н. Сценарии использования цифровых технологий в образовании // Образовательные ресурсы и технологии. 2024. № 2(47). С. 7–15.
- Богданова Д.А. Массовые Открытые Онлайновые Курсы – новый виток обсуждений // Образовательные технологии (г. Москва). 2016. № 2. С. 66–72.
- + онлайн-ресурсов для изучения программирования в 2022 // Хабр: Сообщество ИТ-специалистов. URL: https://habr.com/ru/articles/331530/ (дата обращения: 15.07.2024).
- Полезные ресурсы и сообщества для программистов // Skypro. URL: https://sky.pro/wiki/javascript/poleznye-resursy-i-soobshestva-dlya-programmistov/ (дата обращения: 15.07.2024).