Язык программирования C++ (ДРИП 24/25) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Изменение ссылок на контесты)
(add info about test, add lecture 7-8)
 
(не показаны 4 промежуточные версии этого же участника)
Строка 40: Строка 40:
 
Проводятся по понедельникам с 9:30 до 10:50 и с 13:00 до 14:20.
 
Проводятся по понедельникам с 9:30 до 10:50 и с 13:00 до 14:20.
  
1. '''09.09.24'''. Темы: TBA
+
'''Лекции 1-2, 09.09.24''' [[https://t.me/c/2329929891/7 презентация], [https://t.me/c/2329929891/5 конспект]].
 +
Введение в курс и язык C++. Ключевые слова и идентификаторы. Структура программы на C++. Вывод результата в консоль (std::cin, std::cout). Фундаментальные типы данных в C++. Машинная арифметика. Стандартные операции над числами. Управляющие последовательности. Условная операция и условный оператор. Оператор switch. Атрибут [[fallthrough]]. Цикл while. Цикл for. Операторы break и continue. Оператор goto.
 +
 
 +
'''Лекции 3-4, 16.09.24''' [[https://t.me/c/2329929891/16 презентация], [https://t.me/c/2329929891/16 конспект]].
 +
Модель памяти. Переменные. Способы объявления переменных. Области действий и видимости (scope). Классы памяти. Потоковое чтение данных. Квалификаторы const и volatile. Указатели. Примеры, взятие адреса и разыменование. Арифметика указателей. Сочетание указателей и константности. Нулевой указатель. Указатель на void. Динамическое выделение памяти. Массивы. Способы инициализации массивов. Связь массивов и указателей. Многомерные массивы. Массивы в динамической области памяти. Ссылки. Ссылки на константу.
 +
 
 +
'''Лекции 5-6, 23.09.2024''' [https://t.me/c/2329929891/29 презентация], [https://t.me/c/2329929891/29 конспект]].
 +
Понятие функции. Объявление функции. ODR (One Definition Rule).  Параметры функции. Параметры по умолчанию. Оператор return. Передачи указателей, массивов, ссылок. Статические локальные переменные. Возврат массивов, указателей, ссылок. Перегрузка функций. Правила разрешений перегрузок. Понятие рекурсии. Косвенная рекурсия.
 +
 
 +
'''Лекции 7-8, 30.09.2024''' [https://t.me/c/2329929891/36 презентация-1], [https://t.me/c/2329929891/38 презентация-2] [https://t.me/c/2329929891/37 конспект]].
 +
Шаблоны (templates). Выводы типов шаблонов (передача по значению и по ссылке). Параметры шаблона по умолчанию. Инстанцирование шаблонов. Перегрузка шаблонов функций. Специализация шаблонов. Non-type template parameters. Ключевое слово auto. Тип данных union. Пользовательские типы: перечисления (enum, enum class). Структуры. Статические поля структур. Размер структур. Выравнивание. pragma pack.
  
 
== Домашние задания ==
 
== Домашние задания ==
Строка 53: Строка 63:
 
| 1 || [https://official.contest.yandex.ru/contest/67757/enter ДЗ-1] || 15.09.2024 23:59
 
| 1 || [https://official.contest.yandex.ru/contest/67757/enter ДЗ-1] || 15.09.2024 23:59
 
|-
 
|-
| 2 || [https://admin.contest.yandex.ru/contests/67981/enter ДЗ-2] || 22.09.2024 23:59
+
| 2 || [https:///official.contest.yandex.ru/contests/67981/enter ДЗ-2] || 22.09.2024 23:59
 
|-
 
|-
| 3 || [https://admin.contest.yandex.ru/contests/67982/enter ДЗ-3] || 29.09.2024 23:59
+
| 3 || [https:///official.contest.yandex.ru/contests/67982/enter ДЗ-3] || 29.09.2024 23:59
 
|-
 
|-
| 4 || [https://admin.contest.yandex.ru/contests/67983/enter ДЗ-4] || 06.10.2024 23:59
+
| 4 || [https:///official.contest.yandex.ru/contests/67983/enter ДЗ-4] || 06.10.2024 23:59
 
|-
 
|-
| 5 || [https://admin.contest.yandex.ru/contests/67984/enter ДЗ-5] || 13.10.2024 23:59
+
| 5 || [https:///official.contest.yandex.ru/contests/67984/enter ДЗ-5] || 13.10.2024 23:59
 
|-
 
|-
| 6 || [https://admin.contest.yandex.ru/contests/67985/enter ДЗ-6] || 20.10.2024 23:59
+
| 6 || [https:///official.contest.yandex.ru/contests/67985/enter ДЗ-6] || 20.10.2024 23:59
 
|-
 
|-
| 7 || [https://admin.contest.yandex.ru/contests/67986/enter ДЗ-7] || 24.10.2024 23:59
+
| 7 || [https:///official.contest.yandex.ru/contests/67986/enter ДЗ-7] || 24.10.2024 23:59
 
|}
 
|}
 
  
 
== Оценки ==
 
== Оценки ==
Строка 75: Строка 84:
  
 
== Контрольная работа ==
 
== Контрольная работа ==
TBA
+
Состоится во вторник 08.10.2024 3-й (13:00 -- 14:20, ауд. R506) и 5-й (16:20 -- 17:40, ауд. D725) парами.
 +
 
 +
Список вопросов для подготовки доступен по [https://t.me/c/2329929891/41 ссылке].
  
 
== Экзамен ==
 
== Экзамен ==
 
TBA
 
TBA

Текущая версия на 22:52, 1 октября 2024

Основная информация

Курс читается на 1 курсе в 1 модуле на программе ДРИП.

Чат курса в телеграм

Форма для анонимной обратной связи (постоянная)

Ведомость курса

Группа 241 242
Лектор

Горденко Мария Константиновна
tg: @oduvan_ja

Семинарист

Мария Горденко
tg: @oduvan_ja
Пн 11:10-12:30, 14:40-16:00

Никита Майнуленко
tg: @Ni_Mans
Пт 09:30-12:30

Ассистент

Тамирлан Яхъяев
tg: @alvoro_ty

Даниил Тимижев
tg: @dahbka_lis

Ассистенты
лектора

Илья Тямин, tg: @mrshrimp_it

Юлия Шустрова, tg: @jshustrik

Лекции

Проводятся по понедельникам с 9:30 до 10:50 и с 13:00 до 14:20.

Лекции 1-2, 09.09.24 [презентация, конспект]. 

Введение в курс и язык C++. Ключевые слова и идентификаторы. Структура программы на C++. Вывод результата в консоль (std::cin, std::cout). Фундаментальные типы данных в C++. Машинная арифметика. Стандартные операции над числами. Управляющие последовательности. Условная операция и условный оператор. Оператор switch. Атрибут fallthrough. Цикл while. Цикл for. Операторы break и continue. Оператор goto.

Лекции 3-4, 16.09.24 [презентация, конспект]. 

Модель памяти. Переменные. Способы объявления переменных. Области действий и видимости (scope). Классы памяти. Потоковое чтение данных. Квалификаторы const и volatile. Указатели. Примеры, взятие адреса и разыменование. Арифметика указателей. Сочетание указателей и константности. Нулевой указатель. Указатель на void. Динамическое выделение памяти. Массивы. Способы инициализации массивов. Связь массивов и указателей. Многомерные массивы. Массивы в динамической области памяти. Ссылки. Ссылки на константу.

Лекции 5-6, 23.09.2024 презентация, конспект]. 

Понятие функции. Объявление функции. ODR (One Definition Rule). Параметры функции. Параметры по умолчанию. Оператор return. Передачи указателей, массивов, ссылок. Статические локальные переменные. Возврат массивов, указателей, ссылок. Перегрузка функций. Правила разрешений перегрузок. Понятие рекурсии. Косвенная рекурсия.

Лекции 7-8, 30.09.2024 презентация-1, презентация-2 конспект]. 

Шаблоны (templates). Выводы типов шаблонов (передача по значению и по ссылке). Параметры шаблона по умолчанию. Инстанцирование шаблонов. Перегрузка шаблонов функций. Специализация шаблонов. Non-type template parameters. Ключевое слово auto. Тип данных union. Пользовательские типы: перечисления (enum, enum class). Структуры. Статические поля структур. Размер структур. Выравнивание. pragma pack.

Домашние задания

Проводятся в системе Яндекс.Контест. Для решения задач необходимо использовать выданные на корпоративную почту логины и пароли.

После окончания срока сдачи, все посылки, получившие статус AC (accepted for testing), будут проверены ассистентом, после чего будет выставлен полный или частичный балл.

Ссылка Дедлайн сдачи
1 ДЗ-1 15.09.2024 23:59
2 ДЗ-2 22.09.2024 23:59
3 ДЗ-3 29.09.2024 23:59
4 ДЗ-4 06.10.2024 23:59
5 ДЗ-5 13.10.2024 23:59
6 ДЗ-6 20.10.2024 23:59
7 ДЗ-7 24.10.2024 23:59

Оценки

Ведомость курса

Оценка за курс считается как 0.3*КР + 0.3*ДЗ + 0.1*Активность + 0.3*Экзамен.

Округление арифметическое и осуществляется только для итоговой оценки.
Оценки за контрольную работу и за экзамен являются блокирующими.

Контрольная работа

Состоится во вторник 08.10.2024 3-й (13:00 -- 14:20, ауд. R506) и 5-й (16:20 -- 17:40, ауд. D725) парами.

Список вопросов для подготовки доступен по ссылке.

Экзамен

TBA