CAOS-2022
Вход в тестирующую систему: https://caos.myltsev.ru
Материалы лекций: https://caos.myltsev.ru/lectures/
Конспект лекций прошлого года от студентов
Содержание
Чатики и преподаватели по группам
Лектор — Александр Мыльцев @myltsev
Ассистент лектора — Фёдор Быков @placeholderplaceholder
Группа | Чатик | Преподаватель | Ассистенты |
---|---|---|---|
211 | чат | Грибов Филипп @grphil | Козлова Екатерина @h1de0us, Романова Анастасия @romanova_nastya |
212 | чат | Минеев Игорь @objatie_groba | Гончаров Фёдор @fmgoncharov, Разин Арслан @CrazyBadRedCat |
213 | чат | Александр Осадчий @aiosadchy | Алашеев Иван @yorky0, Артеменко Михаил @Michicosun |
214 | чат | Сальников Алексей @a_salnikov | Афанасьева Анастасия @afnastya, Шапрунов Кирилл @shapkk |
215 | чат | Сафронов Евгений @youagain | Неудачина Ева @cocosinca, Сазонов Михаил @worldstonekeep |
216 | чат | Филитов Михаил @iiixphillxiii | Осташов Денис @igreetyou, Петренко Ксения @KseniaPetrenko |
217 | чат | Галицкий Борис @Mr_galitskii | Прокопчук Леонид @leoproko_work, Киселев Максим @profilehooks |
218 | чат | Пономарев Алексей @Lexolordan | Ершов Иван @tutugarin, Константинов Андрей @intergalacticshaverma |
219 | чат | Чабдаров Раиль @Exile333 | Жукова Дарья @ch3repashka, Шитов Даниил @jpepper |
2110 | чат | Галицкий Борис @Mr_galitskii | Драганов Александр @nomapunk, Дудкин Вадим @vadim1705 |
Ссылка на страничку 216 группы
Настройка рабочего окружения
kks
https://github.com/darkkeks/kks
kks это консольная утилитка для курса, выполняющая много вещей, среди которых можно выделить несколько основных:
- Скачивание задач/сэмплов/контрольных с помощью одной команды. То же самое со сдачей задач: можно сдать и получить сразу результат.
- Генерация тестов с помощью скриптов и их тестирование.
- Просмотр рейтинга (как общего, так и по группам) в удобном формате
Пример использования:
kks sync # скачивание задач # тут вы написали свой код kks test --sample # тестирование kks submit
Больше примеров можно посмотреть в репозитории
Библиотека ввода-вывода
Библиотека ввода-вывода для ассемблера x86: simpleio_i686.S
Внутри виртуальной машины её можно скачать командой wget https://caos.myltsev.ru/simpleio_i686.S
Если получаете сообщение, что Wget не установлен на вашей системе (на Ubuntu Desktop по умолчанию нет), то установите его следующей командой: sudo apt install wget
Виртуальная машина (VirtualBox)
Рекомендуется скачать образ и установить его в эмулятор VirtualBox. Логин-пароль xubuntu/xubuntu, можно делать sudo.
Docker для пользователей MacOS (intel based)
Проверялось на MacOS BigSur и Monterey
Загрузить сам докер можно отсюда: тык
Команда для запуска: docker run -it --rm -v `pwd`:/caos -w /caos ubuntu
В терминале заходите в свою папку с акосом и запускаете эту команду. После нее вы начинаете работать с контейнером Ubuntu в папке /caos, где будет все содержимое вашей папки в основной ОС. Изменять содержимое внутри /caos можно и изнутри контейнера, и снаружи, изменения будут видны и там и там.
Внутри контейнера стоит установить gcc-multilib, без неё не заведётся: apt update && apt install -y gcc-multilib
Теперь вы можете писать код внутри своей любимой IDE (запущенной напрямую в вашей ОС, например VSCode), а компилить и запускать в докере через терминал.
Docker для пользователей MacOS на Apple Silicon
Добавьте в .bashrc или .zshrc:
export DOCKER_DEFAULT_PLATFORM=linux/amd64
После этого перезапустите Docker.
Вариант2:
- Скачиваем docker.
- Переходим в папку с задачами в терминале.
- Выполняем
docker run --platform linux/amd64 -it --rm -v `pwd`:/caos -w /caos ubuntu
- Делаем
apt update
- Делаем
apt -y install build-essential gcc-multilib
- Собираем задачки командой
gcc -m32 -g задача.S simpleio_i686.S
Как устроен курс
Контрольные мероприятия
Когда | Что | По какому материалу |
---|---|---|
Раз в три недели | контрольная работа | по предыдущим трём ДЗ |
В конце 3-го модуля | экзамен | по 2-му и 3-му модулям |
В конце 4-го модуля | экзамен | по 4-му модулю |
Формула оценки
За курс в зачетку выставляется 2 оценки: в конце 3 модуля O3 и в конце 4 модуля O4 - по следующим формулам:
- O3 = 0.6 * H3 + 0.4 * Э3
- O4 = 0.5 * O3 + 0.3 * H4 + 0.2 * Э4
Hi и Эi - накопленная оценка и оценка за экзамен в конце модуля i, соответственно. Эти оценки дробные от 0 до 10. Оценка за 3 модуль O3 учитывается в формуле для 4 модуля также в неокругленном виде.
Накопленная оценка Hi = ДЗi + Сi
Накопленная оценка (от 0 до 10) складывается из оценки за ДЗ (от 0 до 9) и оценки за семинары (от 0 до 1), все оценки дробные.
- оценка за ДЗ дробная, от 0 до 9 баллов, получается из вашего общего балла, набранного в тестирующей системе. Общий балл в тестирующей системе - сумма баллов за все выданные контесты, включая домашние, контрольные, дорешки контрольных и бонусные.
- оценки за ДЗ от 0.0 до 6.0 ставятся по линейной шкале, если в тестирующей системе набрано от 0 до Ki баллов;
- оценки за ДЗ от 6.0 до 9.0 ставятся по рейтинговой линейной шкале, если набрано более Ki баллов. Подробнее, берётся максимальный балл max_score (сумма по всем контестам, кроме бонусных), набранный хотя бы одним студентом. Тогда, если Ki < your_score, то ваша оценка за ДЗ равна min(9, 6 + 3 * (your_score - Ki) / (max_score - Ki)), где your_score - ваш общий балл в тестирующей системе (включая бонусные контесты)
- оценка за семинары дробная, от 0 до 1 балла, выставляется по правилам, оговоренным семинаристом
Значения порогов Ki следующие:
- в 3 модуле: K3 = 5000
- в 4 модуле: K4 = 3500
Округление арифметическое, применяется только в самом конце к итоговым оценкам O3 и O4.
"Автомат" выдаётся, если оценки за ДЗ и семинары не ниже некоторых пороговых значений, которые будут объявлены дополнительно.
Записи лекций
Записи лекций и семинаров на Яндекс-Диске
Когда | Ссылка | Конспекты |
---|---|---|
05.11 | https://www.youtube.com/watch?v=NNfqpUp3nBo | 01 02 03 04 |
12.11 | https://www.youtube.com/watch?v=HscPRNxJPy0 | 05 06 |
19.11 | https://www.youtube.com/watch?v=9WE3AKEdesw |