Python
Как все это работает? Возможности Python.
Почему все используют Python? Сравнение с другими языками программирования. Как писать программы? Плюсы Python. Как использовать Python в задачах: обработки текстов, работы с изображениями, написании биржевых роботов, запуска чат-ботов. Ввод и вывод в Python. Имена в Python. Базовые операции. Управление ходов выполнения программы (условные конструкции). Примеры простых программ.
Циклы. Строки. Строковые методы.
Цикл с предусловием. Операторы Break и Continue. Цикл For. Устройство строк и длина строки. Элемент строки и как резать строки. Получение подстроки из строки. Обход строки. Срезы.
Кортежи. Списки. Функция map. Генератор списка случайных значений.
Зачем нужны кортежи. Работа со списком. Элементы списка. Печать списка. Корректное копирование списков. Особенности использования функции map. Что такое генераторы случайных значений. Множество. Операции с множествами. Frozenset. Словари. Метод get. Обход словаря.
Функции. Применение математических функций. Области видимости и исключения.
Как правильно писать функции. Простые алгоритмы. Написание первых функций. Как добавить математику. Рекомендации в написании собственных функций. Как работают области видимости. Глобальные переменные. Возврат нескольких значений из функции. Исключения.
Работа с файлами. Матрицы. Виды сортировок
Что можно делать с файлами. Открытие и закрытие файлов. Чтение и запись текстовых файлов. Матрицы. Заполнение матриц. Ввод матриц по строкам. Чтение и запись матриц. Пузырьковая сортировка. Разбор алгоритма. Несколько версий решения.
Обзор библиотеки NumPy. Работа с функциями NumPy. Библиотека SciPY.
Библиотеки Python, их установка. Основные типы данных NumPy. Численные функции. Работа с массивами. Операции с массивами. Двумерные массивы. Матрицы. Основные возможности библиотеки SciPy.
Обзор библиотеки Pandas. Базовая аналитика.
Установка библиотеки. Создание объекта Series. Индексация DataFrame. Таблицы. Чтение-запись файлов. Индексация. Выборка данных. Операции со строками и столбцами. Работа с NaN. Сортировка.
Визуализации данных. Практические примеры
Изучение новых данных, предобработка, визуализация данных, поиск связей между признаками, подготовка данных для обучения и создание моделей прогнозирования кредитного риска. Получение модели, которая отвечает на вопрос: выдавать или не выдавать кредит.
Автоматизация рутинных задач. Практические примеры
Разбор практических примеров автоматизации задач, связанных с получением агрегированной информации из нескольких источников (Excel файлов) или сети интернет.
Обзор методов машинного обучения, применяющихся для Анализа данных. Практические примеры
Практический пример выявления основных признаков и их интерпретация в задаче обучения с учителем.
Промежуточная аттестация по модулю
Промежуточная аттестация проходит в форме зачета (компьютерного тестирования). Образец типового тестового здания:
С помощью какой функции Python можно узнать тип переменной?
Какой диапазон чисел будет создан в следующем коде: range (9, 3, -2)
- 9 8 7 6 5 4 4
- 9 7 5 3
- 9 7 5
- 11 9 8 7 6 5 4
Что позволяет выполнить фрагмент кода, приведенный в листинге?
- Фрагмент кода: print(math.sqrt(2))
- вывод на экран числа 2 из библиотеки math
- подключение библиотеки math
- возведение числа math в квадрат
- вывод на экран квадратного корня из двух
SQL
Хранение и целостность данных.
Хранение данных: файлы данных, журналов, уровни RAID, Tempdb. Связи в базах данных, один к одному, один ко многим, многие ко многим. Целостность данных: PRIMARY KEY, CHECK, UNIQUE и FOREIGN KEY. Нормализация таблиц.
Создание базы данных и таблиц.
Архитектура СУБД: логический (таблицы и тип данных, ключи, индексы, представления, сборки, ограничения, правила, значения по умолчанию) и физический уровни (файлы и файловые группы, страницы). Создание базы данных. Типы данных полей таблиц: Точные числа, символьные строки в Юникоде, приблизительные числа, двоичные данные, дата и время, прочие типы данных, символьные строки. Создание таблиц. Где писать запросы?
Индексы. Диаграммы.
Индексы: кластеризованный, некластеризованный, уникальная идентификация, filtered, columnstore, хэш, некластеризованный индекс, оптимизированный для памяти. ER диаграммы: Database Diagrams, Database Node. DML и самые распространенные операторы языка SQL: SELECT, INSERT, UPDATE, DELETE. Значение уникальных факторов.
Запросы. Внешние соединения.
Запросы к одной таблице. Выборка без повторов. Запросы к нескольким таблицам. Внешние соединения: LEFT, RIGHT или FULL.
Агрегатные функции. Подзапросы.
Подзапросы: WHERE COUNT, SUM, AVG, MAX, MIN, IN, ALL, ANY. Объединение данных: SELECT JOIN. Агрегатные функции: AVG, CHECKSUM_AGG, COUNT, COUNT_BIG, GROUPING, GROUPING_ID, MAX, MIN, STDEV, STDEVP, STRING_AGG, SUM, VAR, VARP. Условия для агрегатных функций.
Полезные функции.
Еще немного об операторах. Промышленный запрос. Полезные функции: SQRT, RAND, CONCAT, числовые и строковые функции. Приоритет операций и преобразование типов: CAST, CONVERT.
Транзакции. Представления.
Один запрос четырьмя способами. Транзакции: концепция транзакций – атомарность, согласованность, изолированность, долговечность, управление транзакциями – COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION. Параллельный доступ к данным: проблемы грязного, неповторяемого чтения, фантомов. Представления: индексированные, секционированные, системные.
Переменные и циклы.
Начало программирования. Переменные: DECLARE, SET, SELECT. Структура кода. Операторы описания данных: CREATE, DROP, ALTER и др. Операторы манипуляции данными: INSERT, DELETE, SELECT, UPDATE и др. Операторы задания прав доступа в базе данных: GRANT / REVOKE, LOCK / UNLOCK, SET LOCK MODE Операторы защиты, восстановления данных и прочие операторы. Циклы: WHILE.
Хранимые процедуры и функции.
Временные таблицы. Курсоры Transact-SQL, серверные, клиентские. Типы курсоров: однонаправленный, статический, Keyset, динамический. Хранимые процедуры и функции: CREATE PROCEDURE, CREATE PROC.
Триггеры. Исключения.
Конвейерные ХФ. Триггеры: AFTER, INSTEADOF. Исключения: EXCEPT. Динамический SQL с использованием ключевого слова и с использованием хранимой процедуры: EXECUTE IMMEDIATE.
СУБД. NoSQL базы данных.
Транзакции в программировании/СУБД/SQL. Как выполняются запросы. Как повысить производительность запросов. NoSQL базы данных и его преимущества.
Промежуточная аттестация по модулю
Промежуточная аттестация проходит в форме зачета (компьютерного тестирования). Образец типового тестового здания:
К какому типы данных полей относится тип NUMBER?
- строковые
- числовые
- бинарные
Какая команда в SQL выполняет запрос к данным?
Что такое транзакция?
- это группа операций выполняемых СУБД
- это группа операций, обладающая свойствами ACID
- это операция выполнения SQL команды