Курс "Алгоритмизация и программирование"
2020/2021 учебный год, осень
Курс для начинающих, построен на базе языка Котлин
Преподаватели
- Глухих М.И.
- Ахин М.Х.
- Петров М.А.
- Гагарский К.А.
- Абдуллин А.М.
- Степанов Д.С.
- Егорова И.С.
- Хандыго Е.
- Соболь В.
Отчетность:
- зачет по итогам упражнений
- экзамен (см. ниже)
Страницы:
- руководство по настройке среды разработки и обучающего проекта
- учебное пособие
- обучающий проект
- система Котоед
- принятые соглашения по стилю кода
Полезные ссылки (TBD 2021/22):
- Введение в язык Kotlin Политех/Коурсера
- Задачи для изучения языка Kotlin
- Разработка Android-приложений на Kotlin
- Kotlin for Java developers JetBrains/Coursera
- JetBrains Academy
- Kotlin Koans
- Atomic Kotlin
- Other Kotlin courses (University, JB, etc.)
- ...
Презентации лекций
Внимание: презентации не содержат всей необходимой информации. Полное учебное пособие (обновлённая версия для 2020 года) доступно здесь.
- 04.09: вводная лекция
- 11.09: простые функции -- см. также неделю 1 видео-курса
- 18.09: ветвления -- см. также неделю 2 видео-курса
- 18.09: рекурсии и циклы -- см. также неделю 3 видео-курса
- 25.09: хранение данных
- 02.10: списки и строки -- см. также неделю 4 видео-курса
- 09.10: функции высшего порядка
- 16.10: коллекции, ассоциативные массивы и множества, nullability -- см. также неделю 5 видео-курса
- 23.10: текстовый ввод-вывод -- см. также неделю 6 видео-курса
- 30.10: регулярные выражения
- 06.11: файловый ввод-вывод -- см. также неделю 7 видео-курса
- 13.11: простые классы
- 20.11: введение в графы
- 27.11: классы и интерфейсы
- 04.12: разбор выражений
- 11.12: Kotlin DSL
- об ошибках в коде (2017)
Порядок проведения экзамена
Сроки
Консультации: 9, 13, 16 января
Экзамены: 11, 14, 18 января
Kotoed Submission Deadlines: 13 декабря
Доп. зачёт: TODO
Доп. экзамен: TODO
Процедура
Консультация проводится за день до экзамена, для посещения она необязательна, её посещение не даёт никаких льгот при сдаче экзамена. На ней я кратко перескажу порядок проведения экзамена и отвечу на вопросы студентов, если они будут. Также на консультации (равно как и на любом экзамене) я могу поставить в зачётку экзаменационную оценку тем, кто имеет право на автомат.
Дата и время начала экзамена приведены выше. Допускаются к экзамену все студенты, имеющие зачёт по данному курсу; получившим автомат по итогам практики и тестирования на экзамен можно не приходить. С собой иметь зачётную книжку и, если студент считает это необходимым -- материалы для письма, любые учебные материалы, ноутбук. Приходить на экзамен следует к началу времени вашей группы. Если по каким-либо причинам вы хотите прийти сдавать экзамен с другой группой -- обязательно предупредите об этом экзаменатора. В период основной сессии экзамен сдаётся один раз.
Экзамен заключается в решении задачи и написании тестов для проверки решения. Задача решается на компьютере в аудитории или на ноутбуке студента. Для получения положительной оценки необходимо продемонстрировать преподавателю работающее на компьютере решение.
Билет содержит одну задачу, задача может использовать материалы из всех разделов курса. В каждом билете отдельно приведены требования, необходимые для получения оценок "удовлетворительно", "хорошо" и "отлично". Студент, претендующий на любую положительную оценку, должен быть в состоянии объяснить экзаменатору своё решение, использованные в нём элементы языка и стандартной библиотеки. От претендентов на высокую оценку ожидается также способность обосновать, почему задача решена именно так и провести сравнение с другими возможными решениями.
На экзамене разрешается пользоваться конспектом, Интернетом (в частности, всеми материалами KotlinAsFirst, документацией по Котлину, презентациями лекций, поисковыми системами и прочими материалами, кроме явно запрещённых ниже), любыми книгами. Запрещается общаться с кем-либо, кроме экзаменатора, пользоваться вторым компьютером, мобильными телефонами, планшетами, наушниками и микронаушниками, электронной почтой, социальными сетями, и другими средствами общения, отправлять вопросы и посты на любые форумы. Запрещается пользоваться готовыми решениями экзаменационных задач. При нарушении этих правил студенту немедленно ставится неудовлетворительная оценка и экзамен для него прекращается; на последующих попытках сдачи экзамена пользоваться Интернетом ему запрещается.
Максимальная длительность экзамена 2 часа 45 минут. Из них 2 часа отводится на решение задачи и 30 минут на исправление замечаний экзаменатора, 15 минут остаются в резерве.
Порядок подготовки
Подготовку распределите равномерно. Во время подготовки к экзамену рекомендуется заниматься программированием по 6-8 часов в день (из которых 1-2 часа должно посвящаться теории, остальное - практике). Не откладывайте все на конец. Если при подготовке возникают вопросы - напишите письмо преподавателю. Также вопросы можно будет задать на консультации.
Перечитайте материалы лекций. Убедитесь, что вы помните наизусть синтаксические правила записи всех использованных в лекциях конструкций (вы, конечно, можете на экзамене консультироваться каждый раз с литературой, но в этом случае вам не хватит отведенного времени). В первую очередь это касается основных уроков 1-7.
Большую часть времени подготовки следует уделить самостоятельному решению задач из обучающего проекта (лучше тех, которые вы не решали в течение семестра). В идеале, каждый день подготовки вы должны решать по 2-3 задачи. Важно решить при подготовке по несколько задач из уроков 6-9, особенную важность имеют задачи из урока 7.
NB: консультация предназначена для того, чтобы студенты могли задать преподавателю вопросы по изученному материалу и порядку проведения экзамена. На консультации не будет дополнительной лекции по программированию, магических рекомендаций о том, как сдать экзамен и тому подобных вещей. Консультация необязательна для посещения. Объявления, касающиеся времени и порядка проведения экзамена, будут размещаться на этой странице.
Советы экзаменуемому
- Выспитесь. Лихорадочная подготовка в последнюю ночь ни к чему хорошему не приведет.
- Первым делом внимательно прочитайте условие задачи. Убедитесь, что вы понимаете его полностью. В случае малейших сомнений задайте вопрос(ы) экзаменатору.
- До написания программы прикиньте на бумаге алгоритм решения задачи (хотя бы ключевые моменты).
- Решая задачу, пользуйтесь только теми конструкциями и методами, в которых вы разбираетесь хорошо, экзамен -- не место для того, чтобы пытаться разобраться в неизвестных вам материалах.
- Следуйте тому пути решения, который вы сами считаете наиболее простым. Если сомневаетесь в себе -- начните с решения минимальной задачи на оценку "удовлетворительно" и продемонстрируйте решение преподавателю, и только после этого приступайте к улучшениям решения для получения оценок "хорошо" или "отлично".
- Не торопитесь и не суетитесь. Двух часов времени больше чем достаточно для решения любой экзаменационной задачи.
Архивы за предыдущие годы (на базе языка Котлин)
- 2019/2020 (автор Глухих М.И.)
- 2018/2019 (автор Глухих М.И.)
- 2017/2018 (автор Глухих М.И.)
- 2016/2017 (автор Глухих М.И.)