МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение высшего образования
«Алтайский государственный университет»

Системы научных расчетов в Python

рабочая программа дисциплины
Закреплена за кафедройКафедра математического анализа
Направление подготовки02.03.01. Математика и компьютерные науки
ПрофильКомпьютерные науки
Форма обученияОчная
Общая трудоемкость3 ЗЕТ
Учебный план02_03_01_Математика и компьютерные науки_КН-2024
Часов по учебному плану 108
в том числе:
аудиторные занятия 36
самостоятельная работа 72
Виды контроля по семестрам
зачеты: 4
курсовой проект: 4

Распределение часов по семестрам

Курс (семестр) 2 (4) Итого
Недель 22
Вид занятий УПРПДУПРПД
Лабораторные 36 36 36 36
Сам. работа 72 72 72 72
Итого 108 108 108 108

Программу составил(и):
Преподаватель, Клепиков П.Н.

Рецензент(ы):
к.ф.-м.н., Доцент, Пономарём И.В.

Рабочая программа дисциплины
Системы научных расчетов в Python

разработана в соответствии с ФГОС:
Федеральный государственный образовательный стандарт высшего образования - бакалавриат по направлению подготовки 02.03.01 Математика и компьютерные науки (приказ Минобрнауки России от 23.08.2017 г. № 807)

составлена на основании учебного плана:
02.03.01 Математика и компьютерные науки
утвержденного учёным советом вуза от 26.06.2023 протокол № 4.

Рабочая программа одобрена на заседании кафедры
Кафедра математического анализа

Протокол от 29.06.2022 г. № 6
Срок действия программы: 2022-2023 уч. г.

Заведующий кафедрой
Саженков Александр Николаевич


1. Цели освоения дисциплины

1.1.Цель - овладеть основными принципами программирования на высокоуровневом языке Python, прикладыми аспектами его применения, а также использованию его для научных расчетов.
Изучение дисциплины направлено на:

- развитие у обучающихся алгоритмического мышления,

- формирование навыков реализации различных алгоритмов на высокоуровневом языке программирования,

- применение знаний к решению прикладных задач.

2. Место дисциплины в структуре ООП

Цикл (раздел) ООП: Б1.О.02.ДВ.01

3. Компетенции обучающегося, формируемые в результате освоения дисциплины

ОПК-4Способен находить, анализировать, реализовывать программно и использовать на практике математические алгоритмы, в том числе с применением современных вычислительных систем
ОПК-4.1 Знает базовые основы современного математического аппарата, связанного с проектированием, разработкой, реализацией и оценкой качества программных продуктов и программных комплексов в различных областях человеческой деятельности
ОПК-4.2 Умеет использовать этот математический аппарат в профессиональной деятельности
ОПК-4.3 Имеет практический опыт применения современного математического аппарата, связанного с проектированием, разработкой, реализацией и оценкой качества программных продуктов и программных комплексов в различных областях человеческой деятельности
ОПК-6Способен разрабатывать алгоритмы и компьютерные программы, пригодные для практического применения
ОПК-6.1 Знает основные языки программирования и работы с базами данных, операционные системы и оболочки, современные программные среды разработки информационных систем и технологий
ОПК-6.2 Умеет применять языки программирования и работы с базами данных, современные программные среды разработки информационных систем и технологий для автоматизации бизнес-процессов, решения прикладных задач различных классов, ведения баз данных и информационных хранилищ
ОПК-6.3 Владеет навыками программирования, отладки и тестирования прототипов программнотехнических комплексов задач
В результате освоения дисциплины обучающийся должен
3.1.Знать:
3.1.1.- Парадигмы, архитектурные черты, семантику и синтаксис языка программирования Python,

- назначение, устройство и свойства основных структур данных и конструкций языка Python,

- модули и пакеты для решения различных прикладных и научных задач.
3.2.Уметь:
3.2.1.- Разрабатывать математические методы и алгоритмы решения различных задач,

