Теория алгоритмов

О курсе

Основной целью курса является формирование у обучающихся определенного ООП  (п. 5.4 Общей характеристики ООП) состава компетенций для подготовки к профессиональной деятельности.

Курс посвящен дисциплине "Теория алгоритмов", изучаемой в 3-м семестре бакалавриата "Прикладная информатика".
В курсе раскрываются вопросы алгоритмизации и основы программирования на языке Python.

Особое внимание уделяется самостоятельной проработки тем, связанных с основными конструкциями построения алгоритмов на языке Python.

Результаты обучения

1. Разрабатывать алгоритм решения задачи

2. Формализовать задачи определенных классов в понятиях теории алгоритмов 

3. Применять методы отладки и тестирования программ

Компетенции, формируемые в курсе:

1. Способен использовать современные информационные технологии и программные средства, в том числе отечественного производства, при решении задач профессиональной деятельности. 

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

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

- Знает основные понятия и методы теории алгоритмов: понятия алгоритма (машины Тьюринга и нормальные алгоритмы Маркова); машины с  неограниченными регистрами (МНР-вычислимые функции, тезис Черча); понятия вычислимости, разрешимости, перечислимости, сложность вычисления; введение в теорию NP-полных задач.

2. Способен разрабатывать алгоритмы и программы, пригодные для практического применения. Демонстрирует знание основных языков программирования и работы с базами данных, операционными системами и оболочками, современные программные среды разработки информационных систем и технологий.

- Владеет разработкой программ на языке структурного программирования.

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

- Знание основные языков структурированного программирования

3. Программирует, занимается отладкой и тестированием прототипов программно-технических комплексов задач.

- Владеет программированием и отладкой прототипов программно-технических комплексов задач.

- Умеет тестировать прототипы программно-технических комплексов задач.

- Знает методы отладки и тестирования программ.

Образовательная программа (ООП/ДОП)

Направления подготовки бакалавриата:

09.03.03 "Прикладная информатика"

Программа курса

Модуль 1: Основы алгоритмизации

Темы лекций:

  1. Алгоритм – свойства и способы представления
  2. Модели разработки программ

Темы практических занятий:

  1.  Ввод и вывод данных. Арифметические операции 

Названия лабораторных работ:

  1. Работа с массивами в консоли
  2. Работа с файлами. Чтение и запись данных

Тест № 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.

Уровень квалификации: Начальный