Применение GitHub при изучении информатики
Основы организации и управления школьными проектами по информатике с помощью онлайн-платформ. Преимущества и недостатки применения GitHub в школьной проектной работе. Алгоритм создания репозитория. Организация совместной работы учащихся над проектом.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 25.04.2021 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство просвещения Российской Федерации
федеральное государственное бюджетное образовательное учреждение
высшего образования
«Алтайский государственный педагогический университет»
Институт информационных технологий и физико-математического образования
Кафедра теоретических основ информатики
Выпускная квалификационная работа бакалавра
по направлению 44.03.01 Педагогическое образование: Информатика
Применение GitHub при изучении информатики
Выполнил: Студент 3613з группы
Малетин Александр Владимирович
Научный руководитель: канд. физ. - мат. наук,
доцент кафедры ТОИ Логинов Максим Сергеевич
Барнаул 2021
- Содержание
- проект информатика github платформа
- Введение
- 1. Основы организации и управления школьными проектами по информатике с помощью онлайн-платформ
- 1.1 Проектная деятельность в школьном курсе информатики
- 1.2 Онлайн-платформы для совместного управления проектами
- 1.3 Преимущества и недостатки применения GitHub в школьной проектной работе
- 2. Разработка и реализация методики применения GitHub в проектной деятельности по информатике
- 2.1 Алгоритм создания и удаления репозитория проекта на GitHub
- 2.2 Методика организации совместной работы учащихся над проектом
- Заключение
- Список использованных источников
Введение
В современном мире человеку требуется удобный способ решения задач, для этого необходимы вспомогательные средства, позволяющие достигнуть желаемого результата. Данная проблема особенно актуальна при переходе на дистанционное обучение.
Современные стандарты общего образования требуют применения деятельностного подхода в обучении, а также формирования метапредметных результатов обучения школьников. Одними из ключевых метапредметных компетенций являются коммуникативные компетенции, а также способность ставить и формулировать для себя цели действий, прогнозировать результаты, анализировать их (причём как положительные, так и отрицательные), делать выводы в процессе работы и по её окончании, корректировать намеченный план, ставить новые цели. Формирование таких результатов логичным образом возможно в проектной деятельности школьников.
Эффективная работа в рамках совместного проекта по информатике невозможна без применения современных платформ размещения и управления проектом. Такие платформы активно применяются разработчиками программного обеспечения. Не является необычным применение таких платформ в высшем образовании. В системе общего образования сейчас довольно актуальна и востребована коллективная работа со школьниками посредством онлайн-ресурсов. Современные платформы совместного управления проектами не активно применяются в системе общего образования. Скорее это результат отсутствия соответствующих методических разработок.
Таким образом, возникает противоречие между возможностью эффективной организации работы над проектами по информатике с применением платформ размещения и управления проектами отсутствием методических материалов для учителя по этой теме.
Основным результатом деятельности образовательного учреждения должна стать не система знаний, умений и навыков сама по себе, а следующий шаг, совокупность ключевых компетенций в интеллектуальной, гражданско-правовой, коммуникативной, информационной, социальной и иных сферах. Особо следует выделить учебно-познавательную, информационную, социально-трудовую и коммуникативную компетенции, которые определяют успешность функционирования выпускника в будущих условиях жизнедеятельности
Цель нашего проекта заключается в разработке методики применения платформы GitHub для удаленной совместной работы над школьными проектами по информатике.
Объектом исследования является платформа GitHub.
Предметом исследования является методика применения платформы GitHub для удаленной совместной работы над школьными проектами по информатике.
Для достижения поставленной цели решены следующие задачи:
1. Выполнить анализ типов школьных проектов по информатике.
2. Выполнить анализ различных онлайн-платформ для размещения и управления проектами.
3. Проанализировать возможности платформы GitHub для решения учебных задач по информатике.
4. Разработать методику организации школьного проекта по информатике с применением GitHub.
Гипотеза работы состоит в том, что если для организации совместного школьного проекта по информатике использовать работу с GitHub, то это расширит возможности формирования метапредметных результатов обучения и повысит интерес к предметному материалу.
Теоретическую базу исследования составляют доступные в сети Интернет ресурсы, а также работы Старинина Андрея Николаевича.
Материалом для разработки послужил учебник по информатике под редакцией Людмилы Леонидовны Босовой и Анны Юрьевны Босовой.
Теоретическая значимость дипломного проекта заключается в том, что проделанная нами работа, может внести вклад в развитие педагогической деятельности (способы и приёмы) объяснения учебного материала.
Практическая значимость дипломного проекта предполагается возможностью использования методики организации школьного проекта в учебных целях. Материалы могут быть использованы для создания своей версии пособия и других учебных материалах по курсу информатики.
Структура работы состоит из введения, двух глав, заключения, списка использованных источников. Данная структура работы определена предметом и целью исследования.
Во введении определяются цели и задачи исследования, указывается актуальность, новизна, теоретическая и практическая значимость нашей работы.
В первой главе рассматривается теоретическая база исследования, рассматриваются потенциальные вспомогательные-ресурсы для обучения информатике, их преимущества и недостатки. Во второй главе разрабатывается методические материалы по интеграции ресурса GitHub в учебный процесс.
Список использованных источников включает использованную литературу, Интернет-источники, а также материалы, использованные для анализа.
1. Основы организации и управления школьными проектами по информатике с помощью онлайн-платформ
1.1 Проектная деятельность в школьном курсе информатики
Проектная деятельность учащихся - это познавательная, учебная, экспериментальная и уникальная деятельность, направленная на решение задачи, которая изображена в форме проекта.
Проектный способ подразумевает творческое раскрытие личности учащихся при командной и самостоятельной работе. Главная цель проектов - развивать творческую, активно социальную личность и формировать системы интеллектуальных, социальных и коммуникативных знаний и умений ученика.
Принцип работы метода проектов имеется в возможности выбора и исполнении какого-либо объекта разработки, простого и доходчивого учащимся и так же реализации важной и ценной для этого документации. Отличительной чертой структуры выполнения проектов является возможность совместной творческой работы педагога и ученика.
Проект - это самостоятельная, либо командная, творчески и оригинально законченная работа, соответствующая возрастным возможностям и особенностям учащихся, во время выполнения которой они увеличивают свои знания и умения, так же получают опыт проектной работе, как в команде, так и самостоятельно. Есть вполне устоявшаяся формулировка того, что проект - это "бросок мыслью в будущее". Другими словами, это совершенное представление конечного итога деятельности - "конечный продукт в уме", то, что будет достигаться, создаваться и реализовываться. По латыни `projectus' - брошенный вперед, замысел, план.
Предмет "Информатика и ИКТ" предоставляет возможность сделать проектную деятельность базовой и ведущей моделью обучения. В конечном итоге исполнения и реализации проекта у детей машинально устанавливается позиция отношения к компьютеру (и программам), как к исполнителю, то есть инструменту, с помощью которого можно определенное задание, достичь поставленной цели.
Виды проектов делятся на 2 типа:
1. По количеству участников можно выделить индивидуальные и групповые проекты.
2. В соответствии с методом, выделенным, как ведущий в проекте, можно выдвинуть следующие типы проектов:
a) Исследовательский - такой проект требует идеально проработанной конструкции пунктов, обозначенных целей, значимости предмета исследования для всех участников, социальной роли, соответствующих методов, в том числе экспериментальных и опытных работ, методов разработки результатов. Этот проект полностью подчинен логике исследования и имеют содержание, приближённое или полностью совпадающее с оригинальным научным исследованием.
b) Творческий - такой проект подразумевает соответствующий вид результатов. Этот проект, как правило, не обладает досконально продуманной структурой коллективной деятельности участников. Вначале она только появляется, а затем формируется и развивается, основываясь на окончательном результате. Результатом, такого рода, могут послужить: совместная газета, сочинение, видеофильм, спектакль, игра, праздник, экспедиция и т.п. Но всё же, оформление результатов проекта требует конкретно продуманной структуры в виде сценария видеофильма или спектакля, программы праздника, плана сочинения, статьи, репортажа и так далее, дизайна и рубрик газеты, альманаха, альбома и пр.
c) Ролевой, игровой - в таком проекте конструкция также только намечается и остаётся доступной до завершения работы. Участники берут на себя придуманные роли, обозначенные направлением и содержанием проекта. Это могут быть выдуманные герои или литературные персонажи, подражающие социальным или деловым отношениям, осложняемые участниками придуманные ситуации. Результаты данных проектов намечаются в начале их исполнения или появляются только лишь в самом конце. Уровень творческой деятельности здесь очень высокий, но преобладающим видом деятельности всё-таки является ролево-игровая.
d) Ознакомительно-ориентировочные (информационные) - этот вид проектов, первоначально направленный на поиск информации о каком-либо объекте, явлении; подразумевается знакомство участников проекта с этими материалами, их обсуждение и изложение фактов, определенных для большой аудитории. Такие проекты, так же, как и исследовательские, требуют к себе особого внимания, как следует проработанной структуры, возможности регулярной корректировки для пунктов, требующих изменения, по ходу работы. Они довольно часто объединяются с исследовательскими проектами и становятся их базовой частью, модулем, устройством.
e) Практико-ориентированные (прикладные) - эти проекты отличает точно намеченный изначально результат деятельности его участников. К тому же этот результат в любом случае нацелен на социальные интересы участников проекта. Такая работа требует аккуратной и основательно продуманной системы всей деятельности его участников с определением обязанностей каждого из них, конкретизированных выводов, то есть оформления результатов проектной деятельности, и участия каждого в закреплении конечного продукта.
Отметим, что на уроках информатики, есть особые проекты, отличающие информатику от других предметов - это практико-ориентированные проекты по программированию.
При работе над этими проектами необходимо:
а) выполнить несколько этапов по разработке программы для решения поставленной задачи;
б) привлекать математический аппарат, а также аппарат из предметной области поставленной задачи (из биологии, химии, физики и др.).
При разработке программы приходится проверять модель, алгоритм, тестировать код программы и, если это необходимо, возвращаться на нужный этап разработки алгоритма и исправлять ошибки, дорабатывать код. Это кропотливая, но интересная работа, напрашивающаяся на коллективные усилия, являющаяся всегда мини-исследованием (а может и макси, в зависимости от поставленной задачи).
Реализация проектов возможна на онлайн-платформах. Из преимуществ сразу хочется отметить возможность совместного управления проектами.
1.2 Онлайн-платформы для совместного управления проектами
Рассмотрим различные платформы, пригодные для управления проектами, и выберем одну, которую будет оптимально использовать для проектной деятельности в информатике.
Первой платформой рассмотрим Google Документы. Это самый простой вариант из тех, что мы рассмотрим для управления проектом. Сервис Google Документы является альтернативой прикладного программного обеспечения персонального компьютера по работе с цифровой информацией (текстовой, графической). Для него не требуется инсталляция на персональный компьютер, но необходимо иметь подключение к сети Интернет и регистрация на почтовом сервисе Gmail.
Одна из важнейших и востребованных возможностей сервиса «Документы Google» - предоставление доступа к документам другим людям. Можно открыть документ для всех пользователей Интернета, работать с ним в одиночку, либо предоставить доступ ограниченному кругу пользователей.
Визуально можно заметить, что в меню вынесены практически все пункты, что и в Microsoft Word. Аналогичное замечание можно сделать и для панели инструментов, то есть пользователь, владеющий навыками работы в офисном пакете Microsoft Office, особых трудностей при освоении рассматриваемого продукта иметь не будет.
Создание совместных документов в режиме реального времени стало большим преимуществом в отличие от офисных пакетов как для работы в учебных заведениях, так и для работы дома, и благодаря простому интерфейсу работать с Документами Google очень просто.
Google Docs имеет ряд преимуществ:
1) возможность работы за любым рабочим местом (дом, кафе, библиотека и так далее);
2) бесплатность;
3) при наличии доступа к сети Интернет приложение не нужно инсталлировать на компьютер;
4) поддержка широко распространённых форматов, включая возможность сохранения документов в PDF формате;
5) привязки с платформами и ОС;
6) возможность реализации совместной работы с документами.
Сервисами Google пользуется всё большее количество людей, применяя их при решении разнообразных информационных задач. Но источников, где бы детально описывались сами сервисы, практически нет. То есть отсутствует та теоретическая база, опираясь на которую пользователю было бы легко овладеть соответствующими навыками и умениями.
Следующей платформой, которую мы рассмотрим является Trello.
Trello -- это бесплатная система управления проектами по методологии канбан (система организации бережливого производства и снабжения, позволяющая реализовать принцип «точно в срок»). Под каждый проект создается доска, на которой размещены списки, составленные из карточек. Как и Google Документы не требует установки ПО на ПК, необходимо иметь подключение к Интернет и регистрация на платформе.
Трелло заслужил свою популярность благодаря простоте, интуитивному дизайну, интеграции с другими инструментами для работы онлайн и наличием полезных особенностей. А еще у него широкий спектр использования -- можно вести большие проекты и создавать доски для личных дел.
В каких сферах используют Трелло (по рекомендации его разработчиков):
· планирование любых событий -- от конференции до свадьбы
· разработка продуктов
· исследования
· рекрутинг
· планирование встреч
· создание контент-планов для блогов
· тренировки
· учеба
В меню редактирования карточек помимо базовой возможности «писать текст», можно: составлять списки, переписываться, добавлять вложения (изображения и файлы), назначать участников, а также ставить дедлайны (конечная дата сроков для сдачи работы).
Последние два пункта рассмотрим немного подробнее, потому что это особенности о которых говорилось в начале. Для каждой обозначенной задачи, мы можем установить сроки и поставить оповещение, которое видно всем присвоенным участникам во встроенном календаре. Так же у нас есть возможность прикрепить каждого отдельного участника к индивидуальной карточке, так он сможет получать оповещения о дедлайне конкретно для него.
Платформа Trello с интуитивно-понятным интерфейсом имеет важное преимущество - наличие удобного контроля выполнения домашних заданий. К сожалению сервис не подойдёт для больших и сложных проектов, требующих работы с мелочами (детализации). Со времен, количество досок и карточек возрастёт настолько, что станет тяжело ориентироваться.
Перейдём к следующей платформе GitHub, в первую очередь хочется выделить основное различие от предыдущих сервисов. GitHub - это не просто инструмент для командной работы, это полноценная социальная сеть для программистов основанная на распределённой системе контроля версий - Git.
Что же такое система контроля версий?
Системы контроля версий (СКВ, VCS, Version Control Systems) позволяют разработчикам сохранять все изменения, внесённые в код. Поэтому в случае, если программа перестала работать, они могут просто откатить код до рабочего состояния вместо того, чтобы тратить часы на поиски маленькой ошибки или ошибок, ломающих весь код. VCS также дают возможность нескольким разработчикам работать над одним проектом и сохранять внесённые изменения, чтобы убедиться, что все могут следить за тем, над чем они работают.
Существует 3 типа системы контроля версий:
1) Локальная система контроля версий (ЛСКВ, LVCS) - простейшая база данных, которая хранит записи обо всех изменениях в файлах (рисунок 1). Локальная система контроля версий хорошо решает поставленную перед ней задачу, однако ее проблемой является основное свойство -- локальность. Она совершенно не предназначена для коллективного использования.
Рисунок 1 ЛСКВ
2) Централизованные системы контроля версий (ЦСКВ, CVCS) - Централизованная система контроля версий предназначена для решения основной проблемы локальной системы контроля версий (рисунок 2). Такими системами легко управлять из-за наличия единственного сервера. Но при этом наличие централизованного сервера приводит к возникновению единой точки отказа в виде этого самого сервера. В случае отключения этого сервера разработчики не смогут выкачивать файлы. Самым худшим сценарием является физическое уничтожение сервера (или отказ жесткого диска), он приводит к потере кодовой базы.
Рисунок 2 ЦСКВ
3) Распределённая система контроля версий (РСКВ, DVCS) - Для устранения единой точки отказа используются распределенные системы контроля версий (рисунок 3). Они подразумевают, что клиент выкачает себе весь репозиторий целиком вместо выкачки конкретных интересующих клиента файлов. Если умрет любая копия репозитория, то это не приведет к потере кодовой базы, поскольку она может быть восстановлена с компьютера любого разработчика. Каждая копия является полной резервной копией данных. Все копии являются равноправным и могут синхронизироваться между собой. В этом случае, если один из серверов выйдет из строя, любой клиентский репозиторий может быть скопирован на другой сервер для продолжения работы. Ещё одним преимуществом РСКВ является то, что они могут одновременно взаимодействовать с несколькими удалёнными репозиториями, что означает, что вы можете параллельно работать над несколькими проектами.
Рисунок 3 РСКВ
Теперь, когда мы знаем, что такое система контроля версией, уделим внимание Git. Стоит отметить, что Git является набором программных утилит, имеющей консольный интерфейс для работы СКВ. Git известен своей скоростью, в том числе скоростью разделения и слияния версий, простым дизайном, поддержкой нелинейной разработки, полной децентрализацией и возможностью эффективно работать с большими проектами.
Иными словами, Git - это комплекс связанных веток, построенных на системе коммита (контрольные точки с пакетами изменений, хранящие информацию об изменениях, рисунок 4). В командной работе имеется основная master-ветка на которой располагаются коммиты. СКВ позволяет создавать ответвления от master-ветки и экспериментировать с проектом, не мешая другим участникам и не боясь нанести непоправимый вред проекту. Тем самым, получаем в пользование личный черновик.
Рисунок 4 Схема работы Git
Зачем же использовать Git в школьной проектной деятельности?
1) Учитель может дать доступ к проекту в разработке, ученик клонирует код, изменяет его не зависимо от master-ветки. Это даёт навыки работы в команде для начинающих.
2) Ученик получает задачу, создаёт новую ветку и пишет код. Когда всё готово - ученик отправляет запрос на слияние (pull request) его ветки и master-ветки. Все участники проекта видят код, оставляют комментарии и указывают на ошибки.
3) Ученик дорабатывает код, обновляет master-ветку и переходит к следующей задаче.
Это основная схема использования Git. Помимо навыков командной работы, которые можно получить, формируются профессиональные умения и навыки, которые бесспорно пригодятся в будущем, особенно, если ученик захочет связать свою жизнь с программированием.
В результате анализа различных инструментов, нами выбрана платформа GitHub, благодаря ее системе контроля версий, позволяющей просматривать всю историю изменений и иметь возможность вернуться к предыдущим изменениям.
Другие, не рассмотренные в работе платформы, имеют ряд недостатков для командной работы. Такие как: ограниченное количество пользователей в одной группе в бесплатном варианте, отсутствие бесплатной версии платформы, отсутствие инструментов пригодных для школьной проектной деятельности.
1.3 Преимущества и недостатки применения GitHub в школьной проектной работе
Рассмотрим преимущества применения GitHub для школьной проектной деятельности.
1) Помимо неоспоримого преимущества СКВ, имеется не менее важное - возможность комментировать конкретные участки кода, либо выполненного задания.
2) Бесплатность - весь функционал является доступным, что важно для образовательных целей.
3) Большая open-source составляющая - означает, что можно выбрать любой из доступных проектов, для самостоятельного изучения кода, а также для рассмотрения как пример результатов командой работы.
4) Наличие на платформе GitHub автоматизированных систем, следящих за правильностью написания загруженного кода. Следует отдельно сказать о случаях, когда в языках программирования происходят изменения, и какая-то часть кода пишется по-другому, автоматизированная система автоматически обновит код и сообщит об этом через оповещения.
5) Благодаря системе Git, управление ветками реализовано гораздо проще, по сравнению с другими РСКВ.
6) Возможность загружать приватный репозиторий с частным доступом. К примеру, ведётся школьный проект для олимпиады и необходимо сохранить тайну.
Рассказав о преимуществах, нельзя ни сказать о недостатках, они тоже имеются.
1) На платформе GitHub отсутствует русский язык. Конечно это спорный недостаток, ведь знание иностранных языков является частью профессионального формирования учащегося. В случае, когда ученик выбрал для изучения немецкий или французский язык, он может выбрать комфортный для себя язык.
2) Отсутствует поддержка в режиме реального времени. Не смотря на большой актив платформы, служба поддержки отвечает быстрее, чем на других платформах, тем не менее приходится ждать ответа.
Выводы по 1 главе
Подведём итог о выборе платформы для совместного управления школьными проектами. В открытом доступе имеется большое количество платформ пригодных для применения в общих образовательных целях. Для таких предметов как: литература, русский язык, история и т.п. подойдут платформы типа - Trello. Это не означает, что такие платформы не применимы в обучении информатики, их функционал имеет свои недостатки и именно из-за этого я выбрал GitHub.
2. Разработка и реализация методики применения GitHub в проектной деятельности по информатике
2.1 Алгоритм создания и удаления репозитория проекта на GitHub
Произведём первоначальную настройку GitHub, создадим репозитории, потому что без этого нет смысла начинать использование онлайн-платформы. Разберём алгоритм создания репозитория проекта. Мы можем использовать два способа: создание онлайн-репозитория через сайт и создание репозитория на локальном компьютере для дальнейшей загрузки на онлайн-платформу.
Приступим к первому способу. Для начала работы нам необходимо создать аккаунт, переходим на форму регистрации (Sing up), выбираем себе логин и пароль, указываем адрес электронной почты, подтверждаем, что аккаунт создаёт человек, а не робот, путём решения капчи и нажимаем кнопку “Create account”.
После успешной регистрации мы попадаем на главную страницу GitHub. Теперь приступим к непосредственному созданию репозитория.
1) В левом углу можем увидеть раздел “Repositories”, для создания нового репозитория, наводим курсор на кнопку “New” и нажимаем ЛКМ (рисунок 5).
Рисунок 5 Раздел репозитории
2) У нас открывается окно, в котором необходимо выполнить первоначальную настройку будущего репозитория (рисунок 6).
a) Выбрать наименование, оно должно быть кратким и ёмким, чтобы можно было понять о содержании исходя из названия.
b) Добавить описание, данный пункт является не обязательным. Мы можем описать содержимое репозитория, особые моменты на которые следует обратить внимание, памятку по эксплуатации содержимого и т.д. Вся внесённая нами информация может быть клонирована в файл “README”.
c) Выбрать тип конфиденциальности репозитория. Сделать его open-source, что позволит любому ознакомиться с содержимым и предложить свои варианты редактирования для слияния с master-веткой. Делать коммиты в таком варианте может владелец репозитория, при желании доступ можно расширить до списка зарегистрированных пользователей, созданный владельцем. Другой вариант, ограничить доступ, просматривать и редактировать смогут только те зарегистрированные пользователи, которым мы предоставим доступ. Важно помнить, что функция частного репозитория, является частью дополнительного функционала и в бесплатной версии сайта имеет ограничение по количеству репозиториев, которые можно скрыть от других.
d) Последний шаг перед созданием репозитория, не обязательный выбор файлов, которые будут созданы вместе с репозиторием. В их число входят:
· README - информационный справочник по репозиторию, в который копируется информация из описания, остальное составляется вручную.
· .gitignore - нужен для того, чтобы в репозиторий не попадали разные временные файлы или сборки, например, при сборке проекта в Visual Studio создается множество временных бинарных файлов, которые при каждом изменении исходного кода программы, будут другими, поэтому для репозитория (хранилища исходного кода) это по факту мусор. Поэтому в этом файле прописано, что определенные папки и файлы не будут учитываться при подготовке коммитов и, следовательно, загрузке в удалённый репозиторий. При создании репозитория можно выбрать уже заранее созданные файлы под язык программирования или среду разработки. Также его можно прописать или дополнить и указать какие файлы включить или убрать из репозитория.
· License - указывает на то, по какой лицензии распространяется код. Про каждую лицензию можно почитать отдельно и в основном они отличаются тем, что можно делать с кодом: продавать, распространять, изменять и т.д. Мы используем свободную лицензию “MIT License”.
Рисунок 6 Настройка нового репозитория
3) Нажимаем кнопку “Create repository”. Создание репозитория на сайте завершено. (рисунок 7).
Рисунок 7 Обзор репозитория
Рассмотрим алгоритм создания репозитория на локальном компьютере. Для данного действия имеются различные варианты исполнения, мы рассмотрим один - использование GitHub Desktop. Использование другого ПО не имеет значительной разницы в алгоритме создания локального репозитория и являются - подобными.
1) Открываем сайт GitHub Desktop и начинаем кнопку “Download for Windows” (рисунок 8). Устанавливаем на компьютер приложение, запускаем и авторизуемся, используя логин и пароль, созданные ранее при регистрации на GitHub.
Рисунок 8 Окно для скачивания GitHub Desktop
2) Открываем контекстное меню “File”, выбираем пункт “New repository”, проводим первоначальную настройку репозитория (рисунок 9).
Рисунок 9 Настройка нового локального репозитория
Выполняем настройку репозитория по аналогии с онлайн версией. В разделе “Local path” указываем путь к рабочей папке, в которой будут хранится все файлы репозитория.
3) Нажимаем кнопку “Create repository”. Локальный репозиторий создан.
По завершении выполнения алгоритма по созданию репозитория проекта на GitHub, мы можем приступить к непосредственной работе с проектом, но лучше сделать резервные копии (клонирование) репозиториев. Хранящийся на сайте мы клонируем на жесткий диск, локальный репозиторий публикуем, как онлайн версию.
Клонируем локальный репозиторий на сайт с помощью функции “Publish repository” (рисунок 10). При необходимости редактируем название, описание и настройки приватности.
Рисунок 10 Форма для публикации локального репозитория
Нажимаем кнопку “Publish repository”. С этого момента доступ к локальному репозиторию имеется на сайте и на ПК. Все изменения запуленные (pull request) на онлайн-платформе не изменяют хранящийся на жестком диске репозиторий. Для того, чтобы клонировать репозиторий с GitHub на ПК, необходимо открыть интересующий репозиторий в контекстном меню “Code” выбираем пункт “Open with GitHub Desktop” (рисунок 11)
Рисунок 11 Окно GitHub при клонировании онлайн-репозитория на ПК
В открывшимся окне GitHub Desktop, нажимаем кнопку “Clone”. Теперь у нас есть возможность вносить изменения на онлайн-платформе, а при отсутствии подключения к Интернету, локально.
Рисунок 12 Окно GitHub Desktop при клонировании онлайн-репозитория на ПК
Может случиться такое, что репозиторий больше не нужен, и его необходимо удалить. Рассмотрим алгоритм удаления репозитория на сайте:
1) Раскрываем необходимый репозиторий и переходим в раздел “Settings”.
2) Прокручиваем страницу в низ, до раздела “Danger Zone” (рисунок 13)
Рисунок 13 Раздел Danger Zone
3) Нажимаем на кнопку “Delete this repository”
4) Появляется окно с предупреждением о невозвратности данного действия, в котором необходимо подтвердить удаление вводом короткого адреса репозитория (рисунок 14). После ввода подтверждения, нажимаем кнопку “I understand the consequences, delete this repository”. Репозиторий удаляется, так же с привязанного GitHub Desktop.
Можно выявить очевидное преимущество - случайного удаления не произойдёт. И о сохранности проекта можно не переживать. Удалить репозиторий может только его создатель.
Рисунок 14 Подтверждение удаления репозитория
2.2 Методика организации совместной работы учащихся над проектом
По завершении технической настройки, перейдём к практическому применению GitHub в проектной школьной деятельности. За основу взят проект на языке программирования PHP. Основными участниками группы были ученики 10 класса. Проект является внеурочной деятельностью и создавался как олимпиадная работа.
Тема проектной деятельности: «Реализовать web-приложение для расчета скоринга клиентов».
Цель проектной деятельности: систематизировать полученные во время внеурочной деятельности о языке программирования PHP. Применить на практике интеграцию GitHub в проектную деятельность.
Объект проектной деятельности: JetBrains PhpStorm 2019.1, MySQL
Предмет проектной деятельности: web-приложение, написанное на языке программирования PHP.
Метод проведения проектной деятельности: командная работа учащихся и научного руководителя, практическое применение полученных теоретических знаний, умений и навыков.
Ход работы:
1) За 2 недели, до начала практической деятельности научным руководителем выданы теоретические материалы по языку программирования PHP.
2) За 1 неделю, до начала практической деятельности, проведен контроль усвоенных знаний по новому материалу.
Контроль состоял из 3 заданий, расположенных в порядке повышения сложности:
1. Задание: Составить многомерный массив.
Массив должен содержать следующую информацию: имя, возраст, адрес электронной почты. Ответом служит код, написанный на языке программирования PHP. Среда для написания кода выбирается самостоятельно.
Пример выполнения задания в PhpStorm:
<?php
// Многомерный массив
$A["Ivanov"] = array("name" => "Иванов И.И.", "age" => "25", "email" => "ivanov@inbox.ru");
$A["Petrov"] = array("name" => "Петров П.П.", "age" => "34", "email" => "petrov@yahoo.ru");
$A["Sidorov"] = array("name" => "Сидоров С.С.", "age" => "47", "email" => "sidorov@ya.ru");
?>
2. Задание: Выполнить обход двумерного массива, матрицы.
Массив должен содержать следующую информацию: имя, фамилия, возраст, адрес, номер телефона. Ответом служит код, написанный на языке программирования PHP. Среда для написания кода выбирается самостоятельно.
Пример выполнения задания в PhpStorm:
<?php
// массивы с данными на работников предприятия
$m = array('Александр', 'Новиков', '35', 'ул. Новоясеневский проспект д. 7', '125-89-63');
$s = array('Алексей', 'Бодров', '28', 'ул. Астраханская д. 45', '256-89-63');
$t = array('Николай', 'Хмельницкий', '28', 'ул. Боровицкая д. 25', '100-89-63');
$k = array('Олег', 'Нестеров', '44', 'ул. Каховка д. 11', '330-80-63');
$z = array('Олег', 'Нестеров', '44', 'ул. Каховка д. 11', '330-80-63');
$x = array('Олег', 'Нестеров', '44', 'ул. Каховка д. 11', '330-80-63');
// двумерный массив с данными о сотрудниках
$TH = array($m, $s, $t, $k, $z, $x);
// Подсчитываем количество элементов в массиве
$sum = count($TH);
echo "
Имя
Фамилия
Возраст
Адрес
Телефон
";
for ($i = 0; $i <= $sum; $i++) {
echo "";
$sum = count($TH[$i]);
for ($q = 0; $q < $sum; $q++) {
echo "
". $TH[$i][$q]. "";
}
echo "
";
}
echo "table>";
?>
3. Задание: Дан многомерный массив $arr. Напишите функцию, которая принимает строки вида 'строка1.строка2.строка3'-буквы разделенные точками, а возвращает элемент многомерного массива $arr['строка1']['строка2']['строка3']. Количество точек в строке может быть любым, вложенность массива тоже любая, ключи массива не содержат точек. ***. Ответом служит код, написанный на языке программирования PHP. Среда для написания кода выбирается самостоятельно.
Пример выполнения задания в PhpStorm:
<?php
function array_get($array, $key) {
$keys = explode(`.', $key);
$result = $array;
while ($k = array_shift($keys)) {
if (empty($result[$k])) { throw new Exception(`element `.$key.' Found'); }
$result = $result[$k];
}
return $result;
}
echo array_get([1,2,[1=>2, 2 => [1,5,3]]], `2.2.1'), PHP_EOL;
echo array_get([1,2, `table' => [1=>2, `model' => [1, `key' => `cooool',3]]],'table.model.key'), PHP_EOL;
?>
По результатам контроля был выдан новый материал повышенной сложности.
3) За 1 день до начала практической деятельности, проведён повторный контроль усвоенных знаний по закреплению знаний о материале.
4) Построение плана работы, исходя из полученных для выполнения задач. Распределение ролей в группе.
Задачи проектной работы:
1. Реализовать web приложение для расчета скоринга клиентов со следующим функционалом:
a) Регистрация клиентов через форму с полями:
· Имя
· Фамилия
· Номер телефона (только российские)
· Электронная почта
· Образование - дропдаун с выбором: Среднее образование, Специальное образование, Высшее образование
· Галочку "Я даю согласие на обработку моих личных данных"
b) Управление клиентами: отображение списка клиентов (со скорингом) с пагинацией, с возможностью зайти в карточку клиента для просмотра и редактирования.
c) Система скоринга, которая будет выполнятся и фиксироваться для клиента в процессе регистрации. Скоринг - это число равное сумме баллов по правилам расчета.
d) Список правил с баллами:
v Сотовый оператор. МегаФон - 10 баллов, Билайн - 5, МТС - 3, Иной - 1.
v Домен электронной почты. gmail - 10, yandex - 8, mail - 6, Иной - 3.
v Образование. Высшее образование - 15, Специальное образование - 10, Среднее образование - 5, Иной - 0.
v Галочка "Я даю согласие на обработку моих личных данных". Выбрана - 4, Не выбрана - 0.
Консольная команда по расчету скоринга, которая будет работать в двух режимах: рассчитать скоринг по всем клиентам; рассчитать скоринг по одному клиенту (принимает в качестве аргументов его id).
Результатом выполнения команды будет: актуальный скоринг в базе данных; вывод скоринга с детализацией по правилам в консоль.
5) Используем шаблон “Symfony”. Инициализируем файл конфигурации сайта - index.php (рисунок 15)
Рисунок 15 Конечное содержание index.php
6) Создаём приватный репозиторий на GitHub. Перетаскиваем имеющиеся файлы в окно добавления файлов, либо выбираем вручную через проводник, предварительно нажав кнопку “choose your files” (рисунок 16).
Рисунок 16 Окно добавления файлов в репозиторий
7) После добавления файлов, прокручиваем страницу ниже и нажимаем кнопку “Commit changes”. Данное действие записывается в историю изменений репозитория (рисунок 17).
Рисунок 17 Запись о внесённых изменениях в основную ветку
8) Открываем участникам группы доступ в репозиторий. Переходим в раздел “Settings”, далее выбираем “Manage access”. В открывшемся окне, нажимаем “Invite a collaborator”. Вводим имя тех, кого будем приглашать и нажимаем “Add `имя пользователя' to this repository” (рисунок 18).
Рисунок 18 Приглашение в репозиторий
9) Человек получает уведомлению на электронную почту с возможностью принять и перейти в указанный репозиторий (рисунок 19). После принятия приглашение, репозиторий становится доступным для открытия в боковом меню, где перечислены другие имеющиеся репозитории.
Рисунок 19 Приглашение присоединиться к репозиторию
10) Распределяем роли между участниками группы и переходим на удалённую основу. По завершении своей задачи, каждый самостоятельно добавляет изменения в репозиторий. В случае возникновения проблемы или новой идеи, создаётся ветка при добавление новых файлов (рисунок 20). Кнопка “Commit changes” сменилась на “Propose changes”, нажимаем на неё.
Рисунок 20 Создание новой ветки
11) После решения проблемы отправляем запрос на слияние веток. Для этого открываем “Pull request”, выбираем ту ветку, где проблема решена, нажимаем “Compare & pull request”. (рисунок 21).
Рисунок 21 Окно pull requests
12) Добавляем в описание о решение проблемы и отправляем запрос на слияние нажатием на кнопку “Create pull request”.
13) Научный руководитель при отсутствии разногласий, делает слияние ветки-pull request и master-ветки. Нажимаем на кнопку “Merge pull request” (рисунок 22).
Рисунок 22 Слияние веток
Отдельной возможностью можно выделить возможность делать объявления. Содержащие полезную информацию, возможные предстоящие изменения и т.д. (рисунок 23).
Рисунок 23 Создание объявления
В завершение хотим немного советов, которые могут пригодиться в любой момент.
1) Рецепт создания пустого репозитория на сервере через терминал
repo="repo.git"
mkdir $repo
cd $repo
git init --bare
chown git. -R./
cd../
2) Заполнение файла настройка.gitconfig
[core]
quotepath = false
pager = less -r
abbrev = 8
editor = nano -ixO -r72
[format]
pretty = Commit: %h%d%nAuthor: %an <%ae> %nDate: %ad%C(reset)%n%n%w(72,2,2)%s%n%n%w(0,2,2)%-b%n
[user]
name = <Firstname> <Surname>
email = <username@email.com>
signingkey = <key>
[push]
default = simple
[color "branch"]
current = 207 bold
local = 40 bold
remote = 203 bold
[color "diff"]
meta = 207 bold
frag = 207 bold
old = 203 bold
new = 40 bold
whitespace = 40 reverse
[color "status"]
added = 40 bold
changed = 207 bold
untracked = 203 bold
3) Замена автора коммита
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="username@examole.com"
CORRECT_NAME="Alex Kenway”
CORRECT_EMAIL="ctudebeker@ya.ru"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
Заключение
В заключении можно сказать, что не только выбранная нами онлайн-платформа GitHub может удовлетворить запросы в совместной проектной деятельности учащихся. Так же, любая из представленных онлайн-платформ, может быть использована в повседневной жизни, как хранилище информации, как оповещения или как простой блокнот.
Информационный прогресс не стоит на месте и вполне вероятно, появятся новые платформы, более подходящие под основные задачи обучения, с упрощенным интерфейсом и не требующих дополнительного обучения, чтобы начать применение для совместной проектной деятельности.
Осмелюсь предположить, неизменным останется процесс организации совместной работы учащихся над проектом, независимо от задач, целей, проблемы или же ограниченности проведения деятельности в рамках одной темы без использования сторонних ресурсов.
Что же касаемо GitHub - онлайн-платформа, не смотря на сложный функционал и отсутствие русского языка - может стать незаменимым помощником и ассистентом. А если заняться изучением языков программирования с дальнейшими планами устройства в IT-компанию, то без системы Git будет проблематично. Знание и умение пользоваться онлайн-платформой GitHub и подобных ей, может повлиять на решение работодателя о приёме на должность в вашу сторону.
Цели, поставленные в начале дипломный работы выполнены в полном объёме. Удалось достигнуть решения поставленных задач.
Список использованных источников
1. Босова, Л. Л. Информатика 7 класс / Л. Л. Босова. Москва: БИНОМ. Лаборатория знаний, 2020. 208 с.
2. Босова, Л. Л. Информатика 7-9 классы. Методическое пособие / Л.Л. Босова. Москва: БИНОМ. Лаборатория знаний, 2017. 384 с.
3. Босова, Л. Л. Информатика 8 класс / Л.Л. Босова. Москва: БИНОМ. Лаборатория знаний, 2013. 155 с.
4. Вайндорф-Сысоева, М. Е. Педагогика / М. Е. Вайндорф-Сысоева, Л. П. Крившенко. Москва: Юрайт, 2012. 197 с.
5. Вахтеров, В. О новой педагогике / В. Вехтеров. Москва: Карапуз, 2008. 224 с.
6. Галагузова, М. А. Социальная педагогика. Курс лекций / М. А. Галагузова [и др.]. Москва: Владос, 2001. 416 с.
7. Голованова, Н. Ф. Педагогика / Н. Ф. Голованова. Москва: Академия, 2012. 240 с.
8. Гордеева, А. В. Реабилитационная педагогика / А. В. Гордеева. Москва: Академический проект «Парадигма», 2005. 320 с.
9. Житомирский, К. Г. Эмансипация педагогики / К. Г. Житомирский. Москва: Янус-К, 2002. 280 с.
10. Каменская, Е. Н. Педагогика. Конспект лекций / Е. Н. Каменская. Ростов-на-Дону: Феникс, 2009. 224 с.
11. Коджаспирова, Г. М. Педагогика. Практикум и методические материалы / Г. М. Коджаспирова. Москва: Владос, 2003. 416 с.
12. Коржуев, А. В. Общенаучные основы педагогики и педагогического поиска / А. В. Коржуев, А. Р. Садыкова. Москва: Либроком, 2010. 304 с.
13. Кравцова, Е. Е. Педагогика и психология / Е. Е. Кравцова. Москва: Форум, 2009. 384 с.
14. Крысько, В. Г. Психология и педагогика / В. Г. Крысько. Москва: Юрайт, 2013. 480 с.
15. Марцинковская, Т. Д. Психология и педагогика / Т. Д. Марциновская, Л. А. Григорович. Москва: Проспект, 2010. 464 с.
16. Милорадова, Н. Г. Психология и педагогика / Н. Г. Милорадова. Москва: Гардарики, 2009. 336 с.
17. Морева, Н. А. Педагогика среднего профессионального образования. В 2 томах. Том 1. Дидактика /. Н. А. Морева - Москва: Академия, 2008. 432 с.
18. Назарова, Н. М. Сравнительная специальная педагогика / Н. М. Назарова, Е. Н. Моргачева, Т. В. Фуряева. Москва: Академия, 2012. 336 с.
19. Островский, Э.В., Чернышова Л.И. Психология и педагогика / Э. В. Островский, Л. И. Чернышева. Москва: Инфра-М, 2010. 384 с.
20. Пащенко, О. И. Информатизация учебно-воспитательного процесса в образовательных учреждениях / О. И. Пащенко. Москва: Тюмень: ТОГИРРО, 2020. - 603 c.
21. Педагогика. Полный курс / Под ред. Ритерман Т. П. Москва: АСТ, У-Фактория, ВКТ, 2009. 96 с.
22. Подласый, И. П. Педагогика. В 3 книгах. Книга 3 / И. П. Подласый. Москва: Владос, 2007. 464 с.
23. Пономарева, М. А. Общая психология и педагогика / М. А. Пономарева, М. В. Сидорова. Москва: ТетраСистемс, 2010. 144 с.
24. Сазонова, Н. П. Дошкольная педагогика. Курс лекций / Н. П. Сазонова. Москва: Детство-Пресс, 2010. 272 с.
25. Седова, Н. Е. Основы практической педагогики / Н. Е. Сазонова. Москва: Сфера, 2008. 192 с.
26. Семья: Психология, педагогика, социальная работа / Под ред. Реана А. А. Москва: АСТ, 2010. 576 с.
27. Сластенин, В. А. Педагогика / В. А Сластенин [и др.]. Москва: Академия, 2013. 496 с.
28. Столяренко, Л. Д. Педагогика / Л. Д. Столяренко. Ростов-на-Дону: Феникс, 2003. 448 с.
29. Угринович, Н. Д. Информатика 10-11 класс / Н. Д. Угринович. Москва: Бином. Лаборатория знаний, 2007. 511 c.
30. Федоров, А. Н. Педагогика. Самое важное / А. Н. Федоров. Москва: РГ-Пресс, 2012. 2 с.
31. O'Sullivan, B. R. Mercurial: The Definitive Guide / B. R. O'Sullivan // Mercurial: The Definitive Guide. 2009. № 6. URL: http://hgbook.red-bean.com/ (дата обращения: 19.11.2020).
Размещено на Allbest.ru
Подобные документы
Разработка программы, выводящую на экран сообщение "Hello World!". Построение синтаксических и лексических анализаторов. Приобретение лицензии Studio XE для Linux и С++ Studio для Win. Общее представление о SSE. Сравнение репозиториев github и bitbucket.
курсовая работа [3,9 M], добавлен 09.06.2015Сущность управления проектами, этапы его реализации и необходимые для этого знания, порядок составления и назначение Плана управления проектом. Концепция тройственной ограниченности. Использование программы MS Oficce Project в управлении проектами.
реферат [24,9 K], добавлен 16.11.2009Основы криптографических систем. Алгоритм создания открытого и секретного ключей. Схема передачи шифрованной информации и алгоритм для цифровой подписи. Преимущества и недостатки системы RSA. Основные формулы для создания RSA-ключей шифрования.
курсовая работа [683,6 K], добавлен 18.12.2011Применение тестовых заданий на уроках информатики. Основные виды тестовых заданий. Подбор тестовых заданий по темам курса информатики. Программные продукты для разработки и создания тестовых заданий. Общие правила оформления компьютерных тестовых заданий.
курсовая работа [2,2 M], добавлен 28.09.2011Создание простой в использовании онлайн записной книжки, позволяющей вести записи, хранить файлы и создавать напоминания. Характеристика пользователей. Требования к системе. Проектная команда, система управления проектом. Реализация логики работы системы.
курсовая работа [391,8 K], добавлен 16.02.2016Описание программы Microsoft Project 2003, ее практическое применение в управлении. Основы теории управления проектами. Вводный курс, обучающий работе в MS Project. Принципы регулирования степени риска, особенности проведения контроля качества в проекте.
контрольная работа [13,0 K], добавлен 24.09.2014Предмет и задачи информатики, ее место в процессе управления. Метод и средства преобразования информации для использования ее в организации технологического процесса переработки информации. Улучшение работы предприятия с помощью информационных технологий.
курсовая работа [943,2 K], добавлен 01.05.2009Идеи по использованию сервисов поисковой системы Google для совместной работы с учащимися в блоге "Учимся с Google". Организация коллективной деятельности с помощью сервисов Google. Характеристика функций основных сервисов, их достоинства и недостатки.
реферат [24,5 K], добавлен 27.11.2012Основы организации и формы внеклассной работы по информатике. Разработка внеклассного мероприятия по информатике через деловую игру. Деловая игра в практике внеклассного занятия. Общие положения, этапы и содержание деловой игры "Чья фирма успешнее?".
курсовая работа [57,3 K], добавлен 18.09.2010Принципы создания электронного пособия по информатике. Требования к электронному учебнику, режим его работы и содержание. Достоинства и недостатки дистанционного обучения с использованием электронных учебников. Анализ электронных учебников Казахстана.
дипломная работа [552,2 K], добавлен 23.04.2015