• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2019/2020

Алгоритмизация и программирование

Язык: русский
Кредиты: 12

Программа дисциплины

Аннотация

Курс “Алгоритмизация и программирование” разработан с использованием онлайн-курса “Алгоритмизация вычислений” и рассчитан на студентов 1 года обучения бакалавриата. Темы, которые Вы изучите: - Освоение структурного программирования; - Базовые элементы языков Pascal и C/C++; - Стандартные алгоритмы обработки различных структур данных, а также приемы для их разработки; - Как самостоятельно подбирать исходные данные для тестирования программы, и правильно интерпретировать результаты ее работы; - Использование стандартного программного обеспечение в своей профессиональной деятельности. Для успешного прохождения онлайн-курса необходимо обладать знаниями математики, информатики и алгоритмизации в пределах программы средней школы, и уметь применять математический аппарат при выборе метода решения задачи. Студенты смогут в дальнейшем использовать полученные знания для изучения таких дисциплин, как ООП, теория автоматов и управления, базы данных, операционные системы, инструментальные средства и технология программирования.
Цель освоения дисциплины

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

  • Освоение технологии структурного программирования
  • Изучение базовых элементов языков Паскаль и C/C++
  • Изучение стандартных алгоритмов обработки различных структур данных
  • Изучение приёмов разработки алгоритмов для обработки различных структур данных
  • Изучение базовых элементов языка Python
Результаты освоения дисциплины

Результаты освоения дисциплины

  • Знает основные способы записи алгоритмов. Знает базовые конструкции (структуры) и базовые операции псевдокода.
  • Умеет записать постановку задачи. Знает классификацию базовых типов в языке Паскаль. Знает стандартные процедуры и функции. Арифметические и логические операции. Операции отношения. Простые и составные операторы.
  • Знает типы циклов и умеет правильно записать их на псевдокоде.Может выбрать тип цикла, который подходит для решения данной задачи. Может составить итерационный алгоритм и закодировать его.
  • Умеет использовать алгоритмы сортировки, удаления, вставки элементов , поиска минимума или максимума , формирования нового массива для решения задач обработки одномерного массива.
  • умеет осуществлять ввод матриц, а также использовать алгоритмы, перечисленные в п. 4 для обработки матриц.
  • Умеет использовать алгоритмы с досрочным выходом из цикла для обработки массивов и матриц.
  • Знает синтаксис описания процедур и функций, а также механизм передачи параметров. Умеет выделять продпрограммы при решении задачи.
  • Знает основные сведения о символьном и строковом типе данных. Умеет использовать стандартные функции при обработке строк. Решает задачи на обработку символьных строк.
  • Умеет использовать стандартные функции обработки файлов и работы с типом "множество". Умеет использовать стандартные алгоритмы для обработки этих типов данных.
  • Знает основные типы связанных списков. Умеет формировать и обрабатывать линейные однонаправленные списки - стек и очередь, т.е применяет стандартные алгоритмы для работы с этим типом данных.
  • Знает структуру простой программы на языке С. Знает основные типы данных, базовые операции (арифметические, логические и операции присваивания). Умеет кодировать арифметические выражения на языке С.
  • Знает кодирование всех алгоритмических конструкций на языке С. Знает понятие и назначение типа "указатель". Умеет использовать указатели при решении задач обработки массивов и матриц. Знает понятие функции. Умеет передавать параметры по значению и по адресу. Умеет использовать указатель на указатель.
  • Знает основы объектно-ориентированного программирования. Знает кодирование алгоритмических конструкций на языке С++. Знает понятие класса. Умеет использовать классы при разработке программ на языке С++.
  • Знает структуру простой программы на языке Python. Знает основные типы данных и базовые операции языка Python. Умеет кодировать алгоритмические конструкции на языке Python.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение. Основы алгоритмизации.
  • Основные алгоритмические конструкции. Язык Pascal.
  • Циклы и примеры их использования
  • Алгоритмы обработки одномерных массивов
  • Алгоритмы обработки матриц
  • Алгоритмы с досрочным выходом из цикла.
  • Процедуры и функции.
  • Символьный тип данных. Строковый тип данных.
  • Файлы. Тип «множество».
  • Динамические структуры в языке Pascal.
  • Основные сведения о языке C.
  • Конструкции языка С и их использование.
    Конструкции языка С и их использование. Функции в языке С. Указатели и их использование. Распределение памяти, классы памяти. Динамическое распределение памяти.
  • Язык программирования С++.
    Язык программирования С++. Основы объектно-ориентированного программирования. Классы и работы с ними на языке С++.
  • Введение в язык программирования Python.
    Введение в язык программирования Python.
Элементы контроля

Элементы контроля

  • Лабораторная работа 1 (неблокирующий)
    Решение задачи на компьютере с последующей защитой отчета. При несвоевременной защите отчета баллы за работу снижаются.
  • Контрольная работа - второй модуль (неблокирующий)
    Письменная работа 80 минут
  • Ответы у доски 1 (неблокирующий)
  • Семинары 1 (неблокирующий)
  • Лекции 1 (неблокирующий)
  • Экзамен 1 (блокирует часть оценки/расчета)
  • Coursera (неблокирующий)
  • Лабораторная работа 2 (неблокирующий)
  • Лекции 2 (неблокирующий)
  • Семинары 2 (неблокирующий)
  • Контрольная работа 3 (неблокирующий)
    Письменная работа 80 мин
  • Контрольная работа 4 (неблокирующий)
    Письменная работа 80 мин
  • Лабораторные работы 3 и 4 модулей (неблокирующий)
    Практикум из 10 лабораторных работ
  • Экзамен 2 (неблокирующий)
Промежуточная аттестация

Промежуточная аттестация

  • Промежуточная аттестация (2 модуль)
    0.2 * Coursera + 0.08 * Контрольная работа - второй модуль + 0.05 * Лабораторная работа 1 + 0.08 * Лабораторная работа 2 + 0.13 * Лекции 1 + 0.13 * Ответы у доски 1 + 0.13 * Семинары 1 + 0.2 * Экзамен 1
  • Промежуточная аттестация (4 модуль)
    0.05 * Контрольная работа 3 + 0.05 * Контрольная работа 4 + 0.15 * Лабораторные работы 3 и 4 модулей + 0.5 * Промежуточная аттестация (2 модуль) + 0.15 * Семинары 2 + 0.1 * Экзамен 2
Список литературы

Список литературы

Рекомендуемая основная литература

  • Ресурсно - эффективные компьютерные алгоритмы. Разработка и анализ : учеб. пособие для вузов, Ульянов М. В., 2008

Рекомендуемая дополнительная литература

  • Искусство программирования. Т. 4, А: Комбинаторные алгоритмы, часть 1, Кнут Д. Э., Красикова И. В., 2013
  • Искусство программирования. Т.1: Основные алгоритмы, Кнут Д. Э., 2011
  • Искусство программирования. Т.2: Получисленные алгоритмы, Кнут Д. Э., Козаченко Ю. В., 2012
  • Искусство программирования. Т.3: Сортировка и поиск, Кнут Д. Э., Козаченко Ю. В., 2012
  • Объектно - ориентированное программирование в С++, Лафоре Р., 2011
  • Основы алгоритмизации и программирования на Python : учеб. пособие / С.Р. Гуриков. — М. : ФОРУМ : ИНФРА-М, 2019. — 343 с. — (Среднее профессиональное образование). - Режим доступа: http://znanium.com/catalog/product/970143