- Цели и задачи дисциплины
- Цель: формирование комплекса знаний, умений и навыков по теоретическим и прикладным основам алгоритмизации и программирования и использования современных языков программирования и стандартных библиотек., а также формирование умений и навыков по использованию устройств и ресурсов компьютера на языке высокого уровня. Задачи дисциплины: - изучить методы, способы и средства разработки программ с использованием технологий структурного и процедурного программирования на языках программирования С и С++ для формирования базиса для изучения последующих дисциплин; - изучить основные алгоритмические конструкции, типы данных и виды памяти, основные функции стандартной библиотеки языка С и некоторые классы С++, получить навыки их применения для решения практических задач. - изучить архитектуру компьютеров и представление данных в памяти; - изучить основные интерфейсные системы компьютера и организацию внешней памяти; - научиться разрабатывать программные системы, использующие основные ресурсы компьютера, на современных языках программирования.
- Краткое содержание дисциплины
- История создания и области применения языков С и С++. Архитектура компьютера. Структура программы. Идентификаторы. Объявление и инициализация переменных. Базовые типы данных Специальные символы и константы. Арифметические операции и присваивание. Математические функции. Сравнение и логические операции. Поразрядные операции Приоритеты операций. Функции для вывода и ввода в языке С. Спецификаторы формата. Ввод и вывод в С++. Последовательности операторов и блоки. Операторы ветвления. Операторы цикла. goto и другие операторы. Массивы. Строки в С и С++. Структуры. Использование vector из С++. Определение и вызов функции. Модули и компиляция программы. Указатели. Указатели и функции, использование ссылок в С++. Управление динамической памятью. Архитектура компьютера, её влияние на технологии разработки программ, языки программирования. Кроссплатформенность, способы её обеспечения. Центральный процессор (разрядность, тактовая частота, ядра, регистры, УУ, АЛУ, адресная шина, кэш, система команд). Память (доступ, адресация, управление памятью в ОС, разделение памяти). Представление данных в памяти. Указатели. Структуры данных. Стек и очередь на основе массива. Списки односвязные и двусвязные. Устройства отображения информации (видеокарта и встроенная в ЦП), графика (растровая и векторная), консоль (исторически и виртуальная), библиотеки для работы с графикой и консолью. Другие внешние устройства (мышь, клавиатура), взаимодействие с ними из программы на С. Внешняя память (виды, физическая и логическая организация, файлы/папки). Открытие и закрытие файлов. Ввод и вывод в файл. Работа с бинарными файлами. Таймер, определение текущего времени и измерение интервалов времени. Другие ресурсы. Потоки управления. Распараллеливание программ с помощью стандартной библиотеки языка С.
- Компетенции обучающегося, формируемые в результате освоения дисциплины
- Выпускник должен обладать:
- ОПК-2 Способен использовать и адаптировать существующие математические методы и системы программирования для разработки и реализации алгоритмов решения прикладных задач
- УК-3 Способен осуществлять социальное взаимодействие и реализовывать свою роль в команде
- Образование
- Учебный план 01.03.02, 2024, (4.0), Прикладная математика и информатика
- Технология программирования