Available courses

Курс содержит сведения об основах разработки программного обеспечения на языке Java. В курсе рассматривается принцип работы виртуальной машины Java; синтаксис языка; принципы объектно-ориентированного программирования; стиль программирования и правила документирования программ. Изучаются основы проектирования графического пользовательского интерфейса (Swing); практические приемы работы с различными видами коллекций; файловый ввод вывод; сокеты; вопросы проектирования многозадачных приложений. Курс включает восемь практических заданий.

Курс охватывает такие вопросы организации вычислений в компьютерных системах, как структура и функционирование центрального процессора, взаимодейтсвие процессора с основной памятью, организация ввода-вывода данных. Особое внимание уделяется механизмам ускорения вычислений: использованию кэш-памяти, конвейеризации вычислений, распараллеливанию вычислений на нескольких процессорах. На примере популярных интерфейсов RS-232C, USB, PCIe и т. п. рассматриваются общие принципы построения интерфейсов компьютерных систем. Курс включает лабораторные работы, посвященные составлению программ на языке ассемблера i8086, а также освоению периферийных интерфейсов персонального компьютера.

Знания и интеллектуальные агенты

Основные понятия искусственного интеллекта. Искусственный интеллект. Понятие. Определения. История развития. Области использования. Перспективы развития.

Введение в мультиагентные системы.Тенденции развития компьютеров и программирования. Агенты. Мультиагентные системы. Проектирование агента. Проектирование сообщества агентов. Автономные агенты. Примеры применения. Соображения в пользу агентов. Мультиагентные системы. Онтологии.

Представление знаний. Исчисления высказываний: язык, правила вывода, аксиомы, примеры. Рассуждения в исчислениях высказываний. Язык логики предикатов первого порядка. Исчисления первого порядка: язык, правила вывода, аксиомы, примеры. Прямой и обратный вывод. Полнота и непротиворечивость исчислений.

Интеллектуальные агенты.Что такое интеллектуальный агент? Главные свойства агентов. Агенты и объекты. Агенты и экспертные системы. Интеллектуальные агенты и искусственный интеллект. Среды. Агенты как интенсиональные объекты. Абстрактная архитектура агентов. Агент и среда. Агенты с внутренними состояниями. Цикл функционирования агента. Функция полезности агента. Оптимальные агенты. Предикатная спецификация задачи агента. Задачи достижения и удержания. Синтез агента.

Дедуктивно-рассуждающие агенты. Символически рассуждающие агенты. Дедуктивно-рассуждающие агенты. Планирующие системы. Мир блоков. Метод Грина. Рамочная проблема. Рамочные аксиомы. Агентно-ориентированное программирование.

Эвристически (практично) рассуждающие агенты. Эвристическое рассуждение. Намерения в эвристических рассуждениях. Планирование в эвристических рассуждениях. Мир блоков. STRIPS – метод. Реализация эвристически рассуждающих агентов. Обдумывание. Стратегии обязательств. Пересмотр намерений. Теория убеждений, желаний и намерений. Логика убеждений, желаний и намерений. Использование временной логики. Временная логика убеждений, желаний и намерений. Реализация агентов на основе логики убеждений, желаний и намерений. Примеры.

Реактивные и гибридные агенты. Реактивные архитектуры. Декомпозиция. Многоуровневое управление. Ситуационные автоматы. Конечные автоматы. Достоинства реактивных агентов. Ограничения реактивных агентов. Гибридные архитектуры.

Интеллектуальные агентства

Взаимодействие агентов. Что такое мультиагентная система? Полезность и предпочтение. Мультиагентное столкновение. Рациональное действие. Платежная матрица. Доминирующие стратегии. Равновесие Нэша. Взаимодействие на основе соревновательности и нулевой суммы. Дилемма заключенного. Обратная индукция. Турнир Аксельрода. Игровые стратегии.

Достижение согласия агентов. Механизмы, протоколы и стратегии. Проектирование механизма. Аукционы. параметры аукционов. Английские аукционы. Немецкие аукционы. Аукционы второй цены. Переговоры. Управление и распределение ресурсов. Неоднородные агенты с само мотивацией. Распределенный искусственный интеллект. Примеры. Протоколы.

Коммуникация агентов. Речевые акты. Семантика планов. Языки KQML и KIF. Стандарты FIPA.

