Программирование на С++ КНАД и ВСН 24/25

Материал из Wiki - Факультет компьютерных наук
(перенаправлено с «Программирование на С++ КНАД 24/25»)
Перейти к: навигация, поиск

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

Курс читается на 1 курсе в 3 модуле на программе КНАД и ВСН.

Канал курса в телеграм

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

Чат 241 в телеграм

Чат 242 в телеграм

Чат ВСН в телеграм

ИИ-бот помощник по С++ в телеграм

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

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

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

Группа КНАД241 КНАД242 ВСН
Лекции Лектор Горденко М.К.
Семинарист Горденко М.К. Береснева Е.Н. Еремин А.
Ассистенты Кораблина Майя и Покровский Александр и Соловкин Александр Битюков Павел и Дубинина Дарья Марченкова Анастасия и Масленникова Мария

Ссылка на лекцию

Ссылка на семинар БКНАД241

Ссылка на семинар БКНАД242

Лекции

Проводятся по вторникам и четвергам, но возможны исключения, проверяйте расписание (КНАД, ВСН).

Дата Тема Ссылка на конспект
1 09.01 Введение в курс и язык C++. Ключевые слова и идентификаторы. Структура программы на C++. Вывод результата в консоль (std::cin, std::cout). Фундаментальные типы данных в C++. Машинная арифметика. Стандартные операции над числами. Управляющие последовательности. Условная операция и условный оператор. Оператор switch. Атрибут [[fallthrough]]. Цикл while. Цикл for. Операторы break и continue. Оператор goto. О курсе Лекция 1 Конспект
2 10.01 Управляющие последовательности. Условная операция и условный оператор. Оператор switch. Атрибут fallthrough. Цикл while. Цикл for. Операторы break и continue. Оператор goto. Лекция 2
3 14.01 Управляющие последовательности. Условная операция и условный оператор. Оператор switch. Атрибут fallthrough. Цикл while. Цикл for. Операторы break и continue. Оператор goto. Модель памяти. Переменные. Способы объявления переменных. Области действий и видимости (scope). Классы памяти. Потоковое чтение данных. Квалификаторы const и volatile. Указатели. Примеры, взятие адреса и разыменование. Арифметика указателей. Сочетание указателей и константности. Лекция 3 Конспект
4 21.01 Указатели. Примеры, взятие адреса и разыменование. Арифметика указателей. Сочетание указателей и константности. Нулевой указатель. Указатель на void. Динамическое выделение памяти. Массивы. Способы инициализации массивов. Связь массивов и указателей. Многомерные массивы. Массивы в динамической области памяти. Ссылки. Ссылки на константу. Лекция 4 Конспект
5 23.01 Указатели. Примеры, взятие адреса и разыменование. Арифметика указателей. Сочетание указателей и константности. Нулевой указатель. Указатель на void. Динамическое выделение памяти. Массивы. Способы инициализации массивов. Связь массивов и указателей. Многомерные массивы. Массивы в динамической области памяти. Ссылки. Ссылки на константу. Лекция 5 Конспект
6 28.01 Понятие функции. Объявление функции. ODR (One Definition Rule). Параметры функции. Параметры по умолчанию. Оператор return. Передачи указателей, ссылок. Лекция 6 Конспект
7 30.01 Понятие функции. Передачи указателей, массивов, ссылок. Статические локальные переменные. Возврат массивов, указателей, ссылок. Лекция 7 Конспект
8 04.02 Функции. Шаблоны функций. Перегрузка. Лекция 8 Конспект
9, 10 06.02 Пользовательские типы данных. Перечисления. Объединения и структуры (начало) Лекции 9 и 10 Конспект
11 13.02 Введение в ООП. Классы и структуры. Модификаторы доступа. Константные методы. Статические методы. Лекция 11
12 18.02 последовательные контейнеры Лекция 12 Конспект
13 21.02 Ассоциативные контейнеры Лекция 13 Конспект

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

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

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

Ссылка Дедлайн сдачи
1 ДЗ-1 16.01.24 23.59.59
2 ДЗ-2 23.01.24 23.59.59
3 ДЗ-3 02.02.24 23.59.59
4 ДЗ-4 07.02.24 23.59.59
5 ДЗ-5 14.02.25 23.59.59
6 ДЗ-6 23.02.24 23.59
7 ДЗ-7 28.02.25 23.59.59

Оценки

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

Оценка за курс считается как 0,2 Околлоквиум + 0,2 Оконтрольная + 0,2 Одомраб + 0,2 Оактивность + 0,2 Оэкзамен

Активность — это семинарская оценка + тесты на лекции. Коллоквиум и Экзамен блокирующие Одна из домашних работ командная. Нужно будет сделать свой проект в github в команде. Для получения оценки 9 и 10 в каждом элементе контроля должны быть решены дополнительные задачи (будут отмечены). Они могут содержать не пройденный в рамках курса материал. Округление арифметическое.

При обнаружении плагиата обнуляется оценка и составляется докладная записка.

К.Р. Общие положения

К.Р. происходит, в онлайн-формате с использованием прокторинга.

Контрольные мероприятия проходят с использованием асинхронного прокторинга. Каждому студенту необходимо записать процесс выполнения заданий защиты с использованием OBS Studio, выложить результат в облачное хранилище и предоставить ссылку на запись.

Для участия вам потребуется компьютер с веб-камерой и микрофоном (в частности, все современные ноутбуки оборудованы ими) и выходом в интернет.

Вам необходимо установить OBS Studio по ссылке https://obsproject.com/ru

Вам необходимо настроить три источника входных потоков: микрофон, веб-камера и захват экрана. Подробнее о настройке в видео: https://www.youtube.com/watch?v=KVKrvPvPLYg

За 5 минут до начала работы начните запись. Опоздавшие студенты (начавшие запись не до начала тура) будут дисквалифицированы по решению семинариста. Ваши видео будут просмотрены только преподавателями и ассистентами. После окончания тура у вас будет 6 часов на заливку записанного видео.

Видео не удаляйте пока ваш семинарист не проверит запись!

Во время защиты разрешается пользоваться: - Сайтом тестирующей системы (нельзя пользоваться своими посылками в ДЗ) и средами разработки (не онлайн, а установленными на компьютере). - Документацией на https://www.python.org/.

Заранее отключите все мессенджеры и закройте лишние вкладки.

Во время защиты не разрешается общение с другими людьми, заранее предупредите об этом тех людей, которые находятся с вами в месте написания защиты. Пользоваться наушниками во время защиты запрещено!

В случае, если вы завершили решение задач раньше окончания защиты, вам необходимо написать об этом сообщение в тестирующей системе и завершить решение задач. В случае попыток решения задач после этого сообщения вы будете дисквалифицированы. Запрещено общение с другими участниками до конца тура - оба участника будут дисквалифицированы.

Пожалуйста, заранее проверьте, что вы научились записывать видео в требуемом формате - этот процесс иногда может вызывать проблемы. Все решения проблем, связанных с записью в OBS Studio описаны в интернете. Чтобы записанные файлы не занимали много места, вы можете понизить битрейт: достаточно 500 Kbps для видео и 64 для аудио. Смотрите видео по ссылке выше - там показано, как это настроить.


Проведение контрольной работы: Действия, которые вы должны совершить до тура:

1) Физически отключить и удалить любые электронные устройства и дополнительные мониторы с рабочего места

2) Подготовиться к тому, что вы не сможете покидать рабочее место в течение 1 часа 40 минут

3) Включить запись из трех источников: экран, веб-камера и микрофон в OBS Studio. Убедитесь, что включена запись со всего экрана, а не из отдельного окна. Убедитесь, что микрофон и камера включены.

4) Снять свое рабочее место со всех сторон и его окружение

5) Показать чистые листы, которые вы планируете использовать во время черновиков

Порядок действий во время тура: Во время тура возникающие по условиям задач вопросы вы должны задавать через тестирующую систему. Организационные вопросы вы также можете задать через тестирующую систему.

В случае, если вы работаете с черновиком или бумажными конспектами, направьте веб-камеру так, чтобы были видны ваши руки. Не забудьте направить веб-камеру на лицо, когда вы возвращаетесь к работе за компьютером.

Во время тура вы можете получить важные объявления от жюри через тестирующую систему. Уведомления о них появляются в правом верхнем углу в интерфейсе тестирующей системы.

В случае, если вы хотите досрочно завершить тур - напишите об этом сообщение, используя интерфейс вопросов в тестирующей системе и выполните все действия, которые вы должны выполнить после окончания тура.

После окончания тура: После окончания тура в течение 4 часов необходимо разместить видео на яндекс диск, google drive, dropbox или youtube (позаботьтесь о правилах видимости, иначе прокторинг может не быть засчитан), которое вы записывали в течение тура, в открытом доступе и сдать ссылку на него в специальную форму которую пришлют в чат.

В случае технических проблем с загрузкой видео оперативно пишите своему семинаристу.

Коллоквиум

Принцип проведения коллоквиума

  • Вам задаются 3 темы из списка вопросов (вопросы могут отличаться, т.е. не быть точь-в-точь такими же, если преподаватель хочет понять уровень владения материалом). Условно вам задали вопрос про массив, вы что-то ответили, но мало, вам задают наводящие и дополнительны вопросы. Все это в рамках одной темы.
  • Коллоквиум онлайн.
  • Обязательно с камерой и демонстрацией экрана. При обнаружении списывания, поверьте, когда вы что-то параллельно ищете на телефоне, планшете, бегаете глазами — это видно, у вас будет 0 баллов.
  • По времени, на все у вас 10-15 минут. Подготовки нет.
  • Таблица для записи тут. Просим не затирать друг друга, вести прилично, и за 5 минут до коллоквиума не отменяться. Мы закроем запись на слот 6 марта.

Оценка ставится за весь коллоквиум целиком:

  • 9–10 баллов — ответы, когда показано владение материалом сверх того, что прошли в рамках курса, ответы на дополнительные более сложные вопросы, естественно все три вопроса должны быть отвечены полностью и корректно
  • 8 баллов — полные и корректные ответы на все три вопроса, в рамках того, что было пройдено на лекциях
  • 6-7 баллов — ответы, содержащие незначительные неточности, которые в ходе наводящих вопросов были исправлены, допускается неточность в одном ответе из трех, два должны быть полными и корректыными
  • 4–5 баллов — ответы, содержащие пробелы в понимании, неверный ответ на один из вопросов, непонимание одного из вопросов, или ответ на два вопроса неточно/неполно
  • 3 и ниже — ответы с существенными ошибками, неполным пониманием темы, или её полным непониманием, ответ на два вопроса неверный, без понимания темы

Как готовиться:

  • Пересмотреть и прямо внимательно изучить все презентации лекций, руками попробовать примеры, добившись понимания
  • Можно попросить ассистента провести консультацию
  • Изучить конспект, но помните, ни презентации, ни конспект != полной лекции, которые у вас были, какие-то моменты я проговариваю голосом. Презентация != запись лекции под диктовку
  • На cppreference много тоже интересного, туда рекомендую полазить
  • Не надо скармиливать вопросы chatgpt, потом говорить, что он так сказал, доверяйте, но перепроверьте по всем источникам выше!!!

Экзамен

TBD