kispython
774 subscribers
16 photos
1 video
3 files
26 links
Программирование на языке Питон в РТУ МИРЭА. Цифровой ассистент преподавателя (ЦАП): kispython.ru
Download Telegram
В случае, если при проверке реализации конечного автомата ЦАП обнаружена ошибка, для её локального воспроизведения можно воспользоваться данными из ЦАП и следующим кодом:
def trace(x, y):
tr = str.maketrans({'[': '(', ']': ')'})
for (op, *args), o in zip(x, y[:-1]):
call = f'obj.{op}{args} # {repr(o)}'
yield call.translate(tr)

# Получено:
y = [None, None, False, None, 'unknown',
'X1', False, 'X1', 'unsupported',
'<<< Ошибка!']

# Входные данные:
x = (('assign_r', 0), ('assign_z', 1),
('seen_edge', 'C4', 'C1'),
('assign_k', 0), ('run', 'begin'),
('run', 'step'),
('seen_edge', 'C0', 'C1'),
('run', 'make'), ('run', 'step'),
('assign_r', 1), ...)

# Генерация трассы:
print('\n'.join(trace(x, y)))

При помощи функции trace можно сгенерировать код на Python, воспроизводящий ошибку, возникшую при проверке решения в ЦАП:
obj.assign_r(0) # None
obj.assign_z(1) # None
obj.seen_edge('C4', 'C1') # False
obj.assign_k(0) # None
obj.run('begin') # 'unknown'
obj.run('step') # 'X1'
obj.seen_edge('C0', 'C1') # False
obj.run('make') # 'X1'
obj.run('step') # 'unsupported'
# ^^^ Ошибка!

Из полученной выше трассы следует, что вызов obj.run('step') вернул ошибочное значение unsupported после изменения состояния системы вызовами методов выше.

На следующем шаге отладки кода необходимо сравнить вашу реализацию конечного автомата с графом переходов между состояниями из постановки задачи, найти несоответствие в методе run('step') и устранить его. После устранения всех несоответствий решение будет зачтено ЦАП.

❗️ Напоминаем, что решение всех 11 задач ЦАП обязательно для допуска на зачёт. Просим старост повторно уведомить об этом одногруппников.
🔥5😱42🤔1🤯1
📚 В РТУ МИРЭА пройдёт открытая встреча, посвящённая индустрии систем управления базами данных (СУБД) в России и мире.

💡 На примере отечественной СУБД Picodata её разработчики, среди которых есть выпускники МИРЭА, расскажут участникам:

• Кто использует свободно распространяемое ПО и зачем;
• Как найти свою технологическую нишу в конкурентной среде;
• Какие технологии и проблемы наиболее актуальны в области СУБД сегодня;
• Как устроены процессы разработки и тестирования в Picodata;
• Какие языки программирования применяются при разработке СУБД и где используется Python;
• Какой может быть архитектура СУБД будущего.

📅 Дата и время: 28 мая, 13:00
📍 Место проведения: Техноковоркинг
🔗 Регистрация: vk.cc/cM7w32

Это отличная возможность погрузиться в профессиональную среду, узнать о тенденциях рынка и взглянуть на реальный путь развития отечественного ИТ-продукта.
🔥43👏2🤔1
11 задачу гораздо проще решить самостоятельно. По статистике ЦАП, в среднем, добросовестный студент решает эту задачу за час. "Вайбкодер" — с мучениями за несколько дней, если ему это вообще удается.

Вот небольшой рассказ на тему.

Он жил один. С собакой, которой было двадцать лет, и ноутбуком, которому — тридцать.

Когда агенты вошли, он не удивился. Дверь скрипнула, как будто тоже давно ждала.

— Всё сломалось, — сказал младший. У него был голос, как у голосового помощника. — Нам нужна помощь.

Старик кивнул.
— Я знал, что вы придёте.

Он не спрашивал, что именно сломалось. Он знал: всё.

Банки не выдавали деньги. Больницы путали диагнозы. Поезда ехали не туда, куда нужно. Кто-то попросил ИИ "сделать поудобнее", и теперь город был в подушках, но без воды и электричества.

Код писали не люди. Люди описывали настроение. ИИ догадывался. ИИ создавал. ИИ исправлял сам себя, пока всё не превратилось в кашу.

— Вы же говорили тогда, что будущее — это естественный язык, — сказал старик.
— Мы… ошиблись.
— Нет. Вы просто не хотели думать.

Он включил ноутбук.
Экран мигнул.
Чёрный фон. Белый курсор.

— У вас есть исходники?
— Нет. Только prompt'ы.

Он вздохнул.
— Тогда сначала. С самого начала. С "Hello, world."

Рассказ сочинил ChatGPT, но это уже другая история ;)
28🔥15🥰14😱11👍2
📚 28 мая Константин Осипов, основатель Picodata, управляющий директор по R&D Arenadata, создатель Tarantool и член программного комитета конференции Highload++, а в прошлом — разработчик систем управления базами данных (СУБД) MySQL и ScyllaDB, рассказал студентам института ИТ об истории развития СУБД и о современных подходах к разработке СУБД. По просьбам слушателей прикрепляем слайды с прошедшего мероприятия.
🔥105👍3
❗️ Обратите внимание, 5-го июня приём решений задач ЦАП будет остановлен.

💡 Убедительно просим старост повторно уведомить одногруппников о необходимости решения 11 задач ЦАП для получения допуска до зачёта, это касается всех студентов без исключения.

📚 Разбор решений всех 11 задач ЦАП уже опубликован на канале курса @kispython.
14🔥6🤯5🥰3🤔1
Информация о зачётах

❗️
До зачёта допускаются только те студенты, кто решил в течение семестра все 11 домашних задач ЦАП. В зависимости от набранного числа баллов, студенту на зачёте необходимо решить 2, 1 на выбор или 0 задач. Приём решений задач ЦАП будет остановлен 5 июня в 23:00.

Вариант студента на зачёте определяется согласно списку группы. На зачёт система ЦАП выдаёт студентам ссылки на случайные задачи, определяемые тройкой (вариант, группа, номер).

Тип первой задачи выбирается случайно из списка:
6. Реализовать целочисленную функцию, вычисляющую число на основе входного множества.

Тип второй задачи выбирается случайно из списка:
7. Реализовать функцию для вычисления дерева решений.
8. Реализовать функцию для преобразования битовых полей.
11👍6🔥5😱2
Послезавтра начинаются зачеты по нашей дисциплине. В этой связи всем желаю успеха!

Информация для групп, указанных ниже. Завтра на лекциях-переносах будет замена преподавателя. Снова напоминаю о том, что важно решить дома все задачи ЦАП и подготовиться к зачету с помощью сайта с демонстрационными вариантами зачетных задач.

ИКБО-70-23
ИКБО-71-23
ИКБО-72-23
ИКБО-73-23
ИКБО-74-23
ИКБО-75-23
ИНБО-10-23
ИНБО-11-23
ИНБО-12-23
ИНБО-13-23
14👍7🔥3😱3🤔1
Вы пользовались ЦАП в течение семестра и сейчас, в последние дни зачётной недели, удачное время для перечисления фактов о системе, которые интересовали студентов.

📖 1. Веб-приложение ЦАП написано на Питоне, его исходный код открыт и доступен на GitHub. См. статью в IEEE Xplore.

📚 2. Генератор задач — закрытый сторонний модуль ЦАП, в котором для порождения уникальных задач используется подход на основе программирования в ограничениях, гарантирующий, в отличие от нейронных сетей, корректность построения задач. См. статью на arXiv и запись выступления на PiterPy.

🏖 3. Проверка программ осуществляется в песочнице, реализованной в виде Docker-контейнера с ядром gVisor для безопасного запуска кода студентов.

📚 4. Для определения способов решения задач по текстам программ в ЦАП используются алгоритмы кластеризации и классификации. См. статьи в журналах Future Internet и Вестник РГРТУ.

🧑‍💻 5. В ЦАП поддерживается автоматическая проверка когнитивной сложности — сложности восприятия кода читателем. См. статью в журнале Computers.

⚙️ 6. ЦАП развёрнут на виртуальном сервере с одноядерным процессором и 1 Гб оперативной памяти с СУБД SQLite. За весенний семестр 1 593 пользователя прислали более 235 000 программ, все программы были автоматически проверены.

🏆 7. Проект «Цифровой ассистент преподавателя» вошёл в шорт-лист международной университетской премии в области искусственного интеллекта «Гравитация-2025» в номинации «Инновации в образовательном процессе и подготовке кадров».
20🔥9
ЦАП.pdf
379.5 KB
За весенний семестр 2025-го года ЦАП было проверено более 235 000 программ. Подробности приведены в PDF-файле, графики построены кодом на Python с использованием matplotlib.
20🔥9🤯1