Управление сложными системами
Индекс: ОПД.Ф.07
230105.65 Программное обеспечение вычислительной техники и автоматизированных систем
230100.62 Информатика и вычислительная техника
(Название дисциплины; индекс(ы) дисциплины в учебном(ых) плане(ах) для которых читается дисциплина.
Для УМКД, предназначенных одновременно для нескольких направлений или специальностей указываются все их коды.)
|
Кафедра ФН1-КФ
(сокращенное название обеспечивающей кафедры)
|
Доцент, к.ф-м.н. Белов Юрий Сергеевич
8-(4842)-57-48-66, http://hecsit.org
(Должность, ученая степень, Ф.И.О. разработчиков УМК, контактные телефоны, адрес электронной почты разработчика - при ее наличии)
|
Виды и объем занятий по дисциплине
Виды занятий
|
Объём занятий, час
|
Всего
|
7 семестр 17 недель
|
8 семестр
|
15 недель
|
Лекции
|
64
|
34
|
30
|
|
Семинары
|
17
|
17
|
-
|
|
Лабораторные работы
|
47
|
17
|
30
|
|
Самостоятельная работа
|
79
|
34
|
45
|
|
Итого:
|
207
|
102
|
105
|
|
Проверка знаний:
|
|
зачет
|
экзамен
|
|
(Общая трудоемкость дисциплины в часах по семестрам, с перечислением всех видов занятий и соответствующего количества часов по учебному плану направления или специальности; форма отчетности по семестрам - экзамен, зачет, дифф. зачет)
|
Цель преподавания дисциплины:
Состоит в формировании у обучающихся следующих компетенций:
- владеет культурой мышления, способен к обобщению, анализу, восприятию информации, постановке цели и выбору путей её достижения (ОК-1);
- готов к кооперации с коллегами, работе в коллективе (ОК-3);
- стремится к саморазвитию, повышению своей квалификации и мастерства (ОК-6);
- осознает социальную значимость своей будущей профессии, обладает высокой мотивацией к выполнению профессиональной деятельности (ОК- 8);
- осознает сущность и значение информации в развитии современного общества; владеет основными методами, способами и средствами получения, хранения, переработки информации (ОК-11);
- имеет навыки работы с компьютером как средством управления информацией (ОК-12);
- способен работать с информацией в глобальных компьютерных сетях (ОК-13);
- осваивать методики использования программных средств для решения практических задач (ПК-2);
- разрабатывать интерфейсы «человек - электронно-вычислительная машина» (ПК-3);
- разрабатывать компоненты программных комплексов и баз данных, использовать современные инструментальные средства и технологии программирования (ПК-5);
- инсталлировать программное и аппаратное обеспечение для информационных и автоматизированных систем (ПК-11).
(цель преподавания дисциплины, требуемые результаты изучения дисциплины)
|
Место дисциплины в образовательной программе
1. Предшествующие дисциплины
Математический анализ (Дифференциальное и интегральное исчисления)
Векторная алгебра
Аналитическая геометрия
Матрицы
Комплексные числа
Перевод и реферирование научно-технических текстов
2. Является основой для дисциплин:
(использование дисциплины в последующем образовательном процессе)
Нейрокомпьютеринг
Математическое моделирование сложных систем
Моделирование
Выпускная квалификационная работа бакалавра
(использование дисциплины в последующем образовательном процессе)
|
3. Структура и ключевые понятия дисциплины:
3.1. Введение в платформу Android. Описание платформы Android. История создания платформы Android (Open Handset Alliance, OHA). Введение в Android: архитектура платформы Android (уровень ядра, уровень библиотек, среда выполнения, уровень каркаса приложения). Среда разработки Android-приложений (виртуальная машина Dalvik и библиотеки ядра Java). Состав Android SDK (API-платформы Android, инструменты разработки, менеджер виртуальных устройств и эмулятор, полный набор документации, примеры кода, онлайн-поддержка). Строительные блоки Android-приложения (деятельности, намерения, сервисы, контент-провайдеры). Жизненный цикл Android – приложения. Обзор литературы.
3.2. Среда разработки Android. Необходимое программное обеспечение (Java Development Kit, IDE Eclipse, Android SDK, Android Development Tools). Подробные инструкции по скачиванию, установке и использованию программного обеспечения.
Описание плагина ADT и его особенности (мастер создания проекта Android, редактор Layout Editor, редакторы XML-ресурсов, эмулятор Android).
Создание и запуск эмулятора Android Virtual Device.
3.3. Первое Android-приложение. Подробные инструкции по созданию и запуску первого проекта приложения. Структура Android-проекта (каталог res – ресурсы приложения (изображения, разметка элементов пользовательского интерфейса, различные значения, другие xml-файлы). Каталог bin – откомпилированный код Java-классов вместе с файлами ресурсов, данными. Каталог gen – файл R.java. Каталог com – java-файл для главного окна приложения). Компоненты Android-приложения (Activity, service, Content Provider, Broadcast Receiver). Процессы в OC Android (Активный процесс, Видимый процесс, Сервисный процесс, Фоновый процесс, Пустой процесс). Описание файла AndroidManifest.xml и его функций.
Подробные инструкции по отладке android-приложения, а также по установке режима отладки на мобильном телефоне.
3.4. Компоновка элементов управления. Определение понятия «Компоновка» (архитектура расположения элементов интерфейса). Объекты View и ViewGroup. Создание компоновки (в xml-файл, в коде программы). Структура xml-файла. Создание компоновки в LayoutEditor.Знакомство с несколькими стандартными типами компоновок (FrameLayout, LinearLayout, TableLayout, RelativeLayout). Отладка интерфейса с помощью инструмента Hierarchy Viewer.
3.5. Основные виджеты графического интерфейса. Алгоритм разработки пользовательского интерфейса в Android.
Описание классов android.view.View и android.view.ViewGroup.
Пример создания пользовательского интерфейса полностью в коде.
Пример создания пользовательского интерфейса полностью в xml.
Знакомство с основными виджетами графического интерфейса пользователя (текстовые поля – TextView, EditText; кнопки – Button, CheckButton, ToggleButton, RadioButton; вывод изображений – ImageButton, ImageView; элементы указания даты и времени – DataPicker, TimePicker, DigitalClock, AnalogClock).
3.6. Меню. Представление меню в Android (объекты Java и ресурсы). Описание классов android.view.Menu, android.view.MenuItem, android.view.SubMenu. Подробное описание создания меню, реагирование на выбор пунктов меню. Меню выбора опций. Создание тестовой оснастки для меню. Пример создания xml-компоновки, создания действия, создания меню, добавления обычных пунктов меню. Реагирование на щелчки на пунктах меню – пример кода. Создание меню со значками. Пример создания расширенного меню. Работа с контекстными меню (заполнение, реагирование на выбор пунктов). Создание подменю (пример кода). Знакомство с уведомлениями (Toast Notification, Status Bar Notofication). Диалоговые окна (AlertDialog, DatePickerDialog, ProgressDialog, TimePickerDialog). Анимация (прозрачность, размер, перемещение, поворот).
3.7. Хранение данных в Android-приложениях. Файлы и Preferences. Способ хранения данных Preferences (пара: имя, значение). Пример кода. Работа с файлами. Пример кода.
3.8. Многоэкранные приложения. Особенности создания многоэкранных приложений. Примеры кода простых приложений. Явный вызов Activity. Неявный вызов Activity.
Состояние Activity. Activity Lifecycle (Resumed, Paused, Stopped). Описание понятия «Логи приложения». Пример приложения с использованием логов. Примеры создания простых многоэкранных приложений.
3.9. Intent-объекты. Пример создания приложения с тремя Activity (реализация с помощью Intent Filter). Передача данных с помощью Intent. Получение результата из Activity. Метод startActivityForResult. Примеры кода. Параметры requestCode, resultCode. Рассмотрение атрибута data Intent объекта. Вызов системных приложений. Примеры приложений.
3.10. Хранение данных в Android-приложениях. SQLite. Рассмотрение хранение данных с помощью баз данных с таблицами и запросами. Пример кода простого приложения. Обновление и удаление записей. Метод query. Условие, сортировка, группировка. Пример кода. Запросы из связанных таблиц. INNER JOIN в SQLITE. Метод rawQuery.
3.11. Создание и использование списков в Android-приложениях. Изучение класса LayoutInflater, метода inflate. Пример кода.
Использование класса LayoutInflater для создания списков. Создание аналога списка (перебор массива данных). Создание списка ListView (пункты списка создает адаптер). Пример кода. Одиночный и множественный выбор в ListView. События в ListView (нажатие, выделение, прокрутка).
Основные сведения об адаптреах (ListAdapter, SpinnerAdapter, WrapperListAdapter, BaseAdapter, HeaderViewListAdapter, ResourceCursirAdapter, SimpleCursorAdapter, ArrayAdapter, SimpleAdapter, CursirAdapter). Использование SimpleAdapter. Расширенный пример SimpleAdapter. Методы SetViewText и SetViewImage. Использование ViewBinder. Добавление и удаление записей. SipmleCursorAdapter. Список-дерево ExpandableListView.
События ExpandableListView. Spinner — выпадающий список. Рассмотрение GridView и его атрибуты (numColumns и columnWidth; HorizontalSpacing, verticalSpacing; StretchMode).
3.12. Источник данных. ContentProvider. Рассмотрение технологии передачи информации из приложения другому источнику данных (уведомления, классы переходов, источники данных).
Изучение понятия «Источники данных». Структура адресной модели URI. Механизм создания нового источника данных. Предоставление доступа к источнику данных (методы delete, insert, update, query). MIME тип. Подробный алгоритм регистрации источника данных. Создание собственного источника данных. Пример кода. Рассмотрение использования источников данных. Знакомство с ContentResolver. Запросы для получения данных (добавление, обновление, удаление данных). Пример использования собственного источника данных. Рассмотрение стандартных источников данных (Browser, CallLog, ContactsContract, MediaStore, Settings, UseDictionary).
Использование источника данных MediaStore. Примеры кода.
Использование источника данных ContactsContract. Чтение информации о контактах. Примеры кода. Изменение и расширение контактной информации.
3.13. Работа с мультимедиа. Значение мультимедийных устройств в современном мире. Рассмотрение поддерживаемых форматов в Android (аудио: pcm, wave, flac, mp3, aac, mid, ota и т. д.; видео: amr-wb, h.264, mpeg-4sp и т. д.). Работа с аудиозаписями (MediaPlayer/MediaRecorder, AudioTrack/AudioRecorder). Примеры приложений с кодом (воспроизведение/запись звука). Работа с видеозаписями (MediaRecorder/MediaPlayer). Примеры приложений с кодом (воспроизведение/запись видео).
3.14. Сенсоры. Рассмотрение средств, предоставляемых платформой Android для работы с датчиками. Изучение датчиков (акселерометр, гироскоп, датчик освещения, датчик расстояния, датчик магнитных полей, барометр, датчик температуры окружающей среды, измеритель относительной влажности). Изучение класса SensorManager. Типы датчиков, доступные на устройствах Android (Sensor.TYPE_ACCELEROMETR, Sensor.TYPE_GYROSCOPE, Sensor.TYPE_LIGHT, Sensor.TYPE_MAGNETIC_FIELD, Sensor.TYPE_ORIENTATION, Sensor.TYPE_PRESSURE, Sensor.TYPE_PROXIMITY, Sensor.TYPE_TEMPERATURE). Знакомство с акселерометром. Определение положения в пространстве. Описание программы SensorSimulator.
3.15. OpenGL ES в истеме Android. Определение понятия «OpenGL ES». Алгоритм создания приложения (манифест, методы родительской активности, процесс растеризации, буферы данных). Знакомство с матрицами преобразований (Matrix.setIdentityM (), Matrix.frustumM (), Matrix.setLookAtM (), Matrix.translateM (), Matrix.rotateM (), Matrix.multiplyMM ()). Шейдеры. Пример разработки приложения.
3.16. Виджеты. Определение понятия «Виджеты» (layout-файл, xml-файл с метаданными, класс AppWidgetProvider). Разработка простого виджета «Hello, Android». Инструкция по запуску приложения. Знакомство с RemoteViews.
Конфигурациооный экран. Обновление. Пример кода. Обработка нажатия на виджет. Пример кода. Создание виджета со списком. Пример приложения.
3.17. Bluetooth, управление сетевыми соединениями, Wi-Fi. Использование Bluetooth. Рассмотрение классов для работы с Bluetooth-устройствами (BluetoothAdapter, BluetoothDevice, BluetoothSocket, BluetoothServerSocket). Доступ к локальному Bluetooth-устройству. Управление свойствами и состоянием Bluetooth-адаптера (класс BluetoothAdapter). Пример кода. Доступность для обнаружения и сканирования удаленных устройств. Пример кода. Алгоритм поиска удаленных устройств. Использование Bluetooth для связи. Установка сокета BluetoothServerSocket в режим ожидания. Выбор удаленных Bluetooth-устройств для подключения. Рассмотрение алгоримта создания соединения с помощью клиентского сокета BluetoothSocket. Пример кода. Передача данных через BluetoothSocket. Пример кода. Подробный алгоритм передачи данных через Bluetooth. Управление сетевыми соединениями. Сервис ConnectivityManager. Чтение пользовательских настроек, отвечающих за передачу данных в фоновом режиме. Алгоритм отслеживания информации о сети. Поиск и изменение сетевых настроек, управление аппаратными адаптерами. Отслеживание сетевого соединения. Управление подключением к сети Wi-Fi (WiFiManager). Отслеживание соединения по Wi-Fi. Получение информации об активном соединении (getConnectionInfo). Алгоритм обнаружения точек доступа. Пример кода. Рассмотрение управления настройками Wi-Fi. Создание конфигураций для сети Wi-Fi.
3.18. Сервисы. Определение понятия Сервисы. Жизненный цикл служб. Службы, их жизненный цикл. Пример создания службы. Передача данных в службу. Остановка службы. Пример кода. Обратная связь с помощью PendingIntent, BroadcastReceiver. Подключение к службе.
3.19. События касания. Изучение интерфейса OnTouchListener (нажатие, движение, отпускание). Рассмотрение класса MotionEvent. Пример кода.
Touch (обработка касания). Пример приложения. Использование ScrollView и HorizontalScrollView. Пример приложения. Использование методов ScrollTo() и ScrollBy(). Пример приложения. Использование ViewSwitcher. Пример приложения. Использование ViewFlipper.
3.20. GPS-геопозиционирование. Определение понятия GPS. История создания. Исследование источников ошибок при работе GPS (переотражение, геометрия спутников, избирательный доступ). Практическое применение GPS. Знакомство с картами, геокодированием и геолокационными сервисами. Использование геолокационных сервисов. Получение координат GPS и загрузка карты c openstreetmap.org. Прием GPS координат.
(основные модули дисциплины и ее ключевые понятия в соответствии с образовательным стандартом)
|
|