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

Основы и методология программирования

Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Статус: Курс обязательный (Прикладная математика и информатика)
Направление: 01.03.02. Прикладная математика и информатика
Когда читается: 1-й курс, 1-4 модуль
Формат изучения: без онлайн-курса
Язык: русский
Кредиты: 8
Контактные часы: 132

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

Аннотация

Дисциплина "Основы и методология программирования" знакомит студентов с основами программирования на примере языка Си. Студенты изучают основные понятия: переменная, операторы, функция, структуры и учатся решать простейшие задачи на языке Си. Курс готовит студентов к дальнейшему изучению языков программирования более высокого уровня
Цель освоения дисциплины

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

  • Знакомство с основными парадигмами программирования
  • Изучение основных понятий программирования: переменных, массивов, операторов, функций, структур
  • Получение навыков разработки простейших задач на языке Си
Планируемые результаты обучения

Планируемые результаты обучения

  • Называть основные парадигмы программирования
  • Описывать историю развития языка Си
  • Определять переменные и инициализировать их
  • Создавать выражения на языке Си с использованием переменных и операций
  • Использовать наиболее подходящие операции языка для решения поставленной задачи
  • Использовать функции ввода/вывода
  • Использовать в программе оператор условия
  • Описывать оператор множественного выбора
  • Решать задачи с использованием циклов
  • Разрабатывать программы с использованием основных операторов языка
  • Создавать массивы и инициализировать их
  • Создавать и использовать многомерные массивы
  • Решать задачи с использованием массивов
  • Создавать и инициализировать указатели
  • Использовать указатели при работе с массивами
  • Создавать динамические массивы
  • Создавать макросы обычные и макросы с параметрами
  • Создавать многофайловые программы
  • Разрабатывать структуры, создавать экземпляры структур
  • Передавать структуры в функции и возвращать структуры из функции
  • Копировать экземпляры структур с полями-указателями
  • Создавать объединения, понимать разницу между объединением и структурой
  • Разрабатывать структуры с самоадресацией
  • Создавать список, очередь, стек, бинарное дерево
Содержание учебной дисциплины

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

  • Введение в программирование
    История языков программирования, основные парадигмы программирования
  • Понятие переменной. Операции
    Понятие переменной, базовые типы, инициализация. Основные операции языка и их особенности
  • Операторы языка Си
    Понятие оператора. Оператор условия. Операторы цикла. Оператор множественного выбора. Другие операторы
  • Массивы
    Определение массивов. Создание массивов. Работы с массивами
  • Указатели
    Понятие указателя. Основные операции с указателями. Взаимосвязь указателей и массивов. Массивы указателей. Указатели на массивы. Динамические массивы
  • Функции
    Понятие функции. Объявление функции. Полное описание функции. Передача параметров в функцию. Формальные и фактические параметры. Возврат значения из функции. Функции и массивы. Рекурсия. Указатели на функцию. Аргументы командной строки. Функции с переменным числом параметров.
  • Классы памяти
    Понятие класса памяти. Время жизни. Типы памяти. Типы связывания. Спецификаторы static, extern и volatile
  • Строки и файлы
    Понятие строки в Си. Основные принципы работы со строками. Функции стандартной библиотеки для работы со строками. Понятие файла. Основные принципы работы с файлами. Функции стандартной библиотеки для работы с файлами.
  • Препроцессор
    Понятие препроцессора. Директивы препроцессора. Макросы. Макросы с параметрами. Организация многофайловых программ. "Стражи выключения"
  • Пользовательские типы данных
    Перечисления. Псевдонимы типов. Понятие структуры. Объявление структуры. Инициализация экземпляра структуры. Доступ к полям структуры. Структуры и функции. Копирование структур. Объединения. Поля битов.
  • Динамические структуры данных
    Структуры с самоадресацией. Создание списка, стека, очереди, бинарного дерева поиска.
Элементы контроля

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

  • неблокирующий Экзамен 2 модуль
  • неблокирующий Накопленная на практических занятиях 1-2 модуль
  • неблокирующий Экзамен 4 модуль
    Экзамен проводится в письменной форме. Экзамен проводится на платформе MS Teams (https://teams.microsoft.com). К экзамену необходимо подключиться за 15 минут до начала экзамена. Компьютер студента должен удовлетворять требованиям: наличие рабочей камеры и микрофона, поддержка MS Teams Для участия в экзамене студент обязан: поставить на аватар свою фотографию, явиться на экзамен согласно точному расписанию. Во время экзамена студентам запрещено: выключать камеру, пользоваться конспектами и подсказками. Кратковременным нарушением связи во время экзамена считается нарушение связи менее 5 минут. Долговременным нарушением связи во время экзамена считается нарушение 5 минут и более. При долговременном нарушении связи студент не может продолжить участие в экзамене. Процедура пересдачи аналогична процедуре сдачи.
  • неблокирующий Накопленная на практических занятиях 3-4 модуль
Промежуточная аттестация

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

  • Промежуточная аттестация (2 модуль)
    0.5 * Накопленная на практических занятиях 1-2 модуль + 0.5 * Экзамен 2 модуль
  • Промежуточная аттестация (4 модуль)
    0.5 * Накопленная на практических занятиях 1-2 модуль + 0.5 * Экзамен 2 модуль
Список литературы

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

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

  • Программирование на языке С++: Учебное пособие / Т.И. Немцова, С.Ю. Голова, А.И. Терентьев; Под ред. Л.Г. Гагариной. - М.: ИД ФОРУМ: ИНФРА-М, 2012. - 512 с.: ил.; 60x90 1/16 + CD-ROM. - (Проф. обр.). (п, cd rom) ISBN 978-5-8199-0492-3 - Режим доступа: http://znanium.com/catalog/product/244875
  • Программирование на языке Си/А.В.Кузин, Е.В.Чумакова - М.: Форум, НИЦ ИНФРА-М, 2015. - 144 с.: 70x100 1/16. - (Высшее образование) (Обложка) ISBN 978-5-00091-066-5 - Режим доступа: http://znanium.com/catalog/product/505194

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

  • Кудрина Е. В., Огнева М. В. - ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ C#. Учебное пособие для бакалавриата и специалитета - М.:Издательство Юрайт - 2019 - 322с. - ISBN: 978-5-534-09796-2 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/osnovy-algoritmizacii-i-programmirovaniya-na-yazyke-c-428603
  • Павловская Т.А. - Программирование на языке высокого уровня Паскал - Национальный Открытый Университет "ИНТУИТ" - 2016 - 153с. - ISBN: - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/100415
  • Царев, Р. Ю. Программирование на языке Си [Электронный ресурс] : учеб. пособие / Р. Ю. Царев. – Красноярск : Сиб. федер. ун-т, 2014. – 108 с. - ISBN 978-5-7638-3006-4 - Режим доступа: http://znanium.com/catalog.php?bookinfo=510946
  • Язык Си: кратко и ясно: Учебное пособие / Д.В. Парфенов. - М.: Альфа-М: НИЦ ИНФРА-М, 2014. - 320 с.: 60x90 1/16. (переплет) ISBN 978-5-98281-397-8 - Режим доступа: http://znanium.com/catalog/product/459254