Курс "Алгоритмизация и программирование"
2019/2020 учебный год, осень
Курс для начинающих, построен на базе языка Котлин
Преподаватели
- Глухих М.И.
- Ахин М.Х.
- Беляев М.А.
- Гагарский К.А.
- Петров М.А.
- Егорова И.
- Хандыго Е.
- Степанов Д.
Отчетность:
- зачет по итогам упражнений
- экзамен (см. ниже)
Страницы:
- руководство по настройке среды разработки и обучающего проекта
- учебное пособие
- обучающий проект
- система Котоед
- видео-курс "Введение в язык Котлин"
Презентации лекций
Внимание: презентации не содержат всей необходимой информации. Полное учебное пособие (обновлённая версия для 2019 года) доступно здесь. Презентации, помеченные (2017) или (2018), относятся к прошлым годам обучения, лекции будут обновляться по ходу семестра.
- 04.09: вводная лекция
- 11.09: простые функции -- см. также неделю 1 видео-курса
- 18.09: ветвления -- см. также неделю 2 видео-курса
- 25.09: рекурсии и циклы -- лекция прошла в режиме удалённого обучения, см. презентацию 2018 года и неделю 3 видео-курса
- 2.10: хранение данных
- 9.10: списки и строки -- см. также неделю 4 видео-курса
- 16.10: ассоциативные массивы и множества -- лекция прошла в режиме удалённого обучения, см. неделю 5 видео-курса
- 23.10: функции высшего порядка (2018)
- 30.10: коллекции и таблицы
- 06.11: текстовый ввод-вывод -- лекция пройдёт в режиме удалённого обучения, см. неделю 6 видео-курса
- ввод-вывод -- см. также неделю 7 видео-курса, включает также краткий обзор предыдущей темы
- регулярные выражения
- простые классы (2018)
- введение в графы (2018)
- классы и интерфейсы (2018)
- об ошибках в коде (2017)
- разбор выражений (2017)
Порядок проведения экзамена
Сроки
Консультации: 15 января, 10:00 (группы 2,5,6), 27 января, 10:00 (группы 1,3,4).
Экзамен 16 января:
- у студентов групп 2 и 5 экзамен начнётся в 10:00 и закончится в 13:00
- у студентов группы 6 экзамен начнётся в 13:00 и закончится в 16:00
Экзамен 28 января:
- для студентов всех групп (1,3,4) начало в 10:00, окончание в 13:00
Kotoed Submission Deadline: основной 18 декабря, 23:59, дополнительный 2 февраля, 23:59.
Доп. зачёт:
- Ориентировочно состоится 3-6 февраля
Доп. экзамен 14 февраля:
- Время начала экзамена уточняется
Процедура
Консультация проводится за день до экзамена, для посещения она необязательна, её посещение не даёт никаких льгот при сдаче экзамена. На ней я кратко перескажу порядок проведения экзамена и отвечу на вопросы студентов, если они будут. Также на консультации (равно как и на любом экзамене) я могу поставить в зачётку экзаменационную оценку тем, кто имеет право на автомат.
Дата и время начала экзамена приведены выше. Допускаются к экзамену все студенты, имеющие зачёт по данному курсу; получившим автомат по итогам практики и тестирования на экзамен можно не приходить. С собой иметь зачётную книжку и, если студент считает это необходимым -- материалы для письма, любые учебные материалы, ноутбук. Приходить на экзамен следует к началу времени вашей группы. Если по каким-либо причинам вы хотите прийти сдавать экзамен с другой группой -- обязательно предупредите об этом экзаменатора. Не разрешается сдавать экзамен дважды в один день. Не разрешается сдавать экзамен и 16, и 28 января.
Экзамен заключается в решении задачи и написании тестов для проверки решения. Задача решается на компьютере в аудитории или на ноутбуке студента. Для получения положительной оценки необходимо продемонстрировать преподавателю работающее на компьютере решение.
Билет содержит одну задачу, задача может использовать материалы из всех разделов курса. В каждом билете отдельно приведены требования, необходимые для получения оценок "удовлетворительно", "хорошо" и "отлично". Студент, претендующий на любую положительную оценку, должен быть в состоянии объяснить экзаменатору своё решение, использованные в нём элементы языка и стандартной библиотеки. От претендентов на высокую оценку ожидается также способность обосновать, почему задача решена именно так и провести сравнение с другими возможными решениями.
На экзамене разрешается пользоваться конспектом, Интернетом (в частности, всеми материалами KotlinAsFirst, документацией по Котлину, презентациями лекций, поисковыми системами и прочими материалами, кроме явно запрещённых ниже), любыми книгами. Запрещается общаться с кем-либо, кроме экзаменатора, пользоваться вторым компьютером, мобильными телефонами, планшетами, наушниками и микронаушниками, электронной почтой, социальными сетями, и другими средствами общения, отправлять вопросы и посты на любые форумы. Запрещается пользоваться готовыми решениями экзаменационных задач. При нарушении этих правил студенту немедленно ставится неудовлетворительная оценка и экзамен для него прекращается; на последующих попытках сдачи экзамена пользоваться Интернетом ему запрещается.
Максимальная длительность экзамена 2 часа 45 минут. Из них 2 часа отводится на решение задачи и 30 минут на исправление замечаний экзаменатора, 15 минут остаются в резерве.
Порядок подготовки
Подготовку распределите равномерно. Во время подготовки к экзамену рекомендуется заниматься программированием по 6-8 часов в день (из которых 1-2 часа должно посвящаться теории, остальное - практике). Не откладывайте все на конец. Если при подготовке возникают вопросы - напишите письмо преподавателю. Также вопросы можно будет задать на консультации.
Перечитайте материалы лекций. Убедитесь, что вы помните наизусть синтаксические правила записи всех использованных в лекциях конструкций (вы, конечно, можете на экзамене консультироваться каждый раз с литературой, но в этом случае вам не хватит отведенного времени). В первую очередь это касается основных уроков 1-7.
Большую часть времени подготовки следует уделить самостоятельному решению задач из обучающего проекта (лучше тех, которые вы не решали в течение семестра). В идеале, каждый день подготовки вы должны решать по 2-3 задачи. Важно решить при подготовке по несколько задач из уроков 6-9, особенную важность имеют задачи из урока 7.
NB: консультация предназначена для того, чтобы студенты могли задать преподавателю вопросы по изученному материалу и порядку проведения экзамена. На консультации не будет дополнительной лекции по программированию, магических рекомендаций о том, как сдать экзамен и тому подобных вещей. Консультация необязательна для посещения. Объявления, касающиеся времени и порядка проведения экзамена, будут размещаться на этой странице.
Советы экзаменуемому
- Выспитесь. Лихорадочная подготовка в последнюю ночь ни к чему хорошему не приведет.
- Первым делом внимательно прочитайте условие задачи. Убедитесь, что вы понимаете его полностью. В случае малейших сомнений задайте вопрос(ы) экзаменатору.
- До написания программы прикиньте на бумаге алгоритм решения задачи (хотя бы ключевые моменты).
- Решая задачу, пользуйтесь только теми конструкциями и методами, в которых вы разбираетесь хорошо, экзамен -- не место для того, чтобы пытаться разобраться в неизвестных вам материалах.
- Следуйте тому пути решения, который вы сами считаете наиболее простым. Если сомневаетесь в себе -- начните с решения минимальной задачи на оценку "удовлетворительно" и продемонстрируйте решение преподавателю, и только после этого приступайте к улучшениям решения для получения оценок "хорошо" или "отлично".
- Не торопитесь и не суетитесь. Двух часов времени больше чем достаточно для решения любой экзаменационной задачи.