Теория алгоритмов
О курсе
Основной целью курса является формирование у обучающихся определенного ООП (п. 5.4 Общей характеристики ООП) состава компетенций для подготовки к профессиональной деятельности.
Курс посвящен дисциплине "Теория алгоритмов", изучаемой в 3-м семестре бакалавриата "Прикладная информатика".
В курсе раскрываются вопросы алгоритмизации и основы программирования на языке Python.
Особое внимание уделяется самостоятельной проработки тем, связанных с основными конструкциями построения алгоритмов на языке Python.
Результаты обучения
1. Разрабатывать алгоритм решения задачи
2. Формализовать задачи определенных классов в понятиях теории алгоритмов
3. Применять методы отладки и тестирования программ
Компетенции, формируемые в курсе:
1. Способен использовать современные информационные технологии и программные средства, в том числе отечественного производства, при решении задач профессиональной деятельности.
- Владеет навыками формализации в понятиях теории алгоритмов конкретных задач определенных классов, построения логических моделей в предметных областях.
- Умеет использовать основные теоремы теории алгоритмов; составлять программы машин Тьюринга и схемы нормальных алгоритмов; строить несложные логические модели предметных областей; оценивать вычислительную сложность алгоритмов.
- Знает основные понятия и методы теории алгоритмов: понятия алгоритма (машины Тьюринга и нормальные алгоритмы Маркова); машины с неограниченными регистрами (МНР-вычислимые функции, тезис Черча); понятия вычислимости, разрешимости, перечислимости, сложность вычисления; введение в теорию NP-полных задач.
2. Способен разрабатывать алгоритмы и программы, пригодные для практического применения. Демонстрирует знание основных языков программирования и работы с базами данных, операционными системами и оболочками, современные программные среды разработки информационных систем и технологий.
- Владеет разработкой программ на языке структурного программирования.
- Умеет ставить задачу и разрабатывать алгоритм ее решения, использовать прикладные системы программирования.
- Знание основные языков структурированного программирования
3. Программирует, занимается отладкой и тестированием прототипов программно-технических комплексов задач.
- Владеет программированием и отладкой прототипов программно-технических комплексов задач.
- Умеет тестировать прототипы программно-технических комплексов задач.
- Знает методы отладки и тестирования программ.
Образовательная программа (ООП/ДОП)
Направления подготовки бакалавриата:
09.03.03 "Прикладная информатика"
Программа курса
Модуль 1: Основы алгоритмизации
Темы лекций:
- Алгоритм – свойства и способы представления
- Модели разработки программ
Темы практических занятий:
- Ввод и вывод данных. Арифметические операции
Названия лабораторных работ:
- Работа с массивами в консоли
- Работа с файлами. Чтение и запись данных
Тест № 1. Основы алгоритмизации
Модуль 2: Ввод и вывод данных. Арифметические операции. Строки и списки
Темы лекций:
1. Массив и типичные задачи с массивами
2. Строки, использование срезов
Темы практических занятий:
1. Строки и списки
Названия лабораторных работ:
1. Создание графического приложения на Python. Применение виджетов
Тест № 2. Ввод и вывод данных. Арифметические операции
Модуль 3. Условия и циклы
Темы лекций:
1. Ветвления. Оператор if
2. Применение циклов
Темы практических занятий:
1. Условия и циклы
2. Основы программирования и составления алгоритмов
Названия лабораторных работ:
1. Создание калькулятора с интерфейсом на Python
2. Разработка игры «Сапер» на Python tkinter
Тест № 3. Условия и циклы
Модуль 4. Множества, словари, кортежи. Функции
Темы лекций:
1. Кортежи. Основные операции с кортежем
2. Словарь. Основные операции со словарем. Множества
Темы практических занятий:
1. Множества, словари, кортежи. Функции
2. Расширенные возможности Python
Названия лабораторных работ:
1. Разработка игры «Крестики-нолики» на Python pygame
Тест № 4. Множества, словари, кортежи. Функции
Длительность курса, количественные характеристики, форма аттестации
Продолжительность курса – 18 недель
Трудоемкость освоения курса – 144 часа
Трудоемкость курса – 4 зачетные единицы
Форма контроля – экзамен, диф. зачет
Автор(ы) курса
Copyright © 2022.
Томский политехнический университет. Все права защищены
Tomsk Polytechnic University, All rights reserved.
- Учитель: Разумников Сергей Викторович