- использовать для разработки и отладки программ интегрированные среды разработки,
- находить модули и пакеты необходимые для решения поставленной научной задачи.
3.3.Иметь навыки и (или) опыт деятельности (владеть):
3.3.1.- Навыками чтения, написания, отладки и тестирования программ на высокоуровневом языке программирования в интегрированной среде разработки.

4. Структура и содержание дисциплины

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Основы программирования на Python
1.1. Переменные: именование переменных, присваивание значения переменным, удаление переменных. Операторы: математические операторы, двоичные операторы, приоритет выполнения операторов. Типы данных: числовые типы, строки, списки, кортежи, множества, диапазоны, словари. Операторы для работы с последовательностями и отображениями. Простые и составные инструкции в Python. Условные операторы. Циклы в Python. Инструкции управления циклом. Функции. Создание пользовательских функций. Аргументы функций. Область видимости переменных. Рекурсия. Модули, импортирование модулей. Работа с файлами. Посимвольное и побитовое чтение из файла и запись в файл. Лабораторные 4 9 Л2.2, Л2.3, Л1.2, Л1.4, Л1.5, Л1.6
1.2. Переменные: именование переменных, присваивание значения переменным, удаление переменных. Операторы: математические операторы, двоичные операторы, приоритет выполнения операторов. Типы данных: числовые типы, строки, списки, кортежи, множества, диапазоны, словари. Операторы для работы с последовательностями и отображениями. Простые и составные инструкции в Python. Условные операторы. Циклы в Python. Инструкции управления циклом. Функции. Создание пользовательских функций. Аргументы функций. Область видимости переменных. Рекурсия. Модули, импортирование модулей. Работа с файлами. Посимвольное и побитовое чтение из файла и запись в файл. Сам. работа 4 18 Л2.2, Л2.3, Л1.2, Л1.4, Л1.5, Л1.6
Раздел 2. Научные расчёты в Python
2.1. Использование модуля numpy для численных расчётов Лабораторные 4 9 Л1.1, Л2.1, Л2.4, Л1.3, Л2.5
2.2. Использование модуля numpy для численных расчётов Сам. работа 4 18 Л1.1, Л2.1, Л2.4, Л1.3, Л2.5
2.3. Использование модуля matplotlib для вывода графиков и другой информации на экран Лабораторные 4 9 Л1.1, Л2.1, Л2.4, Л1.3, Л2.5
2.4. Использование модуля matplotlib для вывода графиков и другой информации на экран Сам. работа 4 18 Л1.1, Л2.1, Л2.4, Л1.3, Л2.5
2.5. Использование модуля scipy для научных расчётов Лабораторные 4 9 Л1.1, Л2.1, Л2.4, Л1.3, Л2.5
2.6. Использование модуля scipy для научных расчётов Сам. работа 4 18 Л1.1, Л2.1, Л2.4, Л1.3, Л2.5

5. Фонд оценочных средств

5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины
См. приложение
5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.)
Не предусмотрены
5.3. Фонд оценочных средств для проведения промежуточной аттестации
См. приложение

6. Учебно-методическое и информационное обеспечение дисциплины

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Дегтярев В.М. Компьютерная геометрия и графика: учебник М.: Академия, 2010
Л1.2 Федоров Д.Ю. ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ PYTHON. Учебное пособие для прикладного бакалавриата: Гриф УМО ВО М.:Издательство Юрайт, 2018 biblio-online.ru
Л1.3 Волкова В.М. Программные системы статистического анализа. Обнаружение закономерностей в данных с использованием системы R и языка Python: учебное пособие Издательство НГТУ, 2017 www.studentlibrary.ru
Л1.4 Златопольский Д.М. Основы программирования на языке Python: Учебники Издательство "ДМК Пресс", 2017 e.lanbook.com
Л1.5 Северенс Ч. Введение в программирование на Python: Учебная литература для ВУЗов Национальный Открытый Университет «ИНТУИТ», 2016 biblioclub.ru
Л1.6 Прохоренок Н., Дронов В. Python 3. Самое необходимое.: БХВ-Петербург, 2016 bhv.ru
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Жидков Е.Н. Вычислительная математика: учеб. пособие для вузов М.: Академия, 2010
Л2.2 Хахаев И. А. Практикум по алгоритмизации и программированию на Python: курс М.: Национальный Открытый Университет «ИНТУИТ», 2016//ЭБС «Университетская библиотека online» biblioclub.ru
Л2.3 Л. Рамальо Python. К вершинам мастерства: ДМК Пресс, 2016//ЭБС издательства «Лань» e.lanbook.com
Л2.4 И. В. Пономарев, О. П. Хромова Системы компьютерной математики в задачах геометрического моделирования: учеб. пособие Изд-во АлтГУ, 2014 elibrary.asu.ru
Л2.5 Саммерфилд М. Python на практике: Учебные пособия Издательство "ДМК Пресс", 2014 e.lanbook.com
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
6.3. Перечень программного обеспечения
Python IDLE

