spelinichenko / hse_caos_practice

Practice pages for HSE CAOS (Computer Architecture and Operating Systems)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Странички семинаров по курсу CAOS (Computer Architecture and Operating Systems) HSE

Проекты

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

Страничка с проектами: проекты

Прошлогодние проекты: проекты

Темы текущего года

  1. [конспект][youtube][vk] - Терминал. vim. tmux.
  2. [конспект][youtube][vk] - Язык ассемблера. Представление целых чисел. Сдвиги. GDB.
  3. [конспект][youtube][vk] - Переменные и массивы. Стек. Cdecl. Запуск asm+c и asm+c++ кода.
  4. [конспект][youtube][vk] - Lea, строки, части регистров, switch.
  5. [конспект][youtube][vk] - Указатели на функции. Variadic functions.
  6. [конспект][youtube][vk] - Си. Printf/scanf, неожиданные последствия UB, буферизация, атака переполнением буфера, работа со строками используя арифметику указателей.
  7. [конспект][youtube][vk] - Си. Работа с динамической памятью. malloc/calloc/realloc. Brk/Sbrk. OOM-killer.
  8. [конспект][youtube][vk] - Кодировки. Unicode, UTF-8, KOI8-R. Как работают emoji.
  9. [конспект][youtube][vk] - IEEE754, float/double, разбираемся в битах, смотрим на 0.1+0.2 != 0.3
  10. [конспект][youtube][vk] - GDB. Break, watch. Встроенный питон. Обратный дебаг. Pretty printers.

Консультации

  1. youtube - секции кода, представление чисел, гдб

Прошлые года

2021 год. 207 группа

2022 год. 216 группа

Правила игры

Форматирование ASM

  1. В одном блоке кода (участок кода отделенный новой строкой сверху и снизу) между командами и аргументами должен быть отступ одного размера. Отступ должен быть сделан табом, а не пробелом. То есть все аргументы должны быть выравнены.
        pushl   %ebp
        movl    %esp, %ebp

        subl    $4, %esp
        and     $-16, %esp
        leal    -4(%ebp), %eax

Реджекты

Сданный код проходит тестирование в тестирующей системе, а затем проверяется глазами семинариста и ассистентов.

Прошедший тесты код может быть отправлен на исправление (получен статус reject), если решение является неоптимальным, если нарушает условия, установленные в задаче или если нарушает форматирование.

Списывание

Проверка на списывание запускается в случайное время. При обнаружении списывания обнуляется ВЕСЬ контест и составляется записка в УО.

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

Если вы берете код из общедоступного источника, то нужно прикладывать ссылку на этот источник и пояснять комментариями код, чтобы было видно, что вы этот код понимаете.

Полезные ссылки

Материалы

Тулзы

Файлы

About

Practice pages for HSE CAOS (Computer Architecture and Operating Systems)

License:MIT License


Languages

Language:C 65.3%Language:Assembly 25.0%Language:C++ 8.5%Language:Makefile 0.7%Language:Shell 0.3%Language:Python 0.1%Language:GDB 0.0%