Программирование микроконтроллеров на С++

Григорьева Светлана Владимировна

Портфолио преподавателя

Описание: Дисциплина посвящена изучению основ структурного и модульного программирования на языке С++, структуры программы для микроконтроллеров семейства ATmega, современных интегрированных сред разработки программных продуктов, а также среды Arduino IDE для создания и загрузки программ на Arduino-совместимые платы.

Количество кредитов: 5

Пререквизиты:

  • Математика 1

Трудоемкость дисциплины:

Виды работ часы
Лекции 15
Практические работы
Лабораторные работы 30
СРОП 30
СРО 75
Форма итогового контроля экзамен
Форма проведения итогового контроля письменный экзамен

Компонент: Вузовский компонент

Цикл: Базовые дисциплины

Цель
  • формирование теоретических знаний и практических навыков в области программирования на языке С++ электронных устройств автоматизированных систем управления на основе микропроцессорных контроллеров.
Задача
  • изучение языков программирования, технологий проектирования программного обеспечения;
  • освоение основ структурного и модульного программирования на языке С++;
  • освоение современных интегрированных сред разработки программных продуктов;
  • приобретение умений разработки программного обеспечения микроконтроллеров семейства ATmega;
  • формирование навыков программного управления электронными устройствами систем автоматизации, выполненными на основе микроконтроллерных плат.
Результат обучения: знание и понимание
  • выбирать инструментальные и отладочные средства разработки и имитации при создании программного обеспечения электронных устройств и приборов систем автоматизации на основе микропроцессорных контроллеров;
Результат обучения: применение знаний и пониманий
  • применять технологии структурного и модульного программирования на языке С++ при разработки программного обеспечения микропроцессорных контроллеров систем управления;
Результат обучения: формирование суждений
  • организовывать процесс по разработке и внедрению программных комплексов систем автоматизированного управления различными объектами производства;
Результат обучения: коммуникативные способности
  • формулировать проблемы и представления предлагаемого проектного решения в области организации работ по разработке и эксплуатации микропроцессорных комплексов в системах автоматизации, как специалистам, так и неспециалистам;
Результат обучения: навыки обучения или способности к учебе
  • владеть языком программирования С++ для разработки и эксплуатации программного обеспечения автоматизированных систем управления.
Методы преподавания

интерактивная лекция (применение следующих активных форм обучения: ведомая (управляемая) дискуссия или беседа; модерация; демонстрация слайдов или учебных фильмов; мотивационная речь);

информационно-коммуникационная (занятия в компьютерном классе с использованием профессиональных пакетов прикладных программ);

поисково-исследовательская (самостоятельная исследовательская деятельность студентов в процессе обучения).

Оценка знаний обучающегося

Преподаватель проводит все виды работ текущего контроля и выводит соответствующую оценку текущей успеваемости обучающихся два раза в академический период. По результатам текущего контроля формируется рейтинг 1 и 2. Учебные достижения обучающегося оцениваются по 100-балльной шкале, итоговая оценка Р1 и Р2 выводится как средняя арифметическая из оценок текущей успеваемости. Оценка работы обучающегося в академическом периоде осуществляется преподавателем в соответствии с графиком сдачи заданий по дисциплине. Система контроля может сочетать письменные и устные, групповые и индивидуальные формы.

Период Вид задания Итого
1  рейтинг Практическое задание "Введение в программирование на С++" 0-100
Практическое задание "Структурное программирование"
Практическое задание "Операторы выбора"
Практическое задание "Циклы"
Практическое задание "Файловый ввод-вывод"
Практическое задание "Одномерные массивы"
Практическое задание "Двумерные массивы"
Практическое задание "Основы работы с функциями"
Рубежный контроль 1
2  рейтинг Практическое задание "Arduino и аналоговые датчики" 0-100
Практическое задание "Arduino и цифровые датчики"
Практическое задание "Ввод/вывод данных"
Практическое задание "Использование Arduino в качестве контроллера исполнительных устройств"
Практическое задание "Система Умный дом"
Рубежный контроль 2
Итоговый контроль экзамен 0-100
Политика оценивания результатов обучения по видам работ
Вид задания 90-100 70-89 50-69 0-49
Отлично Хорошо Удовлетворительно Неудовлетворительно
Собеседование по контрольным вопросам Демонстрирует системные теоретические знания, владеет терминологией, логично и последовательно объясняет сущность явлений и процессов, делает аргументированные выводы и обобщения, приводит примеры, показывает свободное владение монологической речью и способность быстро реагировать на уточняющие вопросы Демонстрирует прочные теоретические знания, владеет терминологией, логично и последовательно объясняет сущность, явлений и процессов, делает аргументированные выводы и обобщения, приводит примеры, показывает свободное владение монологической речью, но при этом делает несущественные ошибки, которые исправляет самостоятельно или при незначительной коррекции преподавателем Демонстрирует неглубокие теоретические знания, проявляет слабо сформированные навыки анализа явлений и процессов, недостаточное умение делать аргументированные выводы и приводить примеры, показывает недостаточно свободное владение монологической речью, терминологией, логичностью и последовательностью изложения, делает ошибки которые может исправить только при коррекции преподавателем. Демонстрирует незнание теоретических основ предмета, несформированные навыки анализа явлений и процессов, не умеет делать аргументированные выводы и приводить примеры, показывает слабое владение монологической речью, не владеет терминологией, проявляет отсутствие логичности и последовательности изложения, делает ошибки, которые не может исправить даже при коррекции преподавателем, отказывается отвечать на занятии
Работа на практических занятиях Выполнил работу в полном объеме с соблюдением необходимой последовательности действий; отчет оформлен в соответствии с требованиями; правильно выполняет анализ ошибок. При ответе на вопросы правильно понимает сущность вопроса, дает точное определение и истолкование основных понятий; сопровождает ответ новыми примерами, умеет применить знания в новой ситуации; может установить связь между изучаемым и ранее изученным материалом, а также с материалом, усвоенным при изучении других дисциплин. Выполнил работу по требованию к оценке «5», но допущены 2-3 недочета. Ответ обучающегося на вопросы удовлетворяет основным требованиям к ответу на 5, но дан без применения знаний в новой ситуации, без использования связей с ранее изученным материалом и материалом, усвоенным при изучении других дисциплин; допущены одна ошибка или не более двух недочетов, обучающийся может их исправить самостоятельно или с небольшой помощью преподавателя. Выполнил работу не полностью, но не менее 50% объема, что позволяет получить правильные результаты и выводы; в ходе проведения работы были допущены ошибки. При ответе на вопросы обучающийся правильно понимает сущность вопроса, но в ответе имеются отдельные проблемы в усвоении вопросов курса, не препятствующие дальнейшему усвоению программного материала; допущено не более одной грубой ошибки и двух недочетов. Выполнил работу не полностью или объем выполненной части работ не позволяет сделать правильных выводов. При ответе на вопросы демонстрирует не владение основными знаниями и умениями в соответствии с требованиями программы; допущены больше ошибок и недочетов, чем необходимо для оценки 3 или не может ответить ни на один из поставленных вопросов.
рубежный контроль Рубежный тест: 18-20 баллов – продемонстрированы знания на высоком уровне Рубежный тест: 14-17 баллов – продемонстрированы знания на базовом уровне Рубежный тест: 13-10 баллов – продемонстрированы знания на удовлетворительном уровне Рубежный тест: 0-9 баллов – знания считаются не освоенными
Форма оценки

Итоговая оценка знаний обучающего по дисциплине осуществляется по 100 балльной системе и включает:

  • 40% результата, полученного на экзамене;
  • 60% результатов текущей успеваемости.

Формула подсчета итоговой оценки:

И= 0,6 Р12 +0,4Э
2

 

где, Р1, Р2 – цифровые эквиваленты оценок первого, второго рейтингов соответственно; Э – цифровой эквивалент оценки на экзамене.

Итоговая буквенная оценка и ее цифровой эквивалент в баллах:

Буквенная система оценки учебных достижений обучающихся, соответствующая цифровому эквиваленту по четырехбалльной системе:

Оценка по буквенной системе Цифровой эквивалент Баллы (%-ное содержание) Оценка по традиционной системе
A 4.0 95-100 Отлично
A- 3.67 90-94
B+ 3.33 85-89 Хорошо
B 3.0 80-84
B- 2.67 75-79
C+ 2.33 70-74
C 2.0 65-69 Удовлетворительно
C- 1.67 60-64
D+ 1.33 55-59
D 1.0 50-54
FX 0.5 25-49 Неудовлетворительно
F 0 0-24
Темы лекционных занятий
  • Введение в программирование на языке С++
  • Условные структуры
  • Структуры повторения
  • Потоки и файлы
  • Массивы
  • Алгоритмы сортировки
  • Функции
  • Адреса и указатели
  • Проектирование систем измерения и управления на основе микроконтроллера
  • Микроконтроллеры ATmega на базе платы Arduino
  • Программирование микроконтроллера ATmega на базе платы Arduino
  • Programming the ATmega microcontroller based on the Arduino board
  • Базовые функции платы Ардуино (продолжение)
  • Программирование и отладка приложения для микроконтроллеров
  • Современные микроконтроллеры
Основная литература
  • Конова Е.А., Г.А. Поллак. Алгоритмы и программы. Язык С++: учебное пособие. – 4-е изд., стер. – Санкт-Петербург: Лань, 2019. – 384 с.
  • Шилдт Г. C++. Базовый курс. – 3-е изд. – Москва: Вильямс, 2019. – 624 с.
  • Орленко П.А., Евдокимов П.В. C++ на примерах. Практика, практика и только практика. – СПб.: Наука и Техника, 2019 год. – 288с.
  • Белов A.B. Программирование ARDUINO. Создаем практические устройства.- СПб.: Наука и Техника, 2018. - 272 с.
  • Simon Monk. Programming Arduino. Getting Started with Scetches. 2-е изд. – СПб.: Питер, 2017. – 208с.
Дополнительная литература
  • Страуструп Б. Язык программирования C++. Специальное издание. – Москва: Бином, 2017. – 1136 с.
  • Павловская Т. А. C/C++. Программирование на языке высокого уровня: для магистров и бакалавров. - Санкт-Петербург, 2017. - 460 с.
  • Основы программирования на языках Си и C++ для начинающих. Режим доступа: http://cppstudio.com/
  • Программирование на С и С++. Режим доступа: http://www.c-cpp.ru/