Практикум на ЭВМ (417)/2017
Материал из MachineLearning.
(→Занятия) |
(→Правила игры) |
||
(20 промежуточных версий не показаны.) | |||
Строка 3: | Строка 3: | ||
* Преподаватели: [[Участник:AIM|Майсурадзе Арчил Ивериевич]]. | * Преподаватели: [[Участник:AIM|Майсурадзе Арчил Ивериевич]]. | ||
* В 2017 году занятия проходят по понедельникам с 14:35 до 16:10 в 582 аудитории. | * В 2017 году занятия проходят по понедельникам с 14:35 до 16:10 в 582 аудитории. | ||
+ | |||
+ | [http://trjudge.cs.msu.ru Система для сдачи заданий] | ||
== Занятия == | == Занятия == | ||
Строка 9: | Строка 11: | ||
!Дата !! № занятия !! Тема !! Материалы !! Задания | !Дата !! № занятия !! Тема !! Материалы !! Задания | ||
|- | |- | ||
- | | rowspan=2| 4 сентября | + | |
+ | | rowspan=2| 4 сентября 2017 || rowspan=2 align="center"|1 || Предисловие и инструктаж || [https://docs.google.com/presentation/d/1JIxSOH2cTErypf-4XBt4hNszij9J_Yh_VrjfUgzF3tc/edit#slide=id.p3 слайды] || rowspan=2| | ||
|- | |- | ||
| Информация о курсе || [https://docs.google.com/presentation/d/1hhVACj649JJDPg8sYJf3fQ8Zl4I2aML8BqweELKqavg/edit#slide=id.p4 слайды] | | Информация о курсе || [https://docs.google.com/presentation/d/1hhVACj649JJDPg8sYJf3fQ8Zl4I2aML8BqweELKqavg/edit#slide=id.p4 слайды] | ||
|- | |- | ||
- | | rowspan=2| 11 сентября | + | |
+ | | rowspan=2| 11 сентября 2017 || rowspan=2 align="center"|2 || Введение || [https://docs.google.com/presentation/d/12rJfvhNsFoX237wGXp_QeEMlhQ8nbhirLfzy4IDcbp8/edit?usp=sharing слайды] || rowspan=2| | ||
|- | |- | ||
| Моделирование || [https://docs.google.com/presentation/d/1F2JDEYf9QXJA1YQLTHt4kSgHfvy-lbANNGBM2o420jM/edit?usp=sharing слайды] | | Моделирование || [https://docs.google.com/presentation/d/1F2JDEYf9QXJA1YQLTHt4kSgHfvy-lbANNGBM2o420jM/edit?usp=sharing слайды] | ||
+ | |- | ||
+ | |||
+ | || 18 сентября 2017 || align="center"|3 || Основы SQL, Задание 1 || [https://docs.google.com/presentation/d/1HQAYqNQ0aipH1VNwN7iegZr883WispidSmPRYDp_LpU/edit?usp=sharing слайды] || | ||
+ | |- | ||
+ | |||
+ | | rowspan=2| 25 сентября 2017 || rowspan=2 align="center"|4 || Модификация множества значений || [https://docs.google.com/presentation/d/1CHdaYBFkSDU2Ok8jAdoeM_-iLMT5qWy8VamkRmi4rFQ/edit?usp=sharing слайды] || rowspan=2| | ||
+ | |- | ||
+ | | Подзапросы, группирование, Задание 2 || [https://docs.google.com/presentation/d/1e7D4VyUM6053l3t6eTXcZTbBUI-0hjIPgo_5uBGtMSc/edit?usp=sharing слайды] | ||
+ | |- | ||
+ | |||
+ | || 2 октября 2017 || align="center"|5 || Основы Join, Задание 3 || [https://docs.google.com/presentation/d/1et2Vb2uctUg7rxLiTXdL-j3ULw68bAJf3ySt6eR9TZo/edit#slide=id.p слайды] || | ||
+ | |- | ||
+ | |||
+ | || 9 октября 2017 || align="center"|6 || Разбор заданий 1-3 || || | ||
+ | |- | ||
+ | |||
+ | || 16 октября 2017 || align="center"|7 || Разное использование подзапросов, Задание 4 || [[Media:Разное_использование_подзапросов.pdf| слайды]] || | ||
+ | |- | ||
+ | || 23 октября 2017 || align="center"|8 || Параллельные вычислительные системы || || | ||
+ | |- | ||
+ | || 30 октября 2017 || align="center"|9 || Pandas и SQL, Задание 5 || || | ||
+ | |- | ||
+ | || 13 ноября 2017 || align="center"|10 || Закрепление решением задач, Задание 6 || || | ||
+ | |- | ||
+ | | rowspan=2| 20 ноября 2017 || rowspan=2 align="center"| 11 || Модели данных || [https://docs.google.com/presentation/d/1PH8_2eo5EyJV6xrQSCud8Vr_OiMaAWTT7-qjuc3jBdA/edit?usp=sharing слайды] || rowspan=2| | ||
+ | |- | ||
+ | | Выдача заданий 7 и 8 || [https://docs.google.com/presentation/d/1KSeaiwkLSluLzgAq3Li48eAKfb-5GwpEoDshUhx5bLY/edit?usp=sharing слайды] | ||
+ | |- | ||
+ | || 27 ноября 2017 || align="center"|12 || Защита задания 7 || || | ||
+ | |- | ||
+ | || 4 декабря 2017 || align="center"|13 || Защита задания 8 || || | ||
|- | |- | ||
|} | |} | ||
Строка 22: | Строка 57: | ||
Задания указаны в расписании занятий. Всего будет 8 заданий, из которых 2 последних будут творческие и будут защищаться группам. Первые 6 заданий состоят из 3 задач, сдаваемых через систему. Сдавать каждую задачу до срока №1 можно только один раз. При верном ответе студент получает за неё 1 балл. При неверном ответе - крестик. После срока №2 задача снова становится доступной для сдачи без ограничения попыток; до конца семестра все крестики требуется закрыть, при этом за сданные задания студент получает 0 баллов. За творческие задания можно суммарно заработать 6 баллов, итого максимально возможный балл - 24. | Задания указаны в расписании занятий. Всего будет 8 заданий, из которых 2 последних будут творческие и будут защищаться группам. Первые 6 заданий состоят из 3 задач, сдаваемых через систему. Сдавать каждую задачу до срока №1 можно только один раз. При верном ответе студент получает за неё 1 балл. При неверном ответе - крестик. После срока №2 задача снова становится доступной для сдачи без ограничения попыток; до конца семестра все крестики требуется закрыть, при этом за сданные задания студент получает 0 баллов. За творческие задания можно суммарно заработать 6 баллов, итого максимально возможный балл - 24. | ||
- | Зачёт ставится при отсутствии у студентов крестиков. Для оценки отлично требуется набрать не менее 19.2 баллов. Для оценки хорошо требуется набрать не менее 12 баллов. Для оценки удовлетворительно достаточно избавиться от крестиков. | + | Зачёт ставится при отсутствии у студентов крестиков. Для оценки отлично требуется набрать не менее 80% (19.2) баллов. Для оценки хорошо требуется набрать не менее 50% (12) баллов. Для оценки удовлетворительно достаточно избавиться от крестиков. |
- | + | Согласно последней информации: | |
+ | * задание 4 учитываться не будет (подарок) | ||
+ | * задание 5 и 6, т.к. состояли из 6 задач каждое, оцениваются соответственно в 6 баллов. | ||
- | + | Соответственно, максимальное количество баллов - 27. На "5" требуется более 21.6 баллов. На "4" нужно не менее 13.5 баллов. На "3" всё ещё нужно избавиться от крестиков. | |
+ | |||
+ | == План занятий == | ||
=== Занятие 1 === | === Занятие 1 === | ||
Строка 32: | Строка 71: | ||
=== Занятие 2 === | === Занятие 2 === | ||
- | Введение в бизнес-анализ данных. SQL, его роль в информационно-аналитических системах. Модели в науке и ИТ | + | Введение в бизнес-анализ данных. SQL, его роль в информационно-аналитических системах. Модели в науке и ИТ. |
=== Занятие 3 === | === Занятие 3 === | ||
- | + | SQL как язык работы с данными: запросы, DDL, DML. Понятие таблицы в реляционной модели. Первичный ключ. Основы работы в Workbench: схемы, таблицы, создание таблиц из интерфейса, создание запроса. Первый запрос данных из таблицы, остановка слишком долгого запроса. Первое определение таблицы (CREATE TABLE). Создать новую таблицу как результат запроса данных (CREATE TABLE as SELECT). Вставить новые строки в существующую таблицу (INSERT). Типы данных. Числовой тип. Дата и время. Строки. Неявное преобразование типов. Базовый запрос SELECT. Именование столбцов (AS). Ограничение размера ответа (LIMIT, TOP). Фильтрация (WHERE). NULL. Отбрасывание дубликатов (DISTINCT). Функции над значениями одного элемента. Условный оператор (CASE). Операции с датами. Операции со строками. Упорядочивание (ORDER BY). Функции агрегации. Домашнее задание 1. | |
=== Занятие 4 === | === Занятие 4 === | ||
- | + | О числе возвращаемых строк. Подзапросы в IN. Подзапросы в FROM. Группирование по категориям (GROUP BY). Фильтрация по категориям (HAVING). Общий вид SELECT от одной таблицы. Домашнее задание 2. | |
=== Занятие 5 === | === Занятие 5 === | ||
- | Начинаем изучать отношения между несколькими таблицами. Описание новых таблиц в учебной БД. Логическая модель данных в учебной БД. Декартово произведение множеств. Декартово произведение таблиц. Сравнение декартова произведения множеств и таблиц. Соединение двух таблиц: общий взгляд. Соединение таблиц в SQL. Соединение CROSS JOIN. Соединение с фильтром INNER JOIN. Соединение LEFT JOIN. Соединение RIGHT JOIN. Соединение FULL JOIN. Домашнее задание 3. | + | Начинаем изучать отношения между несколькими таблицами. Описание новых таблиц в учебной БД. Логическая модель данных в учебной БД. Декартово произведение множеств. Декартово произведение таблиц. Сравнение декартова произведения множеств и таблиц. Соединение двух таблиц: общий взгляд. Соединение таблиц в SQL. Соединение CROSS JOIN. Соединение с фильтром INNER JOIN. Соединение LEFT JOIN. Соединение RIGHT JOIN. Соединение FULL JOIN. Домашнее задание 3. |
=== Занятие 6 === | === Занятие 6 === | ||
- | + | Закрепление пройденного материала. Разбор задач и типичных ошибок из заданий 1-2. | |
=== Занятие 7 === | === Занятие 7 === | ||
- | + | Объединение множеств. Оператор UNION. Арифметическая сумма мультимножеств. Оператор UNION ALL. Разность множеств. Реализация разности множеств через IN. Реализация разности множеств через JOIN. Условия ANY и ALL. Связанные подзапросы. Условие EXISTS. Домашнее задание 4. | |
=== Занятие 8 === | === Занятие 8 === | ||
- | + | Аналитическая ценность информации. Рост объёма ценной информации. Параллельные вычислительные системы, типы систем (ASMP, SMP, MPP). Массивно-параллельная архитектура. Ключ распределения таблицы. Redistribute Motion, Broadcast Motion. Отказоустойчивая архитектура. Различия синтаксиса PostgreSQL и MySQL. Особенности DDL для MPP системы (distributed by, partition by). | |
- | + | ||
- | + | ||
- | + | ||
=== Занятие 9 === | === Занятие 9 === | ||
- | + | SQL и PandasSQL. Сравнение одних и тех же конструкций в Pandas и SQL. Исполнение SQL-запросов в Pandas. Домашнее задание 5. | |
=== Занятие 10 === | === Занятие 10 === | ||
- | + | Закрепление пройденного. Решения задач на SQL и PandaSQL. Домашнее задание 6. | |
- | === Занятие | + | === Занятие 11 === |
Виды моделей данных. Модель «сущность-связь» (ER-модель). Виды отношений (связей). Crow’s foot notation. Концептуальная модель данных. Пример для сети ресторанов. Логическая модель данных. Внешний ключ. Развязочная таблица (таблица-связь). Физическая модель данных. Подходы к проектированию логической модели. Модель нормализованная (нормальные формы). Модели Звезда и Снежинка. Slowly Changing Dimension. Модель Data Vault. | Виды моделей данных. Модель «сущность-связь» (ER-модель). Виды отношений (связей). Crow’s foot notation. Концептуальная модель данных. Пример для сети ресторанов. Логическая модель данных. Внешний ключ. Развязочная таблица (таблица-связь). Физическая модель данных. Подходы к проектированию логической модели. Модель нормализованная (нормальные формы). Модели Звезда и Снежинка. Slowly Changing Dimension. Модель Data Vault. | ||
- | === Занятие 11 === | + | === Занятие 11.2 === |
Описание продаж в розничной сети. Проектирование моделей Нормализованная, Звезда, Data Vault. Постановка задания 7. | Описание продаж в розничной сети. Проектирование моделей Нормализованная, Звезда, Data Vault. Постановка задания 7. | ||
- | === Занятие 12 === | + | === Занятие 12.1 === |
- | + | Загрузка данных. Интеграция данных. Проблемы интеграции: несоответствие схем данных, несоответствие собственно данных. Staging Area (плацдарм). Постановка задания 8. | |
+ | |||
+ | === Занятие 12.2 === | ||
+ | Защита задания 7 | ||
=== Занятие 13 === | === Занятие 13 === | ||
- | + | Защита задания 8 | |
- | + | ||
- | + | ||
- | + | ||
==Архив страниц прошлых лет== | ==Архив страниц прошлых лет== |
Текущая версия
- Обязательный курс для студентов кафедры ММП 4 курса, читается в 7 семестре.
- Зачёт с оценкой.
- Преподаватели: Майсурадзе Арчил Ивериевич.
- В 2017 году занятия проходят по понедельникам с 14:35 до 16:10 в 582 аудитории.
Содержание |
Занятия
Дата | № занятия | Тема | Материалы | Задания |
---|---|---|---|---|
4 сентября 2017 | 1 | Предисловие и инструктаж | слайды | |
Информация о курсе | слайды | |||
11 сентября 2017 | 2 | Введение | слайды | |
Моделирование | слайды | |||
18 сентября 2017 | 3 | Основы SQL, Задание 1 | слайды | |
25 сентября 2017 | 4 | Модификация множества значений | слайды | |
Подзапросы, группирование, Задание 2 | слайды | |||
2 октября 2017 | 5 | Основы Join, Задание 3 | слайды | |
9 октября 2017 | 6 | Разбор заданий 1-3 | ||
16 октября 2017 | 7 | Разное использование подзапросов, Задание 4 | слайды | |
23 октября 2017 | 8 | Параллельные вычислительные системы | ||
30 октября 2017 | 9 | Pandas и SQL, Задание 5 | ||
13 ноября 2017 | 10 | Закрепление решением задач, Задание 6 | ||
20 ноября 2017 | 11 | Модели данных | слайды | |
Выдача заданий 7 и 8 | слайды | |||
27 ноября 2017 | 12 | Защита задания 7 | ||
4 декабря 2017 | 13 | Защита задания 8 |
Правила игры
Задания указаны в расписании занятий. Всего будет 8 заданий, из которых 2 последних будут творческие и будут защищаться группам. Первые 6 заданий состоят из 3 задач, сдаваемых через систему. Сдавать каждую задачу до срока №1 можно только один раз. При верном ответе студент получает за неё 1 балл. При неверном ответе - крестик. После срока №2 задача снова становится доступной для сдачи без ограничения попыток; до конца семестра все крестики требуется закрыть, при этом за сданные задания студент получает 0 баллов. За творческие задания можно суммарно заработать 6 баллов, итого максимально возможный балл - 24.
Зачёт ставится при отсутствии у студентов крестиков. Для оценки отлично требуется набрать не менее 80% (19.2) баллов. Для оценки хорошо требуется набрать не менее 50% (12) баллов. Для оценки удовлетворительно достаточно избавиться от крестиков.
Согласно последней информации:
- задание 4 учитываться не будет (подарок)
- задание 5 и 6, т.к. состояли из 6 задач каждое, оцениваются соответственно в 6 баллов.
Соответственно, максимальное количество баллов - 27. На "5" требуется более 21.6 баллов. На "4" нужно не менее 13.5 баллов. На "3" всё ещё нужно избавиться от крестиков.
План занятий
Занятие 1
Предисловие. Инструктаж. Информация о курсе.
Занятие 2
Введение в бизнес-анализ данных. SQL, его роль в информационно-аналитических системах. Модели в науке и ИТ.
Занятие 3
SQL как язык работы с данными: запросы, DDL, DML. Понятие таблицы в реляционной модели. Первичный ключ. Основы работы в Workbench: схемы, таблицы, создание таблиц из интерфейса, создание запроса. Первый запрос данных из таблицы, остановка слишком долгого запроса. Первое определение таблицы (CREATE TABLE). Создать новую таблицу как результат запроса данных (CREATE TABLE as SELECT). Вставить новые строки в существующую таблицу (INSERT). Типы данных. Числовой тип. Дата и время. Строки. Неявное преобразование типов. Базовый запрос SELECT. Именование столбцов (AS). Ограничение размера ответа (LIMIT, TOP). Фильтрация (WHERE). NULL. Отбрасывание дубликатов (DISTINCT). Функции над значениями одного элемента. Условный оператор (CASE). Операции с датами. Операции со строками. Упорядочивание (ORDER BY). Функции агрегации. Домашнее задание 1.
Занятие 4
О числе возвращаемых строк. Подзапросы в IN. Подзапросы в FROM. Группирование по категориям (GROUP BY). Фильтрация по категориям (HAVING). Общий вид SELECT от одной таблицы. Домашнее задание 2.
Занятие 5
Начинаем изучать отношения между несколькими таблицами. Описание новых таблиц в учебной БД. Логическая модель данных в учебной БД. Декартово произведение множеств. Декартово произведение таблиц. Сравнение декартова произведения множеств и таблиц. Соединение двух таблиц: общий взгляд. Соединение таблиц в SQL. Соединение CROSS JOIN. Соединение с фильтром INNER JOIN. Соединение LEFT JOIN. Соединение RIGHT JOIN. Соединение FULL JOIN. Домашнее задание 3.
Занятие 6
Закрепление пройденного материала. Разбор задач и типичных ошибок из заданий 1-2.
Занятие 7
Объединение множеств. Оператор UNION. Арифметическая сумма мультимножеств. Оператор UNION ALL. Разность множеств. Реализация разности множеств через IN. Реализация разности множеств через JOIN. Условия ANY и ALL. Связанные подзапросы. Условие EXISTS. Домашнее задание 4.
Занятие 8
Аналитическая ценность информации. Рост объёма ценной информации. Параллельные вычислительные системы, типы систем (ASMP, SMP, MPP). Массивно-параллельная архитектура. Ключ распределения таблицы. Redistribute Motion, Broadcast Motion. Отказоустойчивая архитектура. Различия синтаксиса PostgreSQL и MySQL. Особенности DDL для MPP системы (distributed by, partition by).
Занятие 9
SQL и PandasSQL. Сравнение одних и тех же конструкций в Pandas и SQL. Исполнение SQL-запросов в Pandas. Домашнее задание 5.
Занятие 10
Закрепление пройденного. Решения задач на SQL и PandaSQL. Домашнее задание 6.
Занятие 11
Виды моделей данных. Модель «сущность-связь» (ER-модель). Виды отношений (связей). Crow’s foot notation. Концептуальная модель данных. Пример для сети ресторанов. Логическая модель данных. Внешний ключ. Развязочная таблица (таблица-связь). Физическая модель данных. Подходы к проектированию логической модели. Модель нормализованная (нормальные формы). Модели Звезда и Снежинка. Slowly Changing Dimension. Модель Data Vault.
Занятие 11.2
Описание продаж в розничной сети. Проектирование моделей Нормализованная, Звезда, Data Vault. Постановка задания 7.
Занятие 12.1
Загрузка данных. Интеграция данных. Проблемы интеграции: несоответствие схем данных, несоответствие собственно данных. Staging Area (плацдарм). Постановка задания 8.
Занятие 12.2
Защита задания 7
Занятие 13
Защита задания 8