Продолжительность курса: до 25 мая 2026 г.
Цифровая грамотность
- Основные тенденции развития компьютерных технологий. Параллельные вычисления. Многопроцессорные системы. Распределенные вычислительные системы и обработка больших данных
- Принципы построения и аппаратные компоненты компьютерных сетей. Сетевые протоколы. Сеть Интернет. Адресация в сети Интернет. Протоколы стека TCP/IP. Система доменных имён. Разделение IP-сети на подсети с помощью масок подсетей
- Файловая система. Поиск в файловой системе. Принципы размещения и именования файлов в долговременной памяти. Шаблоны для описания групп файлов
- Скорость передачи данных. Зависимость времени передачи от информационного объёма данных и характеристик канала связи
- Шифрование данных. Симметричные и несимметричные шифры. Шифры простой замены. Шифр Цезаря. Шифр Виженера. Алгоритм шифрования RSA
- Коды, позволяющие обнаруживать и исправлять ошибки, возникающие при передаче данных. Расстояние Хэмминга. Кодирование с повторением битов. Коды Хэмминга
Теоретические основы информатики
- Двоичное кодирование. Равномерные и неравномерные коды. Декодирование сообщений, записанных с помощью неравномерных кодов. Условие Фано. Построение однозначно декодируемых ко дов с помощью дерева
- Теоретические подходы к оценке количества информации. Единицы измерения количества информации. Алфавитный подход к оценке количества информации. Закон аддитивности информации. Формула Хартли. Информация и вероятность. Формула Шеннона
- Системы счисления. Развёрнутая запись целых и дробных чисел в позиционной системе счисления. Свойства позиционной записи числа: количество цифр в записи, признак делимости числа на основание системы счисления. Алгоритм перевода целого числа из P-ичной системы счисления в десятичную. Алгоритм перевода конечной P-ичной дроби в десятичную. Алгоритм перевода целого числа из десятичной системы счисления в P-ичную. Перевод конечной десятичной дроби в P-ичную. Двоичная, восьмеричная и шестнадцатеричная системы счисления, связь между ними. Арифметические операции в позиционных системах счисления
- Троичная уравновешенная система счисления. Двоично-десятичная система счисления
- Кодирование текстов. Кодировка ASCII. Однобайтные кодировки. Стандарт UNICODE. Кодировка UTF-8. Определение информационного объема текстовых сообщений
- Кодирование изображений. Оценка информационного объёма графических данных при заданных разрешении и глубине кодирования цвета. Цветовые модели. Кодирование звука. Оценка информационного объёма звуковых данных при заданных частоте дискретизации и разрядности кодирования
- Алгебра логики. Понятие высказывания. Высказывательные формы (предикаты). Кванторы существования и всеобщности. Логические операции. Таблицы истинности. Логические выражения. Логические тождества. Логические операции и операции над множествами. Законы алгебры логики. Эквивалентные преобразования логических выражений. Логические уравнения и системы уравнений. Логические функции. Зависимость количества возможных логических функций от количества аргументов. Канонические формы логических выражений
- Совершенные дизъюнктивные конъюнктивные нормальные формы, алгоритмы их построения по таблице истинности
- Логические элементы в составе компьютера. Триггер. Сумматор. Многоразрядный сумматор. Построение схем на логических элементах по заданному логическому выражению. Запись логического выражения по логической схеме
- Модели и моделирование. Цели моделирования. Адекватность модели моделируемому объекту или процессу. Формализация прикладных задач. Представление результатов моделирования в виде, удобном для восприятия человеком. Графическое представление данных (схемы, таблицы, графики)
- Представление целых чисел в памяти компьютера. Ограниченность диапазона чисел при ограничении количества разрядов. Переполнение разрядной сетки. Беззнаковые и знаковые данные. Знаковый бит. Двоичный дополнительный код отрицательных чисел. Побитовые логические операции. Логический, арифметический и циклический сдвиги. Шифрование с помощью побитовой операции «исключающее ИЛИ»
- Представление вещественных чисел в памяти компьютера. Значащая часть и порядок числа. Диапазон значений вещественных чисел. Проблемы хранения вещественных чисел, связанные с ограничением количества разрядов. Выполнение операций с вещественными числами, накопление ошибок при вычислениях
- Графы. Основные понятия. Виды графов. Описание графов с помощью матриц смежности, весовых матриц, списков смежности. Решение алгоритмических задач, связанных с анализом графов (построение оптимального пути между вершинами графа, определение количества различных путей между вершинами ориентированного ациклического графа)
- Деревья. Бинарное дерево. Деревья поиска. Способы обхода дерева. Представление арифметических выражений в виде дерева. Использование графов и деревьев при описании объектов и процессов окружающего мира
- Дискретные игры двух игроков с полной информацией. Построение дерева перебора вариантов, описание стратегии игры в табличной форме. Выигрышные и проигрышные позиции. Выигрышные стратегии
- Средства искусственного интеллекта. Идентификация и поиск изображений, распознавание лиц. Использование методов искусственного интел лекта в обучающих системах. Использование методов искусственного интеллекта в робототехнике. Интернет вещей. Нейронные сети
Алгоритмы и программирование
- Формализация понятия алгоритма. Машина Тьюринга как универсальная модель вычислений
- Оценка сложности вычислений. Время работы и объём используемой памяти, их зависимость от размера исходных данных. Оценка асимптотической сложности алгоритмов. Алгоритмы полиномиальной сложности. Переборные алгоритмы. Примеры различных алгоритмов решения одной задачи, которые имеют различную сложность
- Определение возможных результатов работы простейших алгоритмов управления исполнителями и вычислительных алгоритмов. Определение исходных данных, при которых алгоритм может дать требуемый результат
- Алгоритмы обработки натуральных чисел, записанных в позиционных системах счисления: разбиение записи числа на отдельные цифры, нахождение суммы и произведения цифр, нахождение максимальной (минимальной) цифры. Представление числа в виде набора простых сомножителей. Алгоритм быстрого возведения в степень. Поиск простых чисел в заданном диапазоне с помощью алгоритма «решето Эратосфена»
- Многоразрядные целые числа, задачи длинной арифметики
- Язык программирования (Паскаль, Python, Java, C++, C#). Типы данных: целочисленные, вещественные, символьные, логические. Ветвления. Сложные условия. Циклы с условием. Циклы по переменной. Обработка данных, хранящихся в файлах. Текстовые и двоичные файлы. Файловые переменные (файловые указатели). Чтение из файла. Запись в файл. Разбиение задачи на подзадачи. Подпрограммы (процедуры и функции). Использование стандартной библиотеки языка программирования
- Рекурсия. Рекурсивные процедуры и функции. Использование стека для организации рекурсивных вызовов
- Численные методы. Точное и приближенное реше ния задачи. Численное решение уравнений с помощью подбора параметра. Численные методы решения уравнений: метод перебора, метод половинного деления. Приближённое вычисление длин кривых. Вычисление площадей фигур с помощью численных методов (метод прямоугольников, метод трапеций). Поиск максимума (минимума) функции одной переменной методом половинного деления
- Обработка символьных данных. Встроенные функции языка программирования для обработки символьных строк. Алгоритмы обработки символьных строк: подсчет количества появлений символа в строке, разбиение строки на слова по пробельным символам, поиск подстроки внутри данной строки, замена найденной подстроки на другую строку. Генерация всех слов в некотором алфавите, удовлетворяющих заданным ограничениям. Преобразование числа в символьную строку и обратно
- Массивы и последовательности чисел. Вычисление обобщенных характеристик элементов массива или числовой последовательности (суммы, произведения, среднего арифметического, минимального и максимального элементов, количества элементов, удовлетворяющих заданному условию). Линейный поиск заданного значения в массиве. Алгоритмы работы с элементами массива с однократным просмотром массива. Сортировка одномерного массива. Простые методы сортировки (метод пузырька, метод выбора, сортировка вставками). Сортировка слиянием. Быстрая сортировка массива (алгоритм QuickSort). Двоичный поиск в отсортированном массиве
- Двумерные массивы (матрицы). Алгоритмы обработки двумерных массивов: заполнение двумерного числового массива по заданным правилам, поиск элемента в двумерном массиве, вычисление максимума (минимума) и суммы элементов двумерного массива, перестановка строк и столбцов двумерного массива
- Словари (ассоциативные массивы, отображения). Хэш-таблицы. Построение алфавитно-частотного словаря для заданного текста
- Стеки. Анализ правильности скобочного выражения. Вычисление арифметического выражения, записанного в постфиксной форме. Очереди. Использование очереди для временного хранения данных
- Алгоритмы на графах. Построение минимального остовного дерева взвешенного связного неориентированного графа. Количество различных путей между вершинами ориентированного ациклического графа. Алгоритм Дейкстры УУ
- Деревья. Реализация дерева с помощью ссылочных структур. Двоичные (бинарные) деревья. Построение дерева для заданного арифметического выражения. Рекурсивные алгоритмы обхода дерева. Использование стека и очереди для обхода дерева
- Динамическое программирование как метод решения задач с сохранением промежуточных результатов. Задачи, решаемые с помощью динамического программирования: вычисление рекурсивных функций, подсчёт количества вариантов, задачи оптимизации
- Понятие об объектно-ориентированном программировании. Объекты и классы. Свойства и методы объектов. Объектно-ориентированный анализ. Разработка программ на основе объектно-ориентированного подхода. Инкапсуляция, наследование, полиморфизм
Информационные технологии
- Анализ данных. Основные задачи анализа данных: прогнозирование, классификация, кластеризация, анализ отклонений. Последовательность решения задач анализа данных: сбор первичных данных, очистка и оценка качества данных, выбор и/или построение модели, преобразование данных, визуализация данных, интерпретация результатов Программные средства и интернет-сервисы для обработки и представления данных. Большие данные. Машинное обучение
- Анализ данных с помощью электронных таблиц. Вычисление суммы, среднего арифметического, наибольшего (наименьшего) значения диапазона. Вычисление коэффициента корреляции двух рядов данных. Построение столбчатых, линейчатых и круговых диаграмм. Построение графиков функций. Подбор линии тренда, решение задач прогнозирования. Решение задач оптимизации с помощью электронных таблиц
- Дискретизация при математическом моделировании непрерывных процессов. Моделирование движения. Моделирование биологических систем. Математические модели в экономике. Вычислительные эксперименты с моделями. Обработка результатов эксперимента. Метод наименьших квадратов. Оценка числовых параметров моделируемых объектов и процессов. Восстановление зависимостей по результатам эксперимента
- Вероятностные модели. Методы Монте-Карло. Имитационное моделирование. Системы массового обслуживания
- Табличные (реляционные) базы данных. Таблица – представление сведений об однотипных объектах. Поле, запись. Ключ таблицы. Работа с готовой базой данных. Заполнение базы данных. Поиск, сортировка и фильтрация данных. Запросы на выборку данных. Запросы с параметрами. Вычисляемые поля в запросах. Многотабличные базы данных. Типы связей между таблицами. Внешний ключ. Целостность базы данных. Запросы к многотабличным базам данных
- Текстовый процессор. Средства поиска и автозамены в текстовом процессоре. Структурированные текстовые документы. Сноски, оглавление. Правила цитирования источников и оформления библиографических ссылок