Кооперация и координация взаимодействия агентов. Благожелательные агенты. Эгоистичные агенты. Распределение задач и результатов. Контрактная сеть. Распознавание. Уведомление. Распоряжение. Награждение и продвижение. Кооперативное решение распределенной проблемы. Примеры.

Методологии разработки интеллектуальных агенств

Язык логического программирования ПРОЛОГ. Логика предикатов первого порядка и ПРОЛОГ. Представление знаний в языке ПРОЛОГ. Вывод в языке ПРОЛОГ. Примеры логических программ. Принципы разработки интеллектуальных агентов на языке ПРОЛОГ. Принципы разработки  планирующих агентов на языке ПРОЛОГ. 

Тенденции развития теории и применения мультиагентных систем. Области применения. Распределенные системы. Сети. Человеко-машинный интерфейс. Интернет. Сценарии. Почтовые агенты. Электронная коммерция. 

Erlang это функциональный язык программирования предназначенный для разработки распределенных, отказоустойчивых, параллельных телекоммуникационных систем. Erlang используется во многих масштабных телекоммуникационных и Интернет приложениях, например: Amazon EC2, чат Facebook, T-Mobile, Ejabberd, Wings 3D.

Краткое содержание курса:

Установка и запуск эмулятора Erlang. Ведение в Erlang и OTP. История создания.Компиляция и запуск программ. Комментарии. Типы. Функции. Переменные. Привязка переменных и сопоставление с образцом. Списки. Рекурсия и хвостовая рекурсия. Оператор if. Операторы сравнения. Логические операторы. Конкурентное исполнение кода. Процессы. Запуск процессов. Передача сообщений. Кортежи.Записи. Заголовчные файлы. Макроопределения. Строки и символы. Встроенные функции. Обработка XML документов. Модуль xmerl. Оператор case. Генератор документации edoc. Регистрация процессов. Связывание процессов. Перехват сигналов выхода. Мониторы. Вызов и обработка исключений. Классы исключений. Оператор try/catch.Модуль http. Ведение журнала. Типовой сервер. Цикл сервера. Модули и функции обратного вызова. Обработка синхронных и асинхронных запросов. Хранение данных. Файловый ввод/вывод. Обработка двоичных данных. Хранилище термов ETS. Дисковое хранилище термов DETS. Таблицы.


Содержание курса:

Логические (символические) модели представления знаний
Искусственный интеллект и знания. Искусственный интеллект. Понятие. Определения. История развития. Области использования. Перспективы развития. Мультиагентные системы. Онтологии. Исчисления логики высказываний. Язык логики высказываний. Синтаксис и семантика. Исчисления высказываний: язык, правила вывода, аксиомы., примеры. Рассуждения в исчислениях высказываний. Исчисления логики предикатов первого порядка. Язык логики предикатов первого порядка. Синтаксис и семантика. Переход от естественного языка к языку логики предикатов первого порядка. Примеры представления знаний на языке логики предикатов перового порядка. Классические и натуральные исчисления первого порядка: язык, правила вывода, аксиомы, примеры. Прямой и обратный вывод. Полнота и непротиворечивость. Язык логического программирования ПРОЛОГ. Теоретические основы языка логического программирования ПРОЛОГ. Синтаксис. Разделы. Простейшие программы. Стратегия вывода. Анализ процесса вывода с помощью графа И-ИЛИ. Структуры данных. Базы знаний. Рекурсивный и нерекурсивный вывод. Экспертные системы в ПРОЛОГе.
Модели представления знаний в условиях неопределенности
Модальные исчисления. Языки модальных исчислений. Модальные операторы. Синтаксис и семантика. Примеры представления знаний на языке модальных исчислений. Области применения: проверка корректности программ, мультиагентные системы. Вывод в модальных исчислениях. Нечеткие исчисления. Нечеткое множество и функция принадлежности. Операции над нечеткими множествами. Лингвистические переменные. Нечеткие исчисления. Синтаксис и семантика. Примеры представления знаний на языке нечетких исчислений. Области применения: распознавание образов, экспертные системы. Вывод в нечетких исчислениях. Стохастические исчисления.Вероятностные подходы к представлению знаний. Байесовские модели. Вывод в байесовских моделях. Абдуктивные исчисления. Логики абдуктивных исчислений. Логическая абдукция и вывод в логиках абдуктивных исчислений.
Процессные и сетевые модели представления знаний
Сетевые модели представления знаний. Семантические сети. Фреймы. Реляционные модели представления знаний. Вывод в сетевых моделях представления знаний. Процессные модели представления знаний. Процессные исчисления. Синтаксис и семантика. Примеры представления знаний на языках процессных исчислений. Области применения: моделирование мобильных систем, бизнес процессов и устройств. Редукция в процессных исчислениях. Марковские процессы. Продукционные модели. Представление знаний и решение проблем посредством поиска. Стратегии вывода и поиска. Оценки успеха при поиске цели. Слепой поиск. Направленный поиск. Генетические алгоритмы. Сложность поиска.

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

