Модуль 1
174,00ч

Алгоритмы и структуры данных на Python и SQL

Модуль знакомит с алгоритмами и структурами данных на языке Python, с проектированием реляционных данных и построением запросом на языке SQL. Будут изучена среда разработки Jupyter Notebook на Python с применением библиотек NumPy и pandas. Рассматриваются алгоритмы разведочного анализа данных, работа с временными рядами. Изучаются среды проектирования и организации хранения и работы с большими объемами сложно структурированных данных. В модуле будут рассмотрены примеры промышленных реляционных СУБД и NoSQL хранилищ.
Часов в программе
34,00 часа
лекции
68,00 часов
практика
68,00 часов
самостоятельная
4,00 часа
промежуточная аттестация
174,00 часа
всего
Материально-технические условия реализации программы:
Вид занятий: Выполнение практических заданий
Требуемое ПО:
Операционная система:
Windows - 64-битная x86, 32-битная x86; MacOS - 64-битная x86; Linux - 64-битная x86, 64-битная Power8 / Power9
online.ifmo.ru - облачный сервис, предоставляющий возможность работы с хранилищами данных
https://online.ifmo.ru/pls/apex - Oracle Apex
https://online.ifmo.ru/mongo/ - MongoDb
https://online.ifmo.ru/cassandra/ - Apach Cassandra
https://online.ifmo.ru/pgadmin4/ - PostgreSQL
Альтернативное программное обеспечение доступно по ссылкам:
https://sandbox.neo4j.com - Neo4j
https://www.postgresql.org/download/windows/ - PostgreSQL
https://www.oracle.com/database/technologies/xe-downloads.html - Oracle Express
https://redis.io/download - Redis
https://www.mongodb.com/try/download - MongoDb
https://cassandra.apache.org/download/ - Cassandra
https://neo4j.com/download/ - Neo4j
https://colab.research.google.com — облачная среда для работы с кодом Python в браузере.
http://www.numpy.org — библиотека на языке программирования Python, добавляющая поддержку больших многомерных массивов и матриц.
https://pandas.pydata.org — библиотека на языке программирования Python для обработки и анализа данных.
https://matplotlib.org — библиотека на языке программирования Python для построения графиков.
Вид занятий: Просмотр онлайн лекций
Требуемое ПО:
Web-браузер - любой из перечисленных:
Chrome, Safari, Internet Explorer
Для работы с текстовыми материалами Adobe Acrobat Reader DC
Вид занятий: Самостоятельная работа
Требуемое ПО:
Операционная система:
Windows - 64-битная x86, 32-битная x86; MacOS - 64-битная x86; Linux - 64-битная x86, 64-битная Power8 / Power9
online.ifmo.ru - облачный сервис, предоставляющий возможность работы с хранилищами данных
https://online.ifmo.ru/pls/apex - Oracle Apex
https://online.ifmo.ru/mongo/ - MongoDb
https://online.ifmo.ru/cassandra/ - Apach Cassandra
https://online.ifmo.ru/pgadmin4/ - PostgreSQL
Альтернативное программное обеспечение доступно по ссылкам:
https://sandbox.neo4j.com - Neo4j
https://www.postgresql.org/download/windows/ - PostgreSQL
https://www.oracle.com/database/technologies/xe-downloads.html - Oracle Express
https://redis.io/download - Redis
https://www.mongodb.com/try/download - MongoDb
https://cassandra.apache.org/download/ - Cassandra
https://neo4j.com/download/ - Neo4j
https://colab.research.google.com — облачная среда для работы с кодом Python в браузере.
http://www.numpy.org — библиотека на языке программирования Python, добавляющая поддержку больших многомерных массивов и матриц.
https://pandas.pydata.org — библиотека на языке программирования Python для обработки и анализа данных.
https://matplotlib.org — библиотека на языке программирования Python для построения графиков.
Информационные ресуры
https://online.ifmo.ru/pls/apex - Oracle Apex
https://online.ifmo.ru/mongo/ - MongoDb
https://online.ifmo.ru/cassandra/ - Apach Cassandra
https://online.ifmo.ru/pgadmin4/ - PostgreSQL
Альтернативное программное обеспечение доступно по ссылкам:
https://sandbox.neo4j.com - Neo4j
https://www.postgresql.org/download/windows/ - PostgreSQL
https://www.oracle.com/database/technologies/xe-downloads.html - Oracle Express
https://redis.io/download - Redis
https://www.mongodb.com/try/download - MongoDb
https://cassandra.apache.org/download/ - Cassandra
https://neo4j.com/download/ - Neo4j
https://colab.research.google.com — облачная среда для работы с кодом Python в браузере.
http://www.numpy.org — библиотека на языке программирования Python, добавляющая поддержку больших многомерных массивов и матриц.
https://pandas.pydata.org — библиотека на языке программирования Python для обработки и анализа данных.
https://matplotlib.org — библиотека на языке программирования Python для построения графиков.
Образовательные ресуры
https://www.google.com/intl/ru_ru/sheets/about/ — документация по работе с электронными таблицами
https://support.google.com/docs/topic/9054603?hl=ru&ref_topic=1382883 — основы работы с Google Таблицы
https://oracleplsql.ru/postgresql-manual.html — PostgreSQL учебник
http://www.orasql.ru/sqltut.html — Учебник по Oracle SQL
https://snakify.org/ru/ - интерактивный учебник Python
https://pep8.ru/doc/tutorial-3.1/ - учебник по языку Python

Учебно-методические материалы

Методы, формы и технологии

Обучение происходит в смешанном формате. Модуль реализуется с помощью :
- онлайн лекций на платформе Открытое образование,
- установочных лекций через видеоконференции Zoom,
- практических заданий с автоматизированной системой проверки,
- мастер-классов и консультаций через видеоконференции Zoom,
- проверочной работы, выполняемой с системой прокторинга.
Послу установочной лекции слушатели изучают материалы онлайн курса, выполняют обучающие и проверочные задания. Регулярно устраиваются мастер-классы и консультации по материалам модуля.

Методические разработки

Обучающие материалы модуля представлены в виде видеолекций, текстовых материалов, обучающих инструкций, размещенных на платформе Открытое образование.

Материалы курса

видео-лекции
текстовые материалы лекций
инструкции для выполнения заданий
обучающие задания с автоматизированой системой проверки и подсказками
проверочные задания с автоматизированой системой проверки

Учебная литература

1) СУБД: язык SQL в примерах и задачах [Электронный ресурс] : учеб. пособие / И.Ф. Астахова [и др.]. — Электрон. дан. — Москва : Физматлит, 2009. — 168 с. — Режим доступа: https://e.lanbook.com/book/2101
2) Брешенков, А.В. Практическое освоение основных возможностей СУБД Oracle Database 10g [Электронный ресурс] : метод. указ. / А.В. Брешенков, А.М. Губарь. — Электрон. дан. — Москва : МГТУ им. Н.Э. Баумана, 2015. — 17 с. — Режим доступа: https://e.lanbook.com/book/103556
3) Анализ данных : учебник для академического бакалавриата / В. С. Мхитарян [и др.] ; под ред. В. С. Мхитаряна. — М. : Издательство Юрайт, 2018. — 490 с. — (Серия : Бакалавр. Академический курс). — ISBN 978-5-534-00616-2. — Режим доступа : www.biblio-online.ru/book/CC38E97A-CCE5-4470-90F1-3B6D35ACC0B4.
4) Миркин, Б. Г. Введение в анализ данных : учебник и практикум / Б. Г. Миркин. — М. : Издательство Юрайт, 2018. — 174 с. — (Серия : Авторский учебник). — ISBN 978-5-9916-5009-0. — Режим доступа : www.biblio-online.ru/book/46A41F93-BC46-401C-A30E-27C0FB60B9DE.

Темы

Введение в науку о данных Алгоритмы первичной обработки данных Введение в язык программирования Python Структуры данных в Python. Библиотека pandas для работы с данными в Python Визуализация данных. Библиотека matplotlib Анализ и преобразование данных, библиотеки в Python Работа с временными рядами, библиотеки в Python Системы управления базами данных Использование языка SQL (DDL) для создания структур данных Запросы на языке SQL (DML) Объекты базы данных NoSQL хранилища Хранилища класса ключ-значение на примере системы Redis Документные хранилища на примере MongoDB Колоночные хранилища на примере Cassandra Графовые хранилища данных на примере Neo4j
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Лекции
4,00ч
Практические занятия
8,00ч
Самостоятельная работа
8,00ч
Всего
20,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Лекции
2,00ч
Практические занятия
4,00ч
Самостоятельная работа
4,00ч
Всего
10,00ч
Промежуточная аттестация 4,00 часа
В качестве промежуточной аттестации слушатели должны выполнить 5 заданий, включающих в себя формирование запросов к данным на языке SQL, скачивание данных по заданным параметрам из реляционного и нереляционного хранилища , преобразование датасета из указанного источника, визуализация, определение тренда временного ряда.

Пример задания промежуточной аттестации:
1) В файле данных приведена статистика заболеваемости свинкой по странам и регионам за 2010-2018 годы.
Постройте столбчатую диаграмму по количеству заболевших за 2010-2018 годы для страны Argentina.
Какой из рисунков в файле соответствует построенной диаграмме? Введите номер рисунка:
2) В файле Субъекты РФ.csv приведены данные по потреблению электроэнергии по субъектам Российской Федерации в млн.кВт.час. В файле Регионы РФ.csv хранится список регионов РФ и субъектов РФ.
Сосчитайте суммарное потребление электроэнергии в 2005 году по округу Северо-Западный:

Для доступа ко всем заданиям аттестации перейдите по ссылке: https://courses.openedu.ru/courses/course-v1:ITMOUniversity+DATANTECH2035+cifru_2035/courseware/16463d231909400498b55f1e27ff9fa9/c02500091dc949b6b0ad69288abcf63b/1?activate_block_id=block-v1%3AITMOUniversity%2BDATANTECH2035%2Bcifru_2035%2Btype%40vertical%2Bblock%409301dac8c12348948186925ce24f20cb

Внимание! Для доступа к материалам курса нужна регистрация слушателей. Для проверки курса мы создали тестовую учетную запись на платформе Открытое образование:
https://courses.openedu.ru/courses/course-v1:ITMOUniversity+DATANTECH2035+cifru_2035/course/
Login dc@itmo.ru
Password 43cdf_dc