CAOS-2021 — различия между версиями
Isaevmik (обсуждение | вклад) |
Romaha (обсуждение | вклад) м (Добавлена ссылка на материалы 204 группы) |
||
(не показано 12 промежуточных версии 4 участников) | |||
Строка 1: | Строка 1: | ||
− | |||
== Важные ссылки == | == Важные ссылки == | ||
+ | [[CAOS-2021/Exam|Информация про экзамен]] | ||
[https://caos.myltsev.ru Вход в Ejudge] | [https://caos.myltsev.ru Вход в Ejudge] | ||
Строка 56: | Строка 56: | ||
<br /> | <br /> | ||
[https://github.com/olegartys/hse_caos_208 GitHub семинаров 208 группы] | [https://github.com/olegartys/hse_caos_208 GitHub семинаров 208 группы] | ||
+ | <br /> | ||
+ | [https://github.com/kurynin/hse.caos.2021-2022.practice GitHub семинаров 204 группы] | ||
= Преподаватели и учебные ассистенты = | = Преподаватели и учебные ассистенты = | ||
Строка 99: | Строка 101: | ||
| БПМИ209 | | БПМИ209 | ||
| [https://www.hse.ru/org/persons/307352167 Сергей Горшков] | | [https://www.hse.ru/org/persons/307352167 Сергей Горшков] | ||
− | | [https://t.me/Egor_Gutrov Егор Гутров], [https://t.me/ | + | | [https://t.me/Egor_Gutrov Егор Гутров], [https://t.me/Sm_Anastassya Анастасия Смородинникова] |
|- | |- | ||
| БПМИ2010 | | БПМИ2010 | ||
Строка 115: | Строка 117: | ||
===Материалы=== | ===Материалы=== | ||
− | Конспекты от | + | |
+ | [https://exuberant-arthropod-be8.notion.site/21-22-0f236f7d03c74dfbbd945f93651758a2 '''Конспекты от студентов курса'''] | ||
+ | |||
+ | Конспекты от студентки курса: https://curious-sailor-21e.notion.site/3c09a4793eb04e869529c600a33ebc99?v=55c0a11de5164509900fcc92ad7415e4 | ||
+ | |||
+ | ===Слайды с лекций=== | ||
+ | * 10 декабря: | ||
+ | ** [https://caos.myltsev.ru/lectures/lecture-2021-12-10.pdf Динамическая память в Си]. | ||
+ | ** [https://github.com/blackav/hse-caos-2020/blob/master/00-lectures/11-memory/lecture11.pdf ОЗУ и кеши]. | ||
===Как устроен курс=== | ===Как устроен курс=== | ||
Строка 130: | Строка 140: | ||
! Набрано баллов !! Накопленная оценка | ! Набрано баллов !! Накопленная оценка | ||
|- | |- | ||
− | | | + | | 0 || 1 |
|- | |- | ||
| 1500 || 2 | | 1500 || 2 | ||
Строка 143: | Строка 153: | ||
|} | |} | ||
− | + | Шкала оценок 6..10 устроена следующим образом: берётся максимальный суммарный балл <em>max=17776</em> за решение ДЗ и КР (без бонусов), набранный хотя бы одним студентом. Диапазон <em>score_range</em> = 9500..17776 разбивается на 5 градаций [T6, T7, T8, T9, T10], каждая шириной в (<em>max</em> - 9500) / 5 баллов. | |
+ | |||
+ | Накопленная оценка выставляется так. Для каждого студента берётся полная сумма баллов <em>personal_sum</em> с учётом ДЗ (включая бонусные), КР и семинарские баллы. | ||
+ | * Если <em>personal_sum</em> меньше 9500, то в соответствии с таблицей выставляется оценка 1..5. | ||
+ | * Если <em>personal_sum</em> попадает в интервал <em>score_range</em>, то выставляется оценка соответствующей градации. | ||
+ | * Иначе выставляется накопленная оценка 10. | ||
− | + | 24 июня будет экзамен сразу по всему курсу. Итоговая оценка вычисляется как (0.4 × зкзамен + 0.6 × накоп). Перед экзаменом будет объявлен порог накопленных баллов, выше которого студент имеет право автоматом получить накопленную оценку как итоговую и не приходить на экзамен. Ожидается, что порог будет около оценки 8, но это не точно. | |
= Настройка рабочего окружения = | = Настройка рабочего окружения = | ||
Строка 202: | Строка 217: | ||
===Docker для пользователей MacOS (intel based)=== | ===Docker для пользователей MacOS (intel based)=== | ||
− | ''' | + | '''Проверялось на MacOS BigSur и Monterey''' |
Загрузить сам докер можно отсюда: [https://docs.docker.com/get-docker/ тык] | Загрузить сам докер можно отсюда: [https://docs.docker.com/get-docker/ тык] | ||
Строка 224: | Строка 239: | ||
Предварительно надо установить Curl, если вы этого не сделали ранее: <code><nowiki>sudo apt install curl</nowiki></code> | Предварительно надо установить Curl, если вы этого не сделали ранее: <code><nowiki>sudo apt install curl</nowiki></code> | ||
− | Для этого переходим в терминале в домашнюю папку и выполняем установку | + | Для этого переходим в терминале в домашнюю папку и выполняем установку следующими командами: |
:- <code><nowiki>curl -fsSL https://raw.githubusercontent.com/nagygergo/jetbrains-toolbox-install/master/jetbrains-toolbox.sh | bash</nowiki></code> | :- <code><nowiki>curl -fsSL https://raw.githubusercontent.com/nagygergo/jetbrains-toolbox-install/master/jetbrains-toolbox.sh | bash</nowiki></code> | ||
:- <code><nowiki>cd /opt/jetbrains-toolbox</nowiki></code> | :- <code><nowiki>cd /opt/jetbrains-toolbox</nowiki></code> |
Текущая версия на 22:36, 29 июня 2022
Содержание
Важные ссылки
Чаты групп
Группа | Telegram-чат |
---|---|
БПМИ201 | https://t.me/joinchat/LnOwQ-Z6HAo2OTg6 |
БПМИ202 | https://t.me/joinchat/OMRB-ZOwXXBhODBi |
БПМИ203 | https://t.me/joinchat/kyFY_eIp60cyODRi |
БПМИ204 | https://t.me/joinchat/RTey5l_q9LMyODIy |
БПМИ205 | https://t.me/joinchat/jw2Z5v5R0Es3OTli |
БПМИ206 | https://t.me/joinchat/eH0j31yf0QZkNGIy |
БПМИ207 | https://t.me/joinchat/pVQNC9kwwfFiYWRi |
БПМИ208 | https://t.me/joinchat/C7Wj_Cz-swUzZDEy |
БПМИ209 | https://t.me/joinchat/cuqnvg2qofYyOTky |
БПМИ2010 | https://t.me/joinchat/gyvWlC31TZ83NmNi |
Страница семинаров 207 группы
GitHub семинаров 208 группы
GitHub семинаров 204 группы
Преподаватели и учебные ассистенты
Группа | Семинарист | Ассистенты |
---|---|---|
БПМИ201 | Александр Мыльцев | Наби Гитинов, Игорь Балюк |
БПМИ202 | Игорь Минеев | Владислав Хохлов |
БПМИ203 | Раиль Чабдаров | Шамиль Аюпов, Александр Шитов |
БПМИ204 | Роман Курынин | Никита Насонков, Иван Лущ |
БПМИ205 | Алексей Сальников | Александр Богданов, Даниил Рубин |
БПМИ206 | Юрий Баранов | Вячеслав Бобень, Михаил Стецюк |
БПМИ207 | Михаил Филитов | Вадим Дудкин, Александр Стрыгин |
БПМИ208 | Олег Лёвин | Алиса Вернигор, Кирилл Ахметшин |
БПМИ209 | Сергей Горшков | Егор Гутров, Анастасия Смородинникова |
БПМИ2010 | Александр Раков | Адильхан Кусиденов, Ульяна Виноградова |
Распределение студентов
Распределение студентов по учебным группам
Форма для желающих пройти курс в роли вольнослушателей.
Полезная информация
Материалы
Конспекты от студентки курса: https://curious-sailor-21e.notion.site/3c09a4793eb04e869529c600a33ebc99?v=55c0a11de5164509900fcc92ad7415e4
Слайды с лекций
- 10 декабря:
Как устроен курс
Курс идёт три модуля, со второго по четвёртый. Раз в неделю читается две лекции, после них, как правило, выдаётся ДЗ — 5 задач начальной стоимостью 100 баллов каждая. В общем случае, штраф за неверную посылку - 1 балл (но лучше ориентироваться на Run penalty).
Дедлайны: через 2 недели после лекции (23:59:59 четверга) стоимость задач уменьшается до 50 баллов, ещё через 2 недели — до 20 баллов. Такая стоимость остаётся до конца курса.
Примерно раз в три недели вместо одной из лекций происходит контрольная.
За работу на семинарах преподаватель выставляет семинарские баллы на своё усмотрение. Можно посещать семинары любых групп в любом количестве. За каждую неделю (от лекции до лекции) студент может получить в совокупности не более 200 семинарских баллов.
Набрано баллов | Накопленная оценка |
---|---|
0 | 1 |
1500 | 2 |
2500 | 3 |
4500 | 4 |
7000 | 5 |
9500 | 6 |
Шкала оценок 6..10 устроена следующим образом: берётся максимальный суммарный балл max=17776 за решение ДЗ и КР (без бонусов), набранный хотя бы одним студентом. Диапазон score_range = 9500..17776 разбивается на 5 градаций [T6, T7, T8, T9, T10], каждая шириной в (max - 9500) / 5 баллов.
Накопленная оценка выставляется так. Для каждого студента берётся полная сумма баллов personal_sum с учётом ДЗ (включая бонусные), КР и семинарские баллы.
- Если personal_sum меньше 9500, то в соответствии с таблицей выставляется оценка 1..5.
- Если personal_sum попадает в интервал score_range, то выставляется оценка соответствующей градации.
- Иначе выставляется накопленная оценка 10.
24 июня будет экзамен сразу по всему курсу. Итоговая оценка вычисляется как (0.4 × зкзамен + 0.6 × накоп). Перед экзаменом будет объявлен порог накопленных баллов, выше которого студент имеет право автоматом получить накопленную оценку как итоговую и не приходить на экзамен. Ожидается, что порог будет около оценки 8, но это не точно.
Настройка рабочего окружения
Виртуальная машина (VirtualBox)
Рекомендуется скачать образ и установить его в эмулятор VirtualBox. Логин-пароль xubuntu/xubuntu, можно делать sudo.
Виртуальная машина (qemu)
Проверялось только на MacOS 11.6.1.
- Установите qemu:
brew install qemu
- Загрузите и распакуйте архив с образом FS:
wget -O xubuntu_caos_2021.qcow2.tar.gz https://caos.myltsev.ru/xubuntu_caos_2021.qcow2.tar.gz && \ tar zxvf xubuntu_caos_2021.qcow2.tar.gz
- Запустите VM:
QEMU_PATH=/usr/local/Cellar/qemu/6.1.0_1/bin/qemu-system-x86_64 FS_IMAGE_PATH=xubuntu_caos_2021.qcow2 CPU_COUNT=2 MEMORY_MB=2048 ${QEMU_PATH} \ -smp ${CPU_COUNT} \ -m ${MEMORY_MB} \ -name xubuntu_caos_2021 \ -hda ${FS_IMAGE_PATH} \ -accel hvf \ -vga virtio \ -display default,show-cursor=on \ -usb \ -device usb-tablet
Отобрать курсор у QEMU: Ctrl+Alt+G
Перейти в full-screen mode можно:
- - передав опцию
--full-screen
при старте VM - - выбрав в меню
View->Full Screen
Получение доступа к учебному серверу
Если не получается настроить виртуальную машину (например, на Mac M1), то можно получить доступ к учебному серверу по ssh. Для этого необходимо сгенерировать ssh-ключ и заполнить Google-форму.
Инструкции по генерации ssh-ключа: от git-scm, от github.
Библиотека ввода-вывода
Библиотека ввода-вывода для ассемблера x86: simpleio_i686.S
Внутри виртуальной машины её можно скачать командой wget https://caos.myltsev.ru/simpleio_i686.S
Если получаете сообщение, что Wget не установлен на вашей системе (на Ubuntu Desktop по умолчанию нет), то установите его следующей командой: sudo apt install wget
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), а компилить и запускать в докере через терминал.
Если будут трудности, то можно писать мне в тг, постараюсь помочь.
Установка Clion в Linux-подобные системы
Проверялось на Ubuntu 20.04.03 LTS и 21.10
Я рекомендую устанавливать в Linux системы IDE от Jetbrains через их утилиту Jetbrains Toolbox, чтобы было проще в дальнейшем обновляться.
Предварительно надо установить Curl, если вы этого не сделали ранее: sudo apt install curl
Для этого переходим в терминале в домашнюю папку и выполняем установку следующими командами:
- -
curl -fsSL https://raw.githubusercontent.com/nagygergo/jetbrains-toolbox-install/master/jetbrains-toolbox.sh | bash
- -
cd /opt/jetbrains-toolbox
- -
./jetbrains-toolbox
Теперь установим всё необходимое, чтобы у нас нормально работал Clion после установки:
- -
sudo apt-get install build-essential
- -
sudo snap install cmake --classic
Далее нужно установить оттуда Clion и авторизоваться в нём, интерфейс утилиты дружелюбный и интуитивно понятный.
Если будут трудности, то можно писать мне в тг, постараюсь помочь.