МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» Институт математики и компьютерных наук Кафедра программного обеспечения Охотников Евгений Сергеевич ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ ЧИСЛЕННЫХ МЕТОДОВ Учебно-методический комплекс. Рабочая программа для студентов направления 01.03.03 «Механика и математическое моделирование», профиль подготовки «Механика жидкости, газа и плазмы», очная форма обучения Тюменский государственный университет 2015 2 Е.С. Охотников. Технологии программирования численных методов. Учебно-методический комплекс. Рабочая программа для студентов направления 01.03.03 «Механика и математическое моделирование», профиль подготовки «Механика жидкости, газа и плазмы», очная форма обучения. Тюмень, 2015, 26 стр. Рабочая программа составлена в соответствии с требованиями ФГОС ВО с учетом рекомендаций и ПрОП ВО по направлению подготовки. Рабочая программа дисциплины опубликована на сайте ТюмГУ: Технологии программирования численных методов [электронный ресурс] / Режим доступа: http://www.umk3plus.utmn.ru., свободный. Рекомендовано к изданию кафедрой программного обеспечения. Утверждено директором института математики и компьютерных наук Тюменского государственного университета. ОТВЕТСТВЕННЫЙ РЕДАКТОР: Захарова И.Г., заведующий кафедрой программного обеспечения. © Тюменский государственный университет, 2015. © Охотников Е.С., 2015. 3 д.п.н, профессор, 1. Пояснительная записка: 1.1. Цели и задачи дисциплины Математическое моделирование систем и процессов является важной задачей современной науки и техники. Развитие алгоритмов и программных средств их реализации ставит задачу обучения студентов эффективным навыкам использования численных методов для решения практических задач исследований. Соединение знаний законов и численных методов решения возникающих из моделирования химических задач позволяет существенно улучшить готовность студентов к профессиональной деятельности в современных условиях. Основной целью дисциплины «Технологии программирования численных методов» является ознакомление студентов с математическими основами численных методов решения задач (решение уравнений, систем уравнений, дифференциальных уравнений, интегрирования и дифференцирования) и применение этих численных методов для решения проблем математического моделирования. Также целью преподавания данной дисциплины является введение в проблематику, связанную с обработкой информации с помощью компьютеров и освоение базовых алгоритмических и современных программных и аппаратных средств информационных технологий. Основные задачи изучения дисциплины: усвоение важнейших определений и понятий технологий программирования численных методов; знакомство с различными технологиями реализации численных методов с помощью компьютерной техники 1.2. Место дисциплины в структуре образовательной программы Дисциплина «Технологии программирования численных методов» относится к базовой части математического и естественнонаучного цикла дисциплин Федерального государственного образовательного стандарта высшего профессионального образования (ФГОС ВПО) по направлению «Механика и математическое моделирование». Дисциплина «Технологии программирования численных методов» базируется на знаниях, полученных в курсе «Математический анализ», «Алгебра». В результате изучения этих дисциплин студент должен знать: основные понятия и методы математического анализа; основные понятия и методы алгебры; уметь: формализовать поставленную задачу; осуществлять программную реализацию алгоритма; проводить оценку сложности алгоритмов. Дисциплина «Технологии программирования численных методов» обеспечивает изучение следующих дисциплин: 4 Таблица 1 Разделы дисциплины и междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами 1 2 3 4 5 6 7 8 9 № п/п Наименование № модуля обеспечиваемых (последующих) 1 2 1 2 3 1 2 1 2 1 2 3 1 2 3 1 2 1 2 1 2 № темы дисциплин + + + + + + + + + + 1. Основы численных методов 1.3. Компетенции обучающегося, формируемые в результате освоения данной образовательной программы В результате освоения ОП выпускник должен обладать следующими компетенциями: общепрофессиональными (ПК): способностью решать стандартные задачи профессиональной деятельности на основе информационной и библиографической культуры с применением информационно-коммуникационных технологий и с учетом основных требований информационной безопасности (ОПК-1); способностью находить, анализировать, реализовывать программно и использовать на практике математические алгоритмы, в том числе с применением современных вычислительных систем (ОПК-4). 1.4. Перечень планируемых результатов обучения по дисциплине (модулю): Знать: o основные термины и понятия технологий программирования; o основные термины и понятия численных методов; Уметь: o пользоваться научно-технической литературой в области технологий программирования и численных методов; o выполнять расчеты базовых алгоритмов вручную; o осуществлять программную реализацию численных методов на языках высокого уровня; Владеть: o теоретическими знаниями в области технологий программирования численных методов; o практическими навыками программной реализации численных методов. 2. Структура и трудоемкость дисциплины 5 Общая трудоемкость дисциплины составляет 11 зачетных единиц, 396 академических часов, из них 212 часов, выделенных на контактную работу с преподавателем (90 часов лекций, 108 часов лабораторных работ, 14 - иные виды работы), 184 часа, выделенных на самостоятельную работу. Семестр 1. Форма промежуточной аттестации - зачет, курсовая работа. Трудоемкость дисциплины составляет 108 академических часов, из них 77,6 часа, выделенных на контактную работу с преподавателем,30,4 часов, выделенных на самостоятельную работу. Семестр 2. Форма промежуточной аттестации - экзамен. Трудоемкость дисциплины составляет 144 академических часа, из них 76,65 часа, выделенных на контактную работу с преподавателем, 67,65 часа, выделенных на самостоятельную работу. Семестр 3. Форма промежуточной аттестации - экзамен. Трудоемкость дисциплины составляет 144 академических часов, из них 57,75 часов, выделенных на контактную работу с преподавателем, 86,25 часа, выделенных на самостоятельную работу. Вид учебной работы Всего Семестры часов 1 2 3 212 77,6 76,65 57,75 Контактная работа: 198 72 72 54 Аудиторные занятия (всего): В том числе: Лекции 90 36 36 18 Практические занятия (ПЗ) 108 36 36 36 14 5,6 4,65 3,75 Иные виды работ: 184 30,4 67,65 86,25 Самостоятельная работа (всего): Вид промежуточной аттестации (зачет, экзамен) Зачет Экзамен Экзамен Общая трудоемкость 396 час., 11 зач. ед. 396 108 144 144 Тематический план 3. 2.1 Итого количество баллов Из них в интерактивной форме Самостоятель ная работа 1.1 1.2 2 Модуль 1 Введение в компьютерные науки Аппаратное, программное, алгоритмическое обеспечение Всего Модуль 2 Введение в программирование Лабораторные занятия 1 Лекции Тема Виды учебной работы и самостоятельная работа, в час. недели семестра № Итого часов по теме Таблица 2 3 4 5 6 7 8 9 1-2 3-4 4 4 4 4 2 5 10 13 2 2 0-5 0-20 8 8 7 23 4 0-25 4 4 6 14 2 0-10 5-6 6 4.1 Базовые концепции языков программирования Парадигма структурного программирования Всего*: Модуль 3 Концепция модульного программирования Ссылочные типы данных. Файловые типы Всего*: Итого (часов, баллов за 1семестр) *: Модуль 4 Парадигмы программирования 4.2 Методы трансляции 2.2 2.3 3.1 3.2 7-12 12 12 10 34 4 0-30 13-14 4 4 6 14 4 0-10 20 20 22 62 10 0-50 15-16 4 4 2 10 3 0-5 17-18 4 4 5 13 3 0-10 8 36 8 36 7 36 23 108 6 20 0-25 0-100 1-2 4 4 10 18 3 0-10 3 2 2 7 11 3 0-15 6 6 17 29 6 0-25 4 2 2 5 9 Всего*: 5.1 Модуль 5 Введение в теорию алгоритмов 5.2 Сложность алгоритма 5-6 4 4 7 15 3 0-10 5.3 Рекурсивные алгоритмы 7-8 4 4 10 18 3 0-20 10 10 22 42 6 0-35 Всего*: 0-5 6.1 Модуль 6 Связные списки 9-13 10 10 12 32 2 0-10 6.2 Деревья 14-16 6 6 10 22 3 0-20 6.3 Графы. Способы представления графов. Алгоритмы основных операций. Всего*: Итого (часов, баллов за 2 семестр) *: Модуль 7 Алгоритмы сортировки для различных структур данных Алгоритмы поиска для различных структур данных Всего*: Модуль 8 Решение задач с использованием ЭВМ 17-18 4 4 11 19 3 0-10 20 36 20 36 33 72 73 144 8 20 0-40 0-100 1-6 6 12 26 44 4 0-30 7-10 4 8 17 29 4 0-10 10 20 43 73 8 0-40 11-12 2 4 9 15 4 0-10 Погрешности результатов решения задач с использованием ЭВМ. Накопление ошибок Всего*: Модуль 9 Применение численных методов для решения задач Специализированное прикладное программное обеспечение 13-14 2 4 14 20 4 0-20 4 8 23 35 8 0-30 15-16 2 4 10 16 2 0-15 17-18 2 4 14 20 2 0-15 7.1 7.2 8.1 8.2 9.1 9.2 7 Всего*: 4 8 24 36 4 0-30 Итого (часов, баллов за 3 семестр) *: Итого (часов, баллов по дисциплине) *: Из них в интерактивной форме 18 90 36 108 90 198 144 396 20 0-100 0-300 60 *- с учетом иных видов работы 4. Виды и формы оценочных средств в период текущего контроля Таблица 3 ответ на семинаре коллоквиумы собеседование Устный опрос № темы Информационные системы и технологии Лабораторная работа на компьютере Другие формы контроля Компьютерное тестирование Итого количество баллов Виды и формы оценочных средств в период текущего контроля Модуль 1 0-5 1.1 1.2 Всего 0-5 0-10 0-10 0-20 0-15 0-10 0-25 Модуль 2 0-10 2.1 2.2 2.3 Всего 0-20 0-10 0-10 0-10 0-40 0-30 0-10 0-10 0-50 Модуль 3 0-5 3.1 3.2 Всего Итого за 1 семестр 0-10 0-10 0-15 0-10 70 30 0-5 0-20 0-25 100 Модуль 4 0-10 4.1 4.2 Всего 0-10 0-15 0-25 0-15 0-25 Модуль5 0-5 5.1 5.2 5.3 Всего 0-10 0-10 0-10 0-25 0-10 0-5 0-10 0-20 0-35 Модуль 6 0-10 6.1 6.2 6.3 Всего Итого за 2 семестр 0-10 0-10 0-10 0-10 0-20 0-10 0-30 0-10 0-40 0-80 0-20 0-100 0-20 0-10 0-30 0-5 0-5 0-10 Модуль 7 7.1 7.2 8 Всего 0-25 0-15 0-40 Модуль 8 0-10 8.1 8.2 Всего 0-10 0-10 0-10 0-20 0-20 0-10 0-30 0-10 0-5 0-15 0-10 0-5 0-15 0-20 0-10 0-30 0-65 0-35 0-100 Модуль 9 9.1 9.2 Всего Итого за 3 семестр Таблица 4. Содержание дисциплины Модуль 1. Тема 1.1. Введение в компьютерные науки Понятие информации. Виды и свойства информации. Измерение информации. Понятия информационного процесса и информационной технологии. Эволюция информационных технологий. Тема 1.2. Аппаратное, программное, алгоритмическое обеспечение Понятия аппаратного, программного и алгоритмического обеспечения. Понятие архитектуры компьютера. Структура компьютера, принципы Фон-Неймана. Эволюция компьютеров. Классификация компьютеров. 5. Модуль 2. Тема 2.1. Введение в программирование Введение в проблематику языков программирования. Понятие языка программирования. Методы описания синтаксических конструкций языков программирования. Эволюция языков программирования. Классификация языков программирования. Понятие системы программирования. Тема 2.2. Базовые концепции языков программирования Базовые концепции языков программирования. Лексемы. Константы. Типы данных. Эквивалентность и совместимость типов. Приоритет операций. Выражения. Совместимость по присваиванию. Операторы, реализующие следование, ветвление и повторение. Тема 2.3. Парадигма структурного программирования Понятие структурного программирования. Польза и вред оператора безусловного перехода. Модуль 3. Тема 3.1. Концепция модульного программирования Область действия декларации. Правила видимости. Локальные и глобальные переменные. Подпрограммы и др. средства обеспечения модульности. Передача параметров в подпрограмму. Понятие модульного программирования. Тема 3.2. Ссылочные типы данных. Файловые типы Файловые типы данных. Ссылочные типы и указатели. Модуль 4. 9 Тема 4.1. Парадигмы программирования Парадигма в языке программирования. Понятие парадигмы. Парадигма объектноориентированного программирования. Понятия раннего и позднего связывания. Парадигмы функционального и логического программирования и примеры языков программирования, реализующих данные парадигмы. Тема 4.2. Методы трансляции Методы трансляции. Понятие языкового процессора. Интерпретаторы, компиляторы, ассемблеры. Упрощенная модель компилятора. Синтаксическое дерево. Классификация формальных языков Хомского. Лексический анализ. Синтаксический анализ. Генерация и оптимизация кода. Модуль 5. Тема 5.1. Введение в теорию алгоритмов Введение в теорию алгоритмов. Интуитивное понятие алгоритма. Свойства алгоритмов. Понятие исполнителя алгоритма. Точное понятие алгоритма. Машины Тьюринга. Нормальные алгорифмы Маркова. Понятие алгоритмической неразрешимости. Методы разработки алгоритмов. Сложность алгоритмов и задач. Понятие сложности алгоритма. Тема 5.2. Сложность алгоритма Основные методы анализа сложности. Разрешимые и неразрешимые задачи. Классы сложности P и NP. NP‑полнота. Тема 5.3. Рекурсивные алгоритмы Рекурсивные алгоритмы. Понятие рекурсии. Реализация механизма рекурсии. Рекурсия и итерация. Модуль 6. Тема 6.1. Связные списки Структуры данных. Логическая и физическая структура данных. Классификация структур данных. Списки. Последовательные списки: стек, очередь, дек. Связные списки: однонаправленный список, двунаправленный список, циклический список. Тема 6.2. Деревья Бинарные деревья. Деревья и бинарные деревья. Представление дерева в виде бинарного дерева. Обход бинарного дерева. Алгоритмы уничтожения дерева, вставки информации в дерево, удаления вершины из дерева, слияния двух деревьев. Тема 6.3. Графы. Способы представления графов. Алгоритмы основных операций Графы. Способы представления графов: матрица смежностей, матрицы инцидентности и др. Алгоритмы основных операций на графах: просмотр графа, поиск вершины в графе, добавление вершин и дуг в граф, удаление вершин и дуг из графа, уничтожение графа. Модуль 7. Тема 7.1. Алгоритмы сортировки для различных структур данных Сортировка. Классификация алгоритмов сортировки. 10 Внутренняя сортировка. Основные алгоритмы сортировки: сортировка вставками, выбором, слиянием и обменами, быстрая сортировка. Оценки сложности алгоритмов внутренней сортировки. Внешняя сортировка. Алгоритмы многофазного и каскадного слияния. Тема 7.2. Алгоритмы поиска для различных структур данных Поиск. Линейный и бинарный поиск. Хеш-таблицы. Метод цепочек и повторного хеширования для разрешения коллизий. Алгоритмы поиска в глубину и в ширину на графах. Модуль 8. Тема 8.1. Решение задач с использованием ЭВМ Численное моделирование его место и роль в современной фундаментальной и прикладной науке. Этапы решения задачи с использованием ЭВМ (постановка задачи и построения материалистической модели, подбор численного метода и разработка алгоритма решения, составление программы и исполнение программы на ЭВМ). Лабораторный и вычислительный эксперименты и их сравнение Тема 8.2. Погрешности результатов решения задач с использованием ЭВМ. Накопление ошибок Особенности выполнения вычислений на ЭВМ. Диапазон и точность представления чисел. Ошибки округления. Абсолютная и относительная погрешности результатов основных арифметических операций. Накопление ошибок. Общая погрешность решения задачи на ЭВМ. Устойчивость вычислительных алгоритмов. Модуль 9. Тема 9.1. Применение численных методов для решения задач Применение численных методов для решения широкого класса задач. Постановка задачи. Виды численных методов. Условия применимости численных методов. Структуры данных, применяемые для программной реализации численных методов. Понятие скорости сходимости к решению и оценка погрешности этих методов (на примере методов численного интегрирования). Тема 9.2. Специализированное прикладное программное обеспечение Прикладное программное обеспечение, используемое для решения задач технических вычислений. Базовый инструментарий. Разработка алгоритмов. Методы визуализации данных. 6. Планы семинарских занятий Не предусмотрены. Темы лабораторных работ (Лабораторный практикум) Модуль 1. Тема 1.1. Введение в компьютерные науки Понятие информации. Измерение информации. Тема 1.2. Аппаратное, программное, алгоритмическое обеспечение Структура компьютера, принципы Фон-Неймана. Эволюция компьютеров. Классификация компьютеров. 7. 11 Модуль 2. Тема 2.1. Введение в программирование Понятие языка программирования. Методы описания синтаксических конструкций языков программирования. Понятие системы программирования. Тема 2.2. Базовые концепции языков программирования Реализация базовых концепций языков программирования. Лексемы. Константы. Типы данных. Эквивалентность и совместимость типов. Приоритет операций. Выражения. Совместимость по присваиванию. Операторы, реализующие следование, ветвление и повторение. Тема 2.3. Парадигма структурного программирования Разработка программных приложений в соответствии с парадигмой структурного программирования. Модуль 3. Тема 3.1. Концепция модульного программирования Разработка подпрограмм. Локальные и глобальные переменные. Подпрограммы и др. средства обеспечения модульности. Передача параметров в подпрограмму. Разработка программных приложений в соответствии с концепцией модульного программирования. Тема 3.2. Ссылочные типы данных. Файловые типы Файловые типы данных. Разработка программных приложений для взаимодействия с внешними файлами. Ссылочные типы и указатели. Модуль 4. Тема 4.1. Парадигмы программирования Парадигма объектно-ориентированного программирования. Интерполяция, наследование, полиморфизм. Парадигмы функционального и логического программирования. Тема 4.2 Методы трансляции Языки программирования и методы трансляции. Лексический и синтаксический анализ. Проектирование синтаксического анализатора. Генерация и оптимизация кода. Модуль 5. Тема 5.1. Введение в теорию алгоритмов Введение в теорию алгоритмов. Понятие исполнителя алгоритма. Точное понятие алгоритма. Машины Тьюринга. Методы разработки алгоритмов. Сложность алгоритмов и задач. Определение сложности алгоритма. Тема 5.3. Рекурсивные алгоритмы Рекурсивные алгоритмы. Понятие рекурсии. Реализация механизма рекурсии. Рекурсия и итерация. Модуль 6. Тема 6.1. Связные списки Структуры данных. Логическая и физическая структура данных. Классификация структур данных. Списки. Последовательные списки: стек, очередь, дек. Связные списки: однонаправленный список, двунаправленный список, циклический список. 12 Тема 6.2. Деревья Бинарные деревья. Деревья и бинарные деревья. Представление дерева в виде бинарного дерева. Обход бинарного дерева. Алгоритмы уничтожения дерева, вставки информации в дерево, удаления вершины из дерева, слияния двух деревьев. Тема 6.3. Графы. Способы представления графов. Алгоритмы основных операций Графы. Способы представления графов: матрица смежностей, матрицы инцидентности и др. Алгоритмы основных операций на графах: просмотр графа, поиск вершины в графе, добавление вершин и дуг в граф, удаление вершин и дуг из графа, уничтожение графа. Модуль 7. Тема 7.1. Алгоритмы сортировки для различных структур данных Сортировка. Классификация алгоритмов сортировки. Внутренняя сортировка. Основные алгоритмы сортировки: сортировка вставками, выбором, слиянием и обменами, быстрая сортировка. Оценки сложности алгоритмов внутренней сортировки. Внешняя сортировка. Алгоритмы многофазного и каскадного слияния. Тема 7.2. Алгоритмы поиска для различных структур данных Поиск. Линейный и бинарный поиск. Хеш-таблицы. Метод цепочек и повторного хеширования для разрешения коллизий. Алгоритмы поиска в глубину и в ширину на графах. Модуль 8. Тема 8.1. Решение задач с использованием ЭВМ Этапы решения задачи с использованием ЭВМ (постановка задачи и построения материалистической модели, подбор численного метода и разработка алгоритма решения, составление программы и исполнение программы на ЭВМ). Лабораторный и вычислительный эксперименты и их сравнение Тема 8.2. Погрешности результатов решения задач с использованием ЭВМ. Накопление ошибок Особенности выполнения вычислений на ЭВМ. Диапазон и точность представления чисел. Ошибки округления. Абсолютная и относительная погрешности результатов основных арифметических операций. Накопление ошибок. Общая погрешность решения задачи на ЭВМ. Устойчивость вычислительных алгоритмов. Модуль 9. Тема 9.1. Применение численных методов для решения задач Понятие скорости сходимости к решению и оценка погрешности численных методов (на примере методов численного интегрирования). Тема 9.2. Специализированное прикладное программное обеспечение Знакомство с прикладным программным обеспечением, используемым для решения задач технических вычислений. Базовый инструментарий. Разработка алгоритмов. Методы визуализации данных. 8. Примерная тематика курсовых работ 1. Источники и классификация погрешностей 13 2. Математические характеристики приближенных чисел, связь между ними. 3. Погрешность функции. 4. Обратная задача теории погрешностей 5. Отделение корней. Границы корней алгебраического уравнения. 6. Метод половинного деления. Обоснование. Оценка погрешности. 7. Метод хорд. Обоснование. Оценка погрешности. Алгоритм. 8. Метод касательных. Теорема о сходимости. Оценка погрешности. 9. Метод итераций. Теорема о сходимости. Оценка погрешности. Преобразование уравнения к эквивалентному виду. 10. Постановка задачи приближения функций, интерполирование. Интерполяционный полином, его существование и единственность. 11. Остаточный член интерполяционного полинома. 12. Интерполяционный полином Лагранжа, его погрешности. 13. Первый интерполяционный полином Ньютона 14. Второй интерполяционный полином Ньютона. 15. Интерполяционные полиномы Гаусса. 16. Полином Стирлинга. 17. Численное дифференцирование. Вывод формул для первой производной. 18. Постановка задачи численного интегрирования. 19. Формулы прямоугольников, их погрешности. 20. Формула трапеций, ее остаточный член. 21. Формула Симпсона, ее остаточный член. 22. Обобщенная формула трапеций, ее погрешности. 23. Обобщенная формула Симпсона, ее погрешности. 24. Задача Коши для обыкновенного дифференциального уравнения первого порядка. Метод Эйлера. Оценка погрешности на шаге и отрезке. 25. Метод Эйлера-Коши решения задачи дифференциального уравнения I порядка. Коши для обыкновенного 9. Учебно-методическое обеспечение и планирование самостоятельной работы студентов 14 № Модули и темы Модуль 1 1.1 Введение в компьютерные науки 1.2 Аппаратное, программное, алгоритмическое обеспечение Виды СРС обязательные дополнительные Проработка лекций, работа с литературой Неделя семестра Объем часов 1-2 2 3-4 5 0-10 7 0-10 5-6 6 0-5 7-12 10 0-10 13-14 6 0-5 22 0-20 Всего по модулю 1*: Модуль 2 2.1 Введение в программирование 2.2 Базовые концепции языков программирования 2.3 Парадигма структурного программирования Проработка лекций, работа с литературой Всего по модулю 2*: Модуль 3 3.1 Концепция модульного программирования 3.2 Ссылочные типы данных. Файловые типы. Проработка лекций, работа с литературой Кол-во баллов 15-16 2 17-18 5 0-5 Всего по модулю 3*: 7 0-5 Итого за 1 семестр*: 36 0-35 10 0-5 Модуль 4 4.1 Парадигмы программирования 4.2 Оптимизация кода Проработка лекций, работа с литературой 1-2 3 7 Всего по модулю 4*: 17 0-5 4 5 0-5 5-6 7 0-5 7-8- 10 0-5 22 0-10 9-13 12 0-5 14-16 10 0-5 17-18 11 0-5 Всего по модулю 6*: 33 0-15 Итого за 2 семестр*: 72 0-35 Модуль 5 5.2. Введение в теорию алгоритмов Сложность алгоритма 5.3. Рекурсивные алгоритмы 5.1 Проработка лекций, работа с литературой Всего по модулю 5*: Модуль 6 6.1 Связные списки 6.2. Деревья 6.3. Графы. Способы представления графов. Алгоритмы основных операций. Проработка лекций, работа с литературой 15 Модуль 7 Алгоритмы сортировки для различных структур данных Алгоритмы поиска для различных структур данных 7.1 7.2. Проработка лекций, работа с литературой 1-6 26 0-10 7-10 17 0-5 43 0-15 Всего по модулю 7*: Модуль 8 Решение задач с использованием ЭВМ Погрешности результатов решения задач с использованием ЭВМ. Накопление ошибок Проработка лекций, работа с литературой 11-12 9 13-14 14 0-5 23 0-5 15-16 10 0-5 17-18 14 0-5 Всего по модулю 9*: 24 0-10 Итого за 3 семестр*: 90 0-30 198 0-100 8.1. 8.2. Всего по модулю 8*: Модуль 9 Применение численных методов для решения задач Специализированное прикладное программное обеспечение 9.1. 9.2. Проработка лекций, работа с литературой ИТОГО*: *- с учетом иных видов работы 10. Фонд оценочных средств для проведения промежуточной аттестации по итогам освоения дисциплины 10.1. Перечень компетенций с указанием этапов их формирования в процессе освоения образовательной программы (выдержка из матрицы компетенций): Таблица 4 Б.1.-Б.3. Дисциплины ОПК-4 ОПК-1 Семестр Дисциплина 2 Русский язык и культура речи 5,6 Инструментальные средства компьютерного моделирования + 5,6 Системы компьютерной математики + 8 Методологические основы обучения математике + 8 Статистическая обработка результатов эксперимента + + 16 8 Стохастические методы решения инженерных задач 8 Компьютерное моделирование в механике сплошной среды 8 История развития математической науки *отмечены дисциплины базового цикла 17 + + + 10.2. Описание показателей и критериев оценивания компетенций на различных этапах их формирования, описание шкал оценивания Таблица 5 Карта критериев оценивания компетенций ОПК-1 Код компетенции Критерии в соответствии с уровнем освоения ОП пороговый (удовл.) 61-75 баллов базовый (хор.) 76-90 баллов повышенный (отл.) 91-100 баллов Знает: знает о возможностях применения офисных пакетов для решения задач профессиональной деятельности Умеет: осуществлять поиск дополнительной информации в информационно-библиотечных системах Владеет: основами поиска информации. Знает: технологии программирования численных методов на языках высокого уровня Умеет: использовать основные образовательные технологии и поисковые и библиотечные системы. Владеет: различными способами поиска информации. Знает: различные технологии и подходы к решению стандартных задач профессиональной деятельности с использованием современных средств программирования Умеет: применять различные образовательные технологии, поисковые библиотечные системы Владеет: методами поиска информации и использует в практической деятельности. Виды занятий (лекции, семинар ские, практические, лабораторные) Лекции, лабораторные работы, контрольная работа. Оценочные средства (тесты, творческие работы, проекты и др.) Тесты, практические задания, контрольная работа. ОПК-4 Код компетенции Критерии в соответствии с уровнем освоения ОП пороговый (удовл.) 61-75 баллов базовый (хор.) 76-90 баллов повышенный (отл.) 91-100 баллов Знает: понятие алгоритма, свойства алгоритма, виды алгоритмов, виды структур данных; основные алгоритмы поиска, сортировки Умеет: выполнять расчеты по базовым алгоритмам вручную Владеет: классификацией алгоритмов по различным критериям, навыками использования Microsoft Excel для расчета простейших алгоритмов Знает: понятие алгоритма, свойства алгоритма, виды алгоритмов, виды структур данных; основные алгоритмы поиска, сортировки на различных структурах данных (рекурсисный и нерекурсивный варианты) Умеет: реализовывать базовые алгоритмы вручную и на языке программирования, находить собственные ошибки Владеет: навыками поиска информации в учебной литературе и сети интернет; навыками программной реализации базовых алгоритмов Знает: виды алгоритмов, виды структур данных; эффективные алгоритмы поиска, сортировки на различных структурах данных Умеет: реализовывать сложные алгоритмы вручную и на языке программирования, находить собственные ошибки интерпретировать полученные результаты, оценивать эффективность алгоритма Владеет: навыками поиска информации в учебной литературе и сети интернет; навыками программной реализации сложных алгоритмов 19 Виды занятий (лекции, семинар ские, практические, лабораторные) Лекции, лабораторные работы, контрольная работа. Оценочные средства (тесты, творческие работы, проекты и др.) Тесты, практические задания, контрольная работа. 10.3. Типовые контрольные задания или иные материалы, необходимые для оценки знаний, умений, навыков и (или) опыта деятельности, характеризующей этапы формирования компетенций в процессе освоения образовательной программы Примеры заданий для контрольной работы 1. Построить кубический интерполяционный сплайн для функции заданной таблично: с краевыми условиями 2. Вычислить значение интеграла по формуле трапеций и оценить погрешность 3. Найти значение первой производной функции заданной таблично в точке x = 0.2 и оценить погрешность. 4. Задана система a) Найти решение методом Гаусса; b) Привести систему к виду, удобному для итерации, и найти решение с точностью =5*10-4 5. Исследовать обусловленность симметричной матрицы 6. Решить сеточным методом следующую задачу Вопросы к экзамену: Алфавит языка программирования Паскаль. Структура программы на языке Паскаль. Понятие переменных и выражений. Определение типа данных. Классификация типов данных языка Паскаль. Целочисленные типы данных. Диапазоны, допустимые операции, стандартные процедуры и функции. 6. Вещественные типы данных. Диапазоны, допустимые операции, стандартные процедуры и функции. 7. Символьный тип данных. Операции с символьными переменными, стандартные процедуры и функции. 8. Логические типы. Внутреннее представление. Операции с логическими переменными. 9. Порядковые типы данных. 10. Простые типы данных, определяемые программистом. Перечисляемый тип. 11. Простые типы данных, определяемые программистом. Тип диапазон. 12. Операторы языка программирования Паскаль. Простые операторы. Оператор присваивания. 13. Операторы языка программирования Паскаль. Процедуры ввода/вывода данных. 14. Управляющие операторы языка программирования Паскаль. Условный оператор. 15. Управляющие операторы языка программирования Паскаль. Оператор выбора. 16. Операторы цикла языка программирования Паскаль. Общие понятия и определения. Цикл с параметром. 17. Операторы цикла языка программирования Паскаль. Общие понятия и определения. Цикл с предусловием. 18. Операторы цикла языка программирования Паскаль. Общие понятия и определения. Цикл с постусловием. 19. Структурированные типы данных. Одномерные массивы. 20. Структурированные типы данных. Двумерные массивы. 21. Структурированные типы данных. Строки. Операции со строками. Стандартные процедуры и функции для работы со строками. 22. Структурированные типы данных. Множества. 23. Структурированные типы данных. Записи. 24. Подпрограммы. Основные понятия и определения. Типы подпрограмм в языке Паскаль. 25. Подпрограммы. Основные понятия и определения. Глобальные и локальные переменные. 26. Подпрограммы. Формальные и фактические параметры. Типы параметров подпрограмм. 27. Подпрограммы. Параметры-значения. 28. Подпрограммы. Параметры-переменные. 29. Подпрограммы. Параметры-константы. 30. Подпрограммы. Передача в подпрограммы открытых массивов и строк. 31. Подпрограммы. Рекурсивные подпрограммы. 1. 2. 3. 4. 5. 21 32. Среда программирования Borland Delphi. Вид главного окна приложения (главное окно, окно стартовой формы, окно редактора свойств объектов (инспектор объектов), окно просмотра списка объектов (дерево объектов), окно редактора кода). 33. Среда программирования Borland Delphi. Палитра компонент. Размещение компонента на форме. Изменение размеров компонента. 34. Среда программирования Borland Delphi. Управление проектом. Панели и компоненты внешнего оформления. 35. Среда программирования Borland Delphi. Компоненты кнопка, метка, поле ввода. Основные свойства, события, методы. 36. Групповые элементы управления. Компоненты TRadioGroup, TCheckBox. Основные свойства, события, методы. 37. Групповые элементы управления. Компоненты TMainMenu, TPopupMenu . Основные свойства, события, методы. 38. Среда программирования Borland Delphi. Объект форма. Основные свойства, события, методы. 39. Компонент TTimer. Основные свойства, события, методы. 40. Среда программирования Borland Delphi. Понятие события. Обработчик события. 41. Особенности отображения одномерных и двумерных массивов в Delphi. Компонент TStringGrid. Основные свойства, события, методы. 42. Компоненты для обработки текстовой информации. TListBox , TMemo , TComboBox . Основные свойства, события, методы. 43. Понятие файла. Текстовые и типизированные файлы. 44. Возможности среды Delphi для работы с файлами. Стандартные диалоги для открытия и сохранения файлов. 45. Текстовые файлы. Процедуры и функции для работы с текстовыми файлами. 46. Текстовые файлы. Свойства и методы компонентов TListBox , TMemo , TComboBox для работы с тестовыми файлами. 47. Типизированные файлы. Процедуры и функции для работы с типизированными файлами. 48. Среда программирования Borland Delphi 7. Обработка событий мыши. Последовательность событий. Распознавание источника события. 49. Среда программирования Borland Delphi 7. Обработка событий клавиатуры. Последовательность событий. Распознавание нажатых клавиш. 50. Графика в Delphi. Объект TCanvas. Основные свойства TFont, TPen, TBrush. 51. Графика в Delphi. Объект TCanvas. Рисование с помощью пера и кисти. Основные свойства и методы. 52. Графика в Delphi. Компонент TImage. Основные свойства, события, методы. Форматы графических файлов. 53. Основные понятия и этапы математического моделирования. Численный эксперимент. 54. Устранимая и неустранимая погрешности математического моделирования. 55. Приближенные числа. Правила записи приближенных чисел. Абсолютная и относительная погрешность. 56. Погрешность вычисления функции одной и нескольких переменных. 22 57. Абсолютная и относительная погрешности сложения, вычитания приближенных чисел. 58. Абсолютная и относительная погрешности умножения, деления приближенных чисел. 59. Итерационные последовательности. Типы сходимости итерационных последовательностей. 60. Численные методы решения уравнений. Метод простой итерации. 61. Метод касательных (Ньютона-Рафсона) решения уравнений. 62. Метод дихотомии (половинного деления) решения уравнений. 63. Метод хорд (секущих) решения уравнений. 64. Решение систем линейных уравнений. Матричная форма записи систем линейных уравнений. Решение систем линейных уравнений методом обратной матрицы. 65. Влияние погрешности коэффициентов системы уравнений на погрешность результата. Обусловленность систем линейных уравнений. 66. Точные (прямые) методы решения систем линейных уравнений. Методы Гаусса, Гаусса-Жордана, Крамера. 67. Численные методы решения систем уравнений. Метод сопряженных градиентов. 68. Численные методы решения систем уравнений. Метод минимальных невязок. 69. Аппроксимация ряда точек заданной функцией с параметрами. Интерполяция сплайнами. 70. Регрессионный анализ методом наименьших квадратов на примере линейной зависимости. 71. Линейные и нелинейные математические модели в регрессионном анализе. Приведение нелинейных моделей к линейному виду. 72. Численные методы решения систем нелинейных уравнений. Метод простой итерации. Метод Зейделя. 73. Численные методы решения систем нелинейных уравнений. Метод Ньютона. 74. Решение задач оптимизации функции нескольких переменных. 75. Метод наискорейшего спуска. 76. Методы численного интегрирования. Методы прямоугольников, трапеций. 77. Метод Симпсона численного интегрирования. 78. Квадратурные формулы Гаусса численного интегрирования. Числа Котеса. 79. Система ортогональных полиномов Чебышева. Использование для задач численного интегрирования. 80. Система ортогональных полиномов Эрмита. Использование для задач численного интегрирования. 81. Система ортогональных полиномов Ляггера. Использование для задач численного интегрирования. 82. Система ортогональных полиномов Лежандра. Использование для задач численного интегрирования. 83. Численные методы решения обыкновенных дифференциальных уравнений первого порядка. Метод Эйлера. 84. Методы Рунге-Кутта 2-го – 4-го порядков решения дифференциалных уравнений первого порядка. 85. Метод прогноза и коррекции. 23 86. Численное решение систем дифференциальных уравнений первого порядка. 87. Численное решение дифференциальных уравнений высших порядков путем сведения к решению системы дифференциальных уравнений первого порядка. 10.4. Методические материалы, определяющие процедуры оценивания знаний, умений, навыков и (или) опыта деятельности характеризующих этапы формирования компетенций К экзамену допускаются студенты, набравшие за семестр 35 баллов. Экзамен проходит в традиционной форме, по билетам. В билете – 2 вопроса. Для получения оценки «удовлетворительно» студентом должно быть сдано не менее 60% заданий лабораторных работ семестра и дан ответ на 1 вопрос из билета, в общем раскрывающий тему и не содержащий грубых ошибок. Ответ студента должен показывать, что он знает и понимает смысл и суть описываемой темы и ее взаимосвязь с другими разделами дисциплины и с другими дисциплинами специальности. Для получения оценки «хорошо» студент должен сдать минимум 75% заданий лабораторных работ семестра и ответить на оба вопроса билета. Ответ должен раскрывать тему и не содержать грубых ошибок. Ответ студента должен показывать, что он знает и понимает смысл и суть описываемой темы и ее взаимосвязь с другими разделами дисциплины и с другими дисциплинами специальности, может воспроизвести общую схему описываемого алгоритма, знает и понимает основные свойства, область применения. Может привести пример по описываемой теме. Ответ может содержать небольшие недочеты, если суть изложена верно. Для получения оценки «отлично» студент должен сдать минимум 90% заданий лабораторных работ семестра и ответить на оба вопроса билета. Ответ должен быть подробным, в полной мере раскрывать тему и не содержать грубых или существенных ошибок. Каждый вопрос должен сопровождаться примерами. В ответе должны быть приведены доказательства всех теорем и(или) подробное описание шагов алгоритма. 11. Образовательные технологии а) аудиторные занятия: лекционные и практические занятия; на практических занятиях контроль осуществляется при ответе у доски и при проверке домашних заданий. б) активные и интерактивные формы компьютерное моделирование и анализ результатов при выполнении лабораторных работ, работа в группах в) внеаудиторные занятия: самостоятельная работа; индивидуальные консультации.. 12. Учебно-методическое и информационное обеспечение дисциплины 12.1. Основная литература: 1. Павловская, Т. А. C#: программирование на языке высокого уровня: учебник/ Т. А. Павловская. - Санкт-Петербург: Питер, 2010. 24 2. Вержбицкий В. М. Основы численных методов: учеб. для студентов вузов, обуч. по напр. подготовки дипломир. спец. "Прикладная математика"/ В. М. Вержбицкий. -Москва: Высшая школа, 2009. 3. Бобровский, С. И. Delphi 7: учеб. курс/ С. И. Бобровский. - Санкт-Петербург: ПИТЕР, 2008. 12.2. Дополнительная литература: 1. Языки программирования [Электронный ресурс]: лаб. практикум/ Е. С. Охотников, Е. С. Охотникова; ред. Ю. Ф. Евстигнеева. - Электрон. дан. и прогр.. - Тюмень: Изд-во ТюмГУ: Виндекс, 2008. 2. Костомаров Д. П. Вводные лекции по численным методам: учеб. пособие для студ. вузов, обуч. по напр. 510200 "Прикладная математика и информатика" и спец. 010200 "Прикладная математика и информатика"/ Д. П. Костомаров, А. П. Фаворский. -Москва: Логос, 2006. 3. Бахвалов Н. С. Численные методы: учеб. пособие для студентов физ.-мат. спец. вузов/ Н. С. Бахвалов, Н. П. Жидков, Г. М. Кобельков. -2-е изд.. -Москва: Физматлит: Лаборатория Базовых Знаний; Санкт-Петербург: Невский Диалект, 2002. 4. Вержбицкий В. М. Численные методы. Математический анализ и обыкновенные дифференциальные уравнения : учеб. пособие для студентов вузов, обуч. по мат. спец. и напр. подготовки дипломир. спец. в области техники и технологии/ В. М. Вержбицкий. -Москва: Высшая школа, 2001. 12.3. Интернет – ресурсы: o вузовские электронно-библиотечные системы учебной литературы. o база научно-технической информации ВИНИТИ РАН 13. Перечень информационных технологий, используемых при осуществлении образовательного процесса по дисциплине (модулю), включая перечень программного обеспечения и информационных справочных систем (при необходимости) В процессе обучения используются технологии работы с текстовыми редакторами, табличным процессором, с базовым программным обеспечением, с пакетами прикладных программных продуктов. Технология Форма проведения занятий Информационно-коммуникационные технологии Лабораторная работа Внеаудиторная работа Интернет-технология Лекция Лабораторная работа Внеаудиторная работа 14. Технические средства и материально-техническое обеспечение дисциплины 25 Учебные аудитории для проведения лекционных занятий, оснащенные мультимедийным оборудованием. Установленное ПО: Microsoft Excel, Borland Delphi 2007 (или более поздняя версия), Microsoft Visual Studio 2013 (или более поздняя версия). Методические указания для обучающихся по освоению дисциплины (модуля). Дисциплина изучается на лекциях, лабораторных работах, при выполнении контрольного задания и во время самостоятельной работы. Изучение дисциплины заканчивается зачетом. 15. При изучении дисциплины «Технологии программирования численных методов» особое внимание должно быть обращено на приобретение практических навыков использования программных продуктов. Знания, умения и навыки, полученные при изучении дисциплины, должны обеспечить возможность дальнейшей самостоятельной работы на ПК при решении различных прикладных задач. Контрольные работы позволяют определить уровень знаний, полученных в процессе изучения дисциплины, в том числе и в процессе самостоятельного изучения отдельных вопросов. При выполнении контрольного задания следует решить максимально возможное количество задач, учитывать баллы. Контрольная работа выполняется в виде компьютерного тетирования. Для подготовки к собеседованиям и коллоквиумам необходимо пользоваться конспектом лекций и источниками [1-3] из списка основной литературы. Для выполнения лабораторных работ следует использовать [1] из дополнительной литературы, методички и раздаточный материал, выдаваемые преподавателем. Для получения фундаментальных, углубленных знаний по тематике рекомендуется пользоваться [2-4] из дополнительной литературы. 26 Дополнения и изменения к рабочей программе на 201__ / 201__ учебный год В рабочую программу вносятся следующие изменения: ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ ___________________ Рабочая программа пересмотрена и одобрена на заседании ______________________________________ «__» _______________201 г. Заведующий кафедрой ___________________/___________________/ Подпись Ф.И.О. 27 кафедры