Содержание курса:

Логическое проектирование цифровых схем Комбинационная логика. Последовательностная логика. Язык Verilog. Программируемые логические интегральные схемы. Конечные автоматы. Типовые цифровые схемы.

Двоичная арифметика и вычислительные устройства. Представление чисел и двоичная арифметика. Аппаратная и программная реализация арифметических операций. Микропрограммные автоматы и микропроцессорные ядра.

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

Интерфейсы и периферия микропроцессорных устройств. Организация интерфейса в МПУ. Периферийные устройства МПУ.

Изображение ˗ это главный источник информации для биологического или технического агента, осуществляющего действия в реальном мире. Современные средства получения цифровых изображений очень дешевы и распространены, поэтому последовательность изображений или видеопоток зачастую рассматривается как Big data, обработку которого доверяют как классическим математическим моделям, так и новым цифровым технологиям. В целом автоматическая обработка цифровых изображений – самый выразительный пример развития искусственного интеллекта. Дисциплина «Цифровая обработка изображений» формирует фундаментальную структуру мировоззрения и необходимые практические компетенции в области методов создания и преобразования цифровых изображений для последующей машинной обработки интеллектуальными системами. В первом модуле дисциплины «Представление цифрового изображения» рассматриваются основы цифровых изображений, анализируется зрительная система человека, исследуются методы восстановления цифровых изображений. Во втором модуле дисциплины «Улучшение цифрового изображения и распознавание образов на цифровых изображениях» рассматриваются методы пространственного улучшения изображений, частотные методы улучшения изображений, методы обработки цветных цифровых изображений, морфологической обработки изображений, методы компьютерного зрения с использованием классического и глубокого машинного обучения в информационных системах. Лабораторные работы построены на базе языка Python с использованием библиотек scikit-image, OpenCV, scikit-learn, tensorflow.

Содержание дисциплины:

Основы инфокоммуникационных систем
История развития инфокоммуникационных сетей. Задачи курса. Обзор литературы. Почтовая связь, телефонная сеть, сети передачи данных, сети ЭВМ. Сети передачи данных. Прикладной процесс. Оконечное оборудование данных (ООД). Аппаратура окончания канала данных (АКД). Оборудование коммутации данных (ОКД). Сети ЭВМ. Глобальные и локальные сети. Топология сети. Сети с и без установления соединения. Коммутируемые и выделенные каналы. Симплексный, полудуплексный и полнодуплексный режимы передачи. Методы доступа к среде. Модели взаимодействия в информационных сетях. Эталонная модель МОС взаимодействия открытых систем. Открытая система. Уровень. Службы уровня. Интерфейс. Протокол. Модель OSI/ISO. Модель DoD (стек TCP/IP). Модель IEEE.
Технологии локальных сетей
Стандарты локальных сетей. Стандарты IEEE 802.x в области локальных сетей. Подуровни LLC и MAC канального уровня. Стандарт IEEE 802.2 управления логическим звеном. Стандарт IEEE 802.3 множественный доступ с контролем несущей и обнаружением коллизий. Компоненты локальной сети. Канал связи (коаксиальный кабель, витая пара, оптоволокно, радиоканал). Рабочая станция. Сервер. Сетевой адаптер. Сетевая ОС. Одноранговые и иерархические сети. Технологии локальных сетей. Сети FastEthernet FastEthernet на витой паре. Hub (концентратор). Switch (коммутатор).
Протоколы и сервисы Интернет
Сеть Internet. История развития Internet. Организация и управление Internet. Стандарты Internet. Доменная система имён. Адресация в Internet. Протоколы сетевого уровня. IP- адреса. Протоколы Internet. Базовый IP- протокол. Протоколы разрешения адресов ARP и RARP. Сервер имён DNS. Протокол DHCP. Протоколы транспортного уровня. Соединители (sockets). TCP и UDP - протоколы. Протоколы прикладного уровня. Стандарт MIME. Почтовые протоколы SMTP, POP и IMAP, протоколы передачи файлов FTP и TFTP, протокол удалённого управления TELNET, протокол передачи гипертекстовых страниц HTTP.
Маршрутизация в сетях
Маршрутизация в сетях. Общие положения. Алгоритмы и протоколы маршрутизации. Параметры и классы протоколов маршрутизации. Внутренне протоколы маршрутизации. Дистанционно-векторные протоколы и протоколы состояния связей. Протокол RIP. Протокол IGRP. Протокол EIGRP. Протокол OSPF. Внешние протоколы маршрутизации. Протоколы досягаемости. Протокол EGP. Протокол BGP.


Курс содержит сведения об основах разработки системного программного обеспечения для операционной системы Windows, элементах внутренней архитектуры операционных систем, приемах проектирования установки и отладки драйверов устройств.

Общие сведения об архитектурах современных операционных систем

Управление аппаратными ресурсами информационных систем. Схема управления памятью. Виртуальное адресное пространство. Физическое адресное пространство. Сегменты памяти и страничная адресация. Схема вычисления адреса в реальном и защищенном режиме IA32. Де-скрипторы сегментов и таблицы страниц. Уровни привилегий сегментов. Кольца защиты. Шлюзы. Защита системной памяти от пользовательских программ на уровне сегментов и стра-ниц. Переключение контекстов памяти. Защита памяти пользовательских программ. Загрузка страниц по запросу. Организация файла подкачки. Выгрузка страниц на диск. Глобальная и ло-кальная политика менеджера памяти. База данных таблиц страниц. Организация доступа к об-щей памяти. Файлы, отображаемые в память. Поддержка мультизадачности. Понятие процесса и потока. Понятие и способ реализации вы-тесняющей мультизадачности. Контекст потока и правила переключения потоков. Приоритеты потоков. Методы и средства синхронизации потоков. Объекты синхронизации событие, семафор, мьютекс, ждущий таймер. Понятие критической секции. Организация совместного доступа к ресурсам. Функции ожидания.

Организация управления аппаратными устройствами

Понятие шины устройств. Программная модель подключения устройств к компьютеру. Драйверы классы и драйверы устройств.Программная модель шины PCI. Мост шины PCI. Назначение и принцип работы. Отображение адресов шины в системное адресное пространство. Инициализация PCI устройства. Регистры конфигурации. Типы устройств PCI. Master и Target контроллеры. Идентификация устройства. VenorID и DeviceID. Обработка прерываний PCI. Шина USB. Программная архитектура. Понятие канала pipe и endpoint. Контроллеры UHCI и EHCI. Назначение концентратора (хаба). Типы каналов: канал управления, потоковый, по прерыванию и изохронный. Понятие фрейма. Распределение времени фрейма между каналами разных типов. Поддержка USB в ОС. Драйвер хост контроллера, драйвер хаба. USB Requset Block.

Проектирование драйверов 

Windows Driver Model.Инструментальные средства для проектирования, отладки и тестирования низкоуровневого программного обеспечения информационных систем. Архитектура драйвера WDM. Системные объекты DRIVER_OBJECT, DEVICE_OBEJCT, FILE_OBJECT. Иницализация драйвера. Инициализация объекта устройства. Технология автоматического обнаружения устройств Plug&Play. Функция AddDevce. Типы объектов устройств: PDO, FDO и FiDO. Обработка запросов ввода вывода. Стек драйверов устройств. Очереди запросов ввода вывода. Синхронное и асинхронное исполнение запросов. Отложенные процедуры DPC. Способы передачи данных WDM. Буферизация в системной памяти. Списки описателей памяти MDL. Windows Driver Foundation Архитектура драйвера WDF. Драйверы пользовательского режима UMDF и режима ядра KMDF. Установка и отладка драйверов. Основные объекты KMDF. Функции драйвера. Об-работка запросов ввода вывода. Типы очередей запросов. Обработка прерываний. Драйверы устройств USB. Схема непрерывного чтения потока данных USB. Организация прямого доступа к памяти. Типы контроллеров ПДП. Ограничения на используемую память. Технология Scatter/Gather. Эмуляция этой технологии.