Работа с API социальных сетей и облачных сервисов (syllabus)

Материал из Поле цифровой дидактики



Планируемые результаты обучения (Знать, Уметь, Владеть) Целью данного учебного курса является ознакомление студентов педагогического ВУЗа с понятием API (Application Programming Interface) социальных сетей и его применением в образовательной сфере. Особое внимание будет уделено использованию вики площадок и других социальных сетей, связанных с созданием образовательного контента в качестве источников информации.
  • Знает терминологию мира социальных сетевой и социальных сообществ
  • Умеет классифицировать сетевые сообщества по их свойствам
  • Знает возможности облачных образовательных и аналитических сервисов и умеет их использовать
  • Знает основные понятия в области API и умеет или пользоваться
  • Умеет формировать запросы к различным площадкам MediaWiki
  • Умеет преобразовывать результаты запроса в диаграммы при помощи PlantUML
  • Умеет выделять необходимую информацию из ответов на запросы API в различных языках программирования
Содержание разделов курса Содержание
Социальные сети и сетевые сообщества
Создание пользовательского контента. Создание образовательного контента в социальных сетях
Использование облачных сервисов
Примеры использования открытых облачных сервисов. Интеграция облачных сервисов в учебные платформы и системы управления обучением.
Введение в API.
Определение понятия API. Роль в разработке программного обеспечения. Возможности популярных открытых API.
Вики площадки как источники информации
Определение понятия вики и его применение в образовательной сфере. Обзор популярных вики площадок и Википедии. Использование вики площадок и Википедии в качестве источников информации для учебных целей.
Образовательные социальные сети на примере Scratch
Использование Scratch API для получения данных о студиях и участниках
Видео запись
Среды и средства, которые поддерживают учебный курс PlantUML, MediaWiki API, Scratch API, Песочница MediaWiki API
Книги, на которых основывается учебный курс APIs for social scientists: A collaborative review, Mastering Shiny: Build Interactive Apps, Working with MediaWiki


Введение в образовательные социальные сети

  1. Сетевые сообщества и их моделирование
  2. Семинар МГПУ - Большие данные в образовании
  3. Моделирование исторических процессов
  4. Аналитика совместной деятельности и поведения отдельных пользователей
  5. Letopisi 2006 (dataset)
  6. Библиосет: публикационная активность МГПУ
  7. Взаимное копирование МЭШ (датасет)

Ключевые понятия

 Description
Сетевое сообществоСетевое сообщество
Сетевое сообщество – группа людей, поддерживающих общение и / или ведущих совместную сетевую деятельность.
Например, МЭШ является сетевым сообществом, в котором люди совместно создают и используют сценарии уроков, хотя и не ведут общения внутри репозитория. Сходным примером сети являются электронные библиотеки, в которых авторы вместе создают тексты статей и ссылаются на статьи других авторов. При этом иногда в таких библиотеках есть возможность общения, но она используется крайне редко.
 Description
Субъектность продуктивнаяСубъектность продуктивная. Развитие субъектности непосредственно связано с участием в продуктивной деятельности, поскольку именно через участие в продуктивной деятельности люди могут проявить собственную субъектность. Авторы концепции продуктивной субъектности отмечают значение создания продуктов, доступных для обсуждения и критики другими субъектами образования
 Description
Продукт деятельностиПродукт деятельности — результат деятельности субъекта, направленной на изменение объекта. Продукт является вариантом изменения и развития объекта. Продукт может быть записан и сохранен. Сохраненный продукт становится объектом или элементом коллекции (литературы) данного сообщества. Продукт как вариант и элемент коллекции отбирается и используется участниками сообщества в последующей деятельности.
 Description
Субъект коллективныйПонятие Коллективный субъект используется для раскрытия феномена субъектности на уровне групп - динамическая концепция совместной деятельности
 Description
Социальный объектОбъект социальный — конкретный объект, служащий основой для формирования отношений и связей между людьми. Согласно концепции объектной социальности, людей связывают не общие формы деятельности, а конкретные объекты совместной деятельности. Например, статья вики, проект Scratch, модель NetLogo, документ Google. Понятие социальный объект вводит финский исследователь Юрий Энгестрем исходя из того, что основой для формирования отношений и связей между людьми служат не общие формы деятельности, а конкретные объекты.

Сообщества научных статей

 Description
Academia.eduAcademia.edu – социальная сеть для исследователей, где они могут размещать свои опубликованные или готовящиеся к публикации работы, следить за работами других участников, отслеживать цитируемость собственных работ.
Principia Cybernetica WebСообщество исследователей, объединенных идеей метаперехода на уровень суперорганизма, в котором люди объединены телекоммуникационными связями и цифровыми объектами
WikipediaСообщество редакторов всемирной открытой энциклопедии

Сообщества кода

 Description
CoMSESCoMSES Net - Сеть для вычислительного моделирования в социальных и экологических науках. Это - открытое сообщество исследователей и преподавателей. Репозиторий - цифровое хранилище, поддерживающее исследования и передовые методы цитирования программного обеспечения, цифрового хранения, воспроизводимости и повторного использования моделей.
GitHubСоциальная сеть программистов, с возможностью хранить репозиторий проекта и все его изменения. GitHub - контроль доступа, багтрекинг, управлением задачами и вики для каждого проекта. Используется прежде всего для поддержания версий кода
GlitchСообщество для разработки веб-приложений
HabrХабр русскоязычный веб-сайт в формате системы тематических коллективных блогов (именуемых хабами) с элементами новостного сайта, созданный для публикации новостей, аналитических статей, мыслей, связанных с информационными технологиями, бизнесом и интернетом.
Modeling CommonsСообщество, участники которого создают и обмениваются моделями NetLogo.
RobloxRoblox — игровая онлайн-платформа и система создания игр, позволяющая любому пользователю создавать свои собственные и играть в созданные другими игры.
Stack OverFlowСеть создания контента в форме вопросов и ответов о программировании.
Сообщество GeoGebraСоциальная сеть, участники которой обмениваются материалами, созданными при помощи программы GeoGebra
Сообщество NetLogoСообщество пользователей, которые обмениваются моделями, написанными на языке NetLogo.
Сообщество ScratchСетевое сообщество детей и взрослых, обменивающихся своими проектами, написанными на языке Scratch
Сообщество Snap!Сообщество исследователей, учителей и учащихся, использующих в своей деятельности язык Snap! Участники могут делиться своими проектами (Share, Publish). Создавать коллекции проектов, следить с действиями других участников (following)
Сообщество StarLogoСообщества обмена моделями и объектами в среде StarLogo Nova. Участники могут использовать код проектов других участников. Создавать свои коллекции и приглашать других участников к работе над версиями своих проектов.

Введение в API

Определение понятия API и его роль в разработке программного обеспечения. Обзор образовательных социальных сетей и их API.

 Description
APIИнтерфейс прикладного программирования application programming interface (API) - — описание способов взаимодействия одной компьютерной программы с другими. API (интерфейс прикладного программирования) упрощает процесс программирования при создании приложений, абстрагируя базовую реализацию и предоставляя только объекты или действия, необходимые разработчику. Если графический интерфейс для почтового клиента может предоставить пользователю кнопку, которая выполнит все шаги для выборки и выделения новых писем, то API для ввода/вывода файлов может дать разработчику функцию, которая копирует файл из одного места в другое, не требуя от разработчика понимания операций файловой системы.

Использование API социальных сетей в образовательной сфере

Создание приложений, основанных на API социальных сетей, для образовательных целей.

Интеграция API социальных сетей в учебные платформы и системы управления обучением.

http://digida.mgpu.ru/rest.php/v1/page/Papert
Пример того, как можно получить содержание страницы МедиаВики

Существующие на площадке датасеты

Вики площадки как источники информации

  • Определение понятия вики и его применение в образовательной сфере.
  • Обзор популярных вики площадок и Википедии.
  • Использование вики площадок и Википедии в качестве источников информации для учебных целей.
Песочница API на этой площадке

Практические задания

  • Создание простого приложения, использующего API (MediaWiki, Scratch) для получения данных.
  • Поиск и анализ информации на вики площадках и Википедии по заданной теме.

Примеры использования Scratch API

https://en.scratch-wiki.info/wiki/Scratch_API


Сбор и представление информации о конкретном участнике в среде Snap!

Scratch User Snap.png


Сбор и представление информации о конкретном участнике в среде App Inventor

Procedure transformApp.png


Все рецепты, где в названии есть API

 Description
Как дополнить датасет из MediaWiki API в мобильном приложенииУ нас есть датасет, в котором есть названия городов, дополнительная информация (страна и численность жителей). Мы хотим представить эту информацию и дополнить её дополнительными сведениями из MediaWiki. При этом будем использовать MediaWiki API
  • 120px-List_Picker_Wikipedia.png
Как использовать Scratch APIКак использовать внешний API в средах визуального программирования
Как использовать Web API with App InventorОбщие советы о том, как использовать внешний API и во что превращаются данные из JSON
Как использовать песочницу MediaWiki APIСовременные MediaWiki площадки поддерживают не только собственный API, но и инструмент для формирования запросов к нему. В этой статье рассказываются приёмы формирования таких запросов. Обратите внимание, что правила общие для всех площадок - Служебная:ApiSandbox
Как обратиться к API из Snap!Невозможно обратиться напрямую к большинству открытых API из Snap! Но, можно организовать такое обращение и обработку данных из JSON формата
Как представить JSON из API в виде диаграммы PlantUMLМы получаем наборы данных из внешнего API и прежде чем что-то с ними делать хотим посмотреть на их структуру. Для этого использует редактор PlantUML - https://plantuml.com/json
Как собрать данные API запроса в DictionaryПолучили данные запроса к mediawiki api и хотим считать их в Dictionary, чтобы иметь возможность обращаться по ключам.

Критерии оценки по дисциплине

Образовательный результат Тема Задание Пример
  • Знает терминологию мира социальных сетевой и социальных сообществ
  • Умеет классифицировать сетевые сообщества по их свойствам
Социальные сети и сетевые сообщества Создать внутри сетевого сообщества концепт, выделяющий сообщества по определённым свойствам
Знает возможности облачных образовательных и аналитических сервисов и умеет их использовать Использование API социальных сетей в образовательной сфере Задание Пример
Знает основные понятия в области API и умеет или пользоваться Введение в API Задание HTTP, API, JSON, REST, WWW


  • Знает как использовать песочницу MediaWiki
  • Умеет формировать запросы к различным площадкам MediaWiki
  • Умеет преобразовывать результаты запроса в диаграммы при помощи PlantUML
  • Умеет преобразовывать и выделять необходимую информацию из запросов в различных языках программирования App Inventor, Snap! Python
Вики площадки как источники информации
  • Создать запрос в песочнице MediaWiki
  • Представить результаты запроса в виде диаграммы PlantUML
  • Выделить информацию из JSON файа
Умеет собирать информацию об отдельных участникам и группах в социальных сетях (на примере Scratch) Социальная сеть Scratch как источник информации для исследователя
  • Соберите информацию о социальной сети Scratch на основе открытых данных
  • Используйте Scratch API для сбора информации об отдельном участнике и отдельной студии.
  • Представьте информацию об участнике в формате диаграммы PlantUML
  • Проведите максимально полный количественный анализ информации об участнике на основании его Scratch API