Закреплена за кафедрой | Кафедра теоретической кибернетики и прикладной математики |
---|---|
Направление подготовки | 02.04.01. Математика и компьютерные науки |
Профиль | Алгебра и дискретная математика |
Форма обучения | Очная |
Общая трудоемкость | 4 ЗЕТ |
Учебный план | 02_04_01_Математика и компьютерные науки_АиДМ-2023 |
|
|
Распределение часов по семестрам
Курс (семестр) | 1 (2) | Итого | ||
---|---|---|---|---|
Недель | 22 | |||
Вид занятий | УП | РПД | УП | РПД |
Лекции | 16 | 16 | 16 | 16 |
Практические | 26 | 26 | 26 | 26 |
Сам. работа | 102 | 102 | 102 | 102 |
Итого | 144 | 144 | 144 | 144 |
Визирование РПД для исполнения в очередном учебном году
Рабочая программа пересмотрена, обсуждена и одобрена для
исполнения в 2023-2024 учебном году на заседании
кафедры
Кафедра теоретической кибернетики и прикладной математики
Протокол от 29.06.2022 г. № 11
Заведующий кафедрой к.т.н., доцент Понькина Е.В.
1.1. | Цель освоения дисциплины – овладеть навыками математического моделирования и программирования на Python необходимыми для анализа поведения сложных систем, состоящих из множества взаимодействующих компонентов, в том числе природных и социальных систем. |
---|
Цикл (раздел) ООП: Б1.В.ДВ.01.01 |
ПК-3 | Способен представлять и адаптировать математические знания и информационные технологий для решения собственных задач в области алгебры и дискретной математики. |
ПК-3.1 | Умеет осуществлять теоретическое обобщение научных данных, результатов экспериментов и наблюдений. |
ПК-3.2 | Владеет навыками оформления результатов научноисследовательских работ с использованием ИКТ. |
В результате освоения дисциплины обучающийся должен | |
3.1. | Знать: |
---|---|
3.1.1. | Язык программирования Python и его возможности для моделирования сложных систем и проведения научных исследований |
3.2. | Уметь: |
3.2.1. | Создавать математическое модели реальных процессов и сложных систем, моделировать взаимодействие систем на языке Python |
3.3. | Иметь навыки и (или) опыт деятельности (владеть): |
3.3.1. | Программированием на языке Python, инструментами библиотек языка для моделирования сложных систем и проведения научных исследований |
Код занятия | Наименование разделов и тем | Вид занятия | Семестр | Часов | Компетенции | Литература |
---|---|---|---|---|---|---|
Раздел 1. Объектно-ориентированное программирование | ||||||
1.1. | Объектно-ориентированный анализ. Объектно-ориентированное программирование. Основы программирования классов. Основные принципы ООП. Паттерны проектирования | Лекции | 2 | 2 | Л1.1, Л2.2, Л1.2, Л2.1 | |
1.2. | Объектно-ориентированное программирование на Python | Практические | 2 | 2 | Л1.1, Л2.2, Л1.2, Л2.1 | |
1.3. | Объектно-ориентированное программирование на Python | Сам. работа | 2 | 8 | Л1.1, Л2.2, Л1.2, Л2.1 | |
1.4. | Паттерны проектирования | Сам. работа | 2 | 8 | Л1.1, Л2.2, Л1.2, Л2.1 | |
Раздел 2. Python для научных исследований | ||||||
2.1. | Работа с базами данных в Python (SQLite, MySQL, PostgreSQL) | Лекции | 2 | 2 | Л1.1, Л2.2, Л1.2, Л2.1 | |
2.2. | Работа с базами данных в Python | Практические | 2 | 2 | Л1.1, Л2.2, Л1.2, Л2.1 | |
2.3. | Работа с базами данных в Python | Сам. работа | 2 | 8 | Л1.1, Л2.2, Л1.2, Л2.1 | |
2.4. | Работа с многомерными массивами в NumPy | Практические | 2 | 2 | Л1.1, Л2.2, Л1.2, Л2.1 | |
2.5. | Работа с многомерными массивами в NumPy | Сам. работа | 2 | 10 | Л1.1, Л2.2, Л1.2, Л2.1 | |
2.6. | Визуализация в Matplotlib. Научная графика | Практические | 2 | 2 | Л1.1, Л2.2, Л1.2, Л2.1 | |
2.7. | Визуализация в Matplotlib. Научная графика | Сам. работа | 2 | 10 | Л1.1, Л2.2, Л1.2, Л2.1 | |
2.8. | Возможности библиотеки SciPy | Практические | 2 | 2 | Л1.1, Л2.2, Л1.2, Л2.1 | |
2.9. | Возможности библиотеки SciPy | Сам. работа | 2 | 8 | Л1.1, Л2.2, Л1.2, Л2.1 | |
Раздел 3. Моделирование сложных систем | ||||||
3.1. | Введение в моделирование сложных систем. Динамическое программирование | Лекции | 2 | 2 | Л1.1, Л2.2, Л1.2, Л2.1 | |
3.2. | Динамическое программирование: решение сложных задач путем разбиения | Практические | 2 | 2 | Л1.1, Л2.2, Л1.2, Л2.1 | |
3.3. | Динамическое программирование | Сам. работа | 2 | 10 | Л1.1, Л2.2, Л1.2, Л2.1 | |
3.4. | Алгоритмы поиска и сортировки | Лекции | 2 | 2 | Л1.1, Л2.2, Л1.2, Л2.1 | |
3.5. | Анализ последовательностей ДНК | Практические | 2 | 2 | Л1.1, Л2.2, Л1.2, Л2.1 | |
3.6. | Алгоритмы поиска и сортировки | Сам. работа | 2 | 10 | Л1.1, Л2.2, Л1.2, Л2.1 | |
3.7. | Графовые алгоритмы | Лекции | 2 | 4 | Л1.1, Л2.2, Л1.2, Л2.1 | |
3.8. | Графовые алгоритмы: анализ социальных сетей | Практические | 2 | 4 | Л1.1, Л2.2, Л1.2, Л2.1 | |
3.9. | Графовые алгоритмы | Сам. работа | 2 | 10 | Л1.1, Л2.2, Л1.2, Л2.1 | |
3.10. | Задачи с ограничениями | Лекции | 2 | 2 | Л1.1, Л2.2, Л1.2, Л2.1 | |
3.11. | Задачи с ограничениями: задача восьми ферзей | Практические | 2 | 4 | Л1.1, Л2.2, Л1.2, Л2.1 | |
3.12. | Задачи с ограничениями | Сам. работа | 2 | 10 | Л1.1, Л2.2, Л1.2, Л2.1 | |
3.13. | Генетические алгоритмы | Лекции | 2 | 2 | Л1.1, Л2.2, Л1.2, Л2.1 | |
3.14. | Генетические алгоритмы: составление рабочего графика | Практические | 2 | 4 | Л1.1, Л2.2, Л1.2, Л2.1 | |
3.15. | Генетические алгоритмы | Сам. работа | 2 | 10 | Л1.1, Л2.2, Л1.2, Л2.1 |
5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины |
Оценочные материалы для текущего контроля по разделам и темам дисциплины в полном объеме размещены в онлайн-курсе на образовательном портале «Цифровой университет АлтГУ» – https://portal.edu.asu.ru/course/view.php?id=8703. ОЦЕНКА СФОРМИРОВАННОСТИ КОМПЕТЕНЦИИ ПК-3: Способен представлять и адаптировать математические знания и информационные технологий для решения собственных задач в области алгебры и дискретной математики. ПРИМЕРЫ ЗАДАНИЙ ЗАКРЫТОГО ТИПА - ttps://disk.yandex.ru/i/uoF64AepsRz_-g ПРИМЕРЫ ЗАДАНИЙ ОТКРЫТОГО ТИПА - https://disk.yandex.ru/i/dLQvh4p7d3VWVQ КРИТЕРИИ ОЦЕНИВАНИЯ: Каждое задание оценивается 1 баллом. Оценивание КИМ в целом: «отлично» – верно выполнено 85-100% заданий; «хорошо» – верно выполнено 70-84% заданий; «удовлетворительно» – верно выполнено 51-69% заданий; «неудовлетворительно» – верно выполнено 50% или менее 50% заданий. |
5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.) |
Не предусмотрено |
5.3. Фонд оценочных средств для проведения промежуточной аттестации |
Промежуточная аттестация осуществляется путем проведения зачета. На зачете каждому студенту необходимо решить одно задание. Защита выполненного задания обучающимися происходят в виде беседы преподавателя с обучающимся на темы, связанные с изучаемой дисциплиной, с демонстрацией разработанной компьютерной программы. Пример типовой задачи: Дезоксирибонуклеиновая кислота (ДНК) – макромолекула, обеспечивающая хранение, передачу из поколения в поколение и реализацию генетической программы развития и функционирования живых организмов. Молекула ДНК хранит биологическую информацию в виде генетического кода, состоящего из последовательности нуклеотидов. В компьютерных программах гены обычно представляются в виде последовательности символов A, G, T, C, где каждая буква обозначает нуклеотид (аденин (A), гуанин (G), тимин (T) и цитозин (C), а комбинация трех нуклеотидов называется кодоном (единицей генетического кода). Классическая задача биоинформатики – найти в гене определенный кодон. Задание 1. Ген, как правило, представлен в виде строки, содержащей нуклеотиды (буквы A, G, T, C) в той последовательности, в которой они представлены в гене. Определите такую строку gene_str. 2. Определите строку key_codon, состоящую из трех нуклеотидов. Это и будет искомый кодон. 3. Определите функцию, которая берет каждые три символа строки gene_str и записывает их в список codon. Если функция обнаруживает, что два нуклеотида после текущего отсутствуют, то это означает, что достигнут конец строки и функция завершает свою работу. 4. Реализуйте функцию, осуществляющую линейный поиск, и возвращающую True, если key_codon найден. 5. Реализуйте функцию, осуществляющую бинарный поиск, и возвращающую True, если key_codon найден. Критерии оценивания: 85-100 баллов (повышенный уровень): Задание решено студентом самостоятельно. При этом составлен правильный алгоритм решения задачи, в логических рассуждениях и в выборе алгоритма решения нет ошибок, получен верный ответ. 70-84 баллов (базовый уровень): Задание решено с подсказкой преподавателя. При этом составлен правильный алгоритм решения задания, в логическом рассуждении и решении нет существенных ошибок; задание решено нерациональным способом или допущено не более двух несущественных ошибок, получен верный ответ. 50-69 баллов (пороговый уровень): Студентом задание решено с подсказками преподавателя. При этом задание понято правильно, в логическом рассуждении нет существенных ошибок, но допущены существенные ошибки в выборе алгоритма или в математических расчетах; задание решено не полностью или в общем виде. 0-49 баллов (уровень не сформирован): Задание не решено. Для того, чтобы задание было зачтено, студенту необходимо набрать более 50 баллов. |
6.1. Рекомендуемая литература | ||||
6.1.1. Основная литература | ||||
Авторы | Заглавие | Издательство, год | Эл. адрес | |
Л1.1 | Л. Рамальо | Python. К вершинам мастерства: | ДМК Пресс, 2016//ЭБС издательства «Лань» | e.lanbook.com |
Л1.2 | Буйначев С. К., Боклаг Н. Ю. | Основы программирования на языке Python: Учебники и учебные пособия для ВУЗов | Издательство Уральского университета, 2014 | biblioclub.ru |
6.1.2. Дополнительная литература | ||||
Авторы | Заглавие | Издательство, год | Эл. адрес | |
Л2.1 | Прохоренок Н., Дронов В. | Python 3. Самое необходимое.: | БХВ-Петербург, 2016 | bhv.ru |
Л2.2 | Саммерфилд М. | Python на практике: Учебные пособия | Издательство "ДМК Пресс", 2014 | e.lanbook.com |
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет" | ||||
Название | Эл. адрес | |||
Э1 | Python для научных исследований и моделирования сложных систем | portal.edu.asu.ru | ||
6.3. Перечень программного обеспечения | ||||
ASTRA LINUX SPECIAL EDITION (https://astralinux.ru/products/astra- linux-special-edition/), (бессрочно); LibreOffice (https://ru.libreoffice.org/), (бессрочно); Веб-браузер Chromium (https://www.chromium.org/Home/), (бессрочно); Антивирус Касперский (https://www.kaspersky.ru/), (до 23 июня 2024); Дистрибутив Anaconda (бессрочно). | ||||
6.4. Перечень информационных справочных систем | ||||
1. Основы алгоритмизации и программирования на языке Python [Электронный ресурс]: https://portal.edu.asu.ru/course/view.php?id=3237 2. Издательство «Лань» - электронно-библиотечная система [Электронный ресурс]: http://e.lanbook.com 3. Издательство МЦНМО. Свободно распространяемые книги издательства Московского центра непрерывного математического образования [Электронный ресурс]: www.mccme.ru/free-books 4. Электронная библиотечная система Алтайского государственного университета [Электронный ресурс]: http://elibrary.asu.ru 5. Электронная база данных ZBMATH: https://zbmath.org/ |
Аудитория | Назначение | Оборудование |
---|---|---|
408Л | лаборатория математического моделирования - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации | Учебная мебель на 15 посадочных мест; рабочее место преподавателя; доска меловая 1 шт.; компьютер Depo - 10 шт., 5 шт. с мониторами LG и 5 шт. с мониторами Philips; мультимедиа-проектор Sony - 1 шт.; МФУ Canon - 1 шт.; стационарный экран: марка Digis Optima C - 1 шт. |
Учебная аудитория | для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик | Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска) |
107Л | лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации | Учебная мебель на 18 посадочных мест; компьютеры: марка HP, модель ProOne 400 - 18 единиц; проектор: марка SMART, модель UF70 - 1 единица; интерактивная доска: марка SMART Board модель SMB680 - 1 единица |
Для успешного освоения дисциплины студент должен посещать лекции и практические занятия, вовремя выполнять все задания, пользоваться основной и дополнительной литературой, рекомендованной настоящей программой. Во время лекции рекомендуется вести краткий конспект. Навыки моделирования и программирования на языке Python студент приобретает на практических занятиях. Для выполнения заданий каждому студенту необходимо: - получить задание у преподавателя; - скачать документ с описанием задания с образовательного портала (https://portal.edu.asu.ru/course/view.php?id=8703); - внимательно прочитать задание. Вопросы, возникающие в процессе выполнения работ, необходимо грамотно сформулировать и обратиться за помощью к преподавателю на консультации или ближайшем занятии; - разработать, отладить и оттестировать программы, решающие поставленные задачи. Для каждого задания предусмотрена процедура защиты, в ходе которой преподаватель проводит устный опрос студентов для контроля понимания выполненных ими заданий. При подготовке к зачету в дополнение к изучению конспектов лекций и учебной литературы, рекомендуется посещать консультации и пользоваться свободными Интернет-ресурсами. |