Acrobat Reader

Microsoft OfficeMicrosoft Office 2010 (Office 2010 Professional, № 4065231 от 08.12.2010), (бессрочно);
Microsoft Windows 7 (Windows 7 Professional, № 61834699 от 22.04.2013), (бессрочно);
Chrome (http://www.chromium.org/chromium-os/licenses), (бессрочно); 7-Zip (http://www.7-zip.org/license.txt), (бессрочно);
AcrobatReader (http://wwwimages.adobe.com/content/dam/Adobe/en/legal/servicetou/Acrobat_com_Additional_TOU-en_US-20140618_1200.pdf), (бессрочно);
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);
Архиватор Ark (https://apps.kde.org/ark/), (бессрочно);
Okular (https://okular.kde.org/ru/download/), (бессрочно);
Редактор изображений Gimp (https://www.gimp.org/), (бессрочно)
6.4. Перечень информационных справочных систем
1. Образовательный портал АлтГУ [Электронный ресурс]: http://portal.edu.asu.ru

2. Издательство «Лань» - электронно-библиотечная система [Электронный
ресурс]: http://e.lanbook.com

3. Издательство МЦНМО. Свободно распространяемые книги издательства
Московского центра непрерывного математического образования
[Электронный ресурс]: www.mccme.ru/free-books

4. Электронная библиотечная система Алтайского государственного
университета [Электронный ресурс]: http://elibrary.asu.ru
5. Электронная база данных ZBMATH: https://zbmath.org/

7. Материально-техническое обеспечение дисциплины

Аудитория Назначение Оборудование
Учебная аудитория для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска)
203Л лаборатория информационных технологий - компьютерный класс - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 14 посадочных мест; компьютеры: марка ASUS модель i5-6500 - 14 единиц

8. Методические указания для обучающихся по освоению дисциплины

Для успешного освоения дисциплины студент должен посещать лабораторные занятия, вовремя выполять все задания и тесты, пользоваться основной и полнительноцй литературой, рекомендованной настоящей программой. Во время лекции рекомендуется вести краткий конспект.
Навыки программирования на языке Python студент преобретает на лабораторных занятиях.
Для выполнения лабораторных заданий каждому студенту необходимо:

- получить вариант задания у преподавателя;

- скачать документ с описанием задания с образовательного портала (https://portal.edu.asu.ru/????????????);

- внимательно прочитать задание. Вопросы, возникающие в процессе выполненпия лабораторных работ, необходимо грамотно сформулировать и обратиться за помощью к преподавателю на консультации или ближайшем занятии;
- разработать, отладить и протестировать программы, решающие поставленные задачи.

Для каждого лабораторного задания предусмотрена процедура защиты, в ходе которой преподаватель проводит устный опрос студентов для контроля понимания выполненных ими заданий.
При подготовке к зачету в дополнение к изучению конспектов лекций и учебной литературы, рекомендуется посещать консультации и пользоваться свободными интернет-ресурсами. Кроме того, для получения зачета по данной дисциплине необходимо выполнить все лабораторные задания.