Технологии программирования
(МРМ, 1 курс)

Лабораторные работы выполняются в операционной системе Linux на языке программирования C. Оформление исходных текстов программ должно соответствовать принятым в рамках курса соглашениям или альтернативным: Google C++ Style Guide, Code Conventions for the Java, Linux kernel coding style.

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

Для некоторых лабораторных работ (1, 3), кроме двух простых задач, необходимо выполнить дополнительную усложнённую задачу. За её решение ставится дифференцированная оценка.

Лабораторные работы

Вводное занятие. Работа в терминальных классах Кафедры ВС

Лабораторная работа №1. Линейные вычислительные алгоритмы

Лабораторная работа №2. Оператор ветвления

Лабораторная работа №3. Циклические операторы

    1. Лабораторная работа №3. Простые задачи

    2. Лабораторная работа №3. Усложнённые задачи

Лабораторная работа №4. Массивы. Сортировка и поиск

    1. Лабораторная работа №4. Простые задачи

    2. Лабораторная работа №4. Усложнённые задачи

Лабораторная работа №5. Динамические структуры данных

Курсовой проект

Задание на курсовой проект

Успеваемость

Группа РИ-27

Группа РИ-28


Литература

Язык С

  1. Керниган Б., Ритчи Д. Язык программирования C.
  2. Керниган Б., Пайк Р. Практика программирования.
  3. Богатырев А. Хрестоматия программирования на С в Unix.

Программирование и разработка ПО

  1. Стив Макконнелл. Совершенный код.
  2. Мартин Фаулер. Рефакторинг. Улучшение существующего кода.
  3. Фредерик Брукс. Мифический человеко-месяц, или Как создаются программные системы.

Алгоритмы и структуры данных

  1. Кормен Т., Чейзер Ч. Алгоритмы. Построение и анализ.
  2. Кнут Д. Искусство программирования.
  3. Ахо А.В., Хопкрофт Д., Ульман Д.Д. Структуры данных и алгоритмы
  4. Левитин А.В. Алгоритмы: введение в разработку и анализ.