Специалитет
2024/2025
Языки программирования
Статус:
Курс обязательный (Компьютерная безопасность)
Кто читает:
Департамент прикладной математики
Когда читается:
2-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для всех кампусов НИУ ВШЭ
Преподаватели:
Булгаков Станислав Александрович
Специальность:
10.05.01. Компьютерная безопасность
Язык:
русский
Кредиты:
3
Контактные часы:
48
Программа дисциплины
Аннотация
Дисциплина «Языки программирования» относится к базовому профессиональному модулю (Major).
Для изучения дисциплины необходимы знания в рамках школьных курсов математики и информатики.
Программа ориентирована на возможность приобретения компетенций, необходимых для соответствия профессиональным стандартам 06.001 Программист, 06.022 Системный аналитик, 06.028 Системный программист.
Цель освоения дисциплины
- Основной целью освоения дисциплины «Языки программирования» является формирование общепрофессиональных компетенций и ключевых образовательных результатов, необходимых для выполнения научно-исследовательской и проектной деятельности, в том числе при разработке защищенного программного обеспечения, в сферах науки, техники и технологии, охватывающих совокупность проблем, связанных с разработкой и эксплуатацией средств и систем защиты информации компьютерных систем.
Планируемые результаты обучения
- ОПК-7 Способен создавать программы на языках высокого и низкого уровня, применять методы и инструментальные средства программирования для решения профессиональных задач, осуществлять обоснованный выбор инструментария программирования и способов организации программ.
- КОР-4 Знает не менее двух языков программирования (высокого и низкого уровня), пишет на данных языках прикладные программы, создает программные реализации средств защиты информации.
- ОПК-2 Способен применять программные средства системного и прикладного назначений, в том числе, отечественного производства, для решения задач профессиональной деятельности.
- ОПК-3 Способен на основании совокупности математических методов разрабатывать, обосновывать и реализовывать процедуры решения задач профессиональной деятельности.
Содержание учебной дисциплины
- Введение в компиляцию
- Инструментальные средства и POSIX
- Основы трансляции
- Лексический анализ
- Синтаксический анализ
- Генерация промежуточного кода
- Среды времени выполнения
- Типы данных в языках Си и Си++
- Модели памяти в языках Си и Си++
- Операции отношения и логические операции в языках Си и Си++
- Операторы ветвления в языках Си и Си++
- Система ввода-вывода в языках Си и Си++
- Циклы в языках Си и Си++
- Функции в языках Си и Си++
- Составные типы данных в языках Си и Си++
- Язык Си++. Основы ООП и его реализация в языке Си++.
- Язык Си++. Система ввода-вывода
- Язык Си++. Обобщенное программирование и STL
- Язык Си++. Современные возможности.
- Библиотека Qt. Введение в объектную модель
- Библиотека Qt. Основные классы элементов графического интерфейса пользователя
- Библиотека Qt. Создание приложений
- Паттерны проектирования
Элементы контроля
- Домашнее задание 1 модуль
- Лабораторная работа 1 модуль
- Практическая работа 1-2 модуль
- Домашнее задание 2 модуль
- Лабораторная работа 2 модуль
- Контрольная работа 2 модуль
- Экзамен 2 модуль
- Домашнее задание 3 модуль
- Лабораторная работа 3 модуль
- Практическая работа 3-4 модуль
- Домашнее задание 4 модуль
- Лабораторная работа 4 модуль
- Контрольная работа 4 модуль
- Экзамен 4 модуль
- Домашнее задание 5 модуль
- Лабораторная работа 5 модуль
- Практическая работа 5-6 модуль
- Домашнее задание 6 модуль
- Лабораторная работа 6 модуль
- Контрольная работа 6 модуль
- Экзамен 6 модуль
Промежуточная аттестация
- 2023/2024 учебный год 2 модуль0.05 * Домашнее задание 1 модуль + 0.05 * Домашнее задание 1 модуль + 0.05 * Домашнее задание 2 модуль + 0.05 * Домашнее задание 2 модуль + 0.1 * Контрольная работа 2 модуль + 0.1 * Контрольная работа 2 модуль + 0.15 * Лабораторная работа 1 модуль + 0.15 * Лабораторная работа 1 модуль + 0.15 * Лабораторная работа 2 модуль + 0.15 * Лабораторная работа 2 модуль + 0.1 * Практическая работа 1-2 модуль + 0.1 * Практическая работа 1-2 модуль + 0.1 * Практическая работа 1-2 модуль + 0.1 * Практическая работа 1-2 модуль + 0.3 * Экзамен 2 модуль + 0.3 * Экзамен 2 модуль
- 2023/2024 учебный год 4 модуль0.05 * Домашнее задание 3 модуль + 0.05 * Домашнее задание 3 модуль + 0.05 * Домашнее задание 4 модуль + 0.05 * Домашнее задание 4 модуль + 0.1 * Контрольная работа 4 модуль + 0.1 * Контрольная работа 4 модуль + 0.15 * Лабораторная работа 3 модуль + 0.15 * Лабораторная работа 3 модуль + 0.15 * Лабораторная работа 4 модуль + 0.15 * Лабораторная работа 4 модуль + 0.1 * Практическая работа 3-4 модуль + 0.1 * Практическая работа 3-4 модуль + 0.1 * Практическая работа 3-4 модуль + 0.1 * Практическая работа 3-4 модуль + 0.3 * Экзамен 4 модуль + 0.3 * Экзамен 4 модуль
- 2024/2025 учебный год 2 модуль0.05 * Домашнее задание 5 модуль + 0.05 * Домашнее задание 5 модуль + 0.05 * Домашнее задание 6 модуль + 0.05 * Домашнее задание 6 модуль + 0.1 * Контрольная работа 6 модуль + 0.1 * Контрольная работа 6 модуль + 0.15 * Лабораторная работа 5 модуль + 0.15 * Лабораторная работа 5 модуль + 0.15 * Лабораторная работа 6 модуль + 0.15 * Лабораторная работа 6 модуль + 0.1 * Практическая работа 5-6 модуль + 0.1 * Практическая работа 5-6 модуль + 0.1 * Практическая работа 5-6 модуль + 0.1 * Практическая работа 5-6 модуль + 0.3 * Экзамен 6 модуль + 0.3 * Экзамен 6 модуль
Список литературы
Рекомендуемая основная литература
- Qt 4.8. Профессиональное программирование на С++, Шлее, М., 2013
- Компиляторы: принципы, технологии и инструменты, Ахо, А. В., 2011
- Операционная система UNIX : учеб. пособие для вузов, Робачевский, А. М., 2003
- Приемы объектно - ориентированного проектирования : паттерны проектирования, Гамма, Э., 2014
- Язык программирования С++ : специальное издание, Страуструп, Б., 2015
- Язык программирования, Керниган, Б., 2012
Рекомендуемая дополнительная литература
- C++17 STL. Стандартная библиотека шаблонов, Галовиц, Я., 2019
- Стандартная библиотека С++ : справочное руководство, Джосаттис, Н. М., 2014
- Шаблоны C++. Справочник разработчика, Вандевурд, Д., 2020
- Эффективный и современный С++ : 42 рекомендации по использованию С++11 и С++14: пер. с англ., Мейерс, С